2014-09-26 19 views
6

Mamy aplikację internetową na Windows Server i SQL Server i chcemy przenieść ją do Amazon AWS.Amazon AWS RDS vs EC2 z SQL Server

Będziemy mieć serwer Windows EC2 z IIS, ale mamy pytanie, czy lepiej mieć bazę danych SQL Server RDS, czy lepiej mieć EC2 w pakiecie z SQL Server.

Dla wydajności i replikacji, co polecacie?

Doceniam twoją pomoc.

+0

Zawsze miałbym oddzielną infrastrukturę serwerową dla bazy danych i serwera aplikacji, ponieważ będą one musiały być skalowane różnymi czynnikami. Zwłaszcza jeśli chcesz mieć Master-Slave w replikacji DB, zdecydowanie skorzystałbym z RDS. Jeśli potrzebujesz master-master lub umiejętności pisania na slvach, RDS nie spełni tych kryteriów. –

Odpowiedz

2

Najlepszym rozwiązaniem jest utrzymywanie DB i warstwy internetowej na oddzielnych komputerach, więc instancja EC2 dla IIS i RDS dla bazy danych działałaby dobrze.

Można również użyć dwóch instancji EC2, jednej dla IIS i jednej dla DB - która również będzie działać.

RDS to prawdopodobnie najlepsza opcja, jeśli nie bierzesz pod uwagę ceny - nie znając ruchu na swojej stronie, jak ważna jest DB (tzn. Czy możesz pozwolić sobie na 8-godzinny spadek? tracisz ostatnie 15 minut na zmiany db itp.), nie ma właściwej odpowiedzi ... Twój budżet i twoje wymagania będą decydującymi czynnikami ...

Wszystko, co powiedziałem, mam kilka witryn o małym natężeniu ruchu, które działają z Usługi IIS i SQL Server wyrażają się na pojedynczej instancji EC2 i działają bez zarzutu - i są bardzo przystępnym cenowo i łatwym sposobem na uzyskanie AWS, z opcją ulepszenia tej konfiguracji, gdy pozwala na to budżet, a ruch na to pozwala.

+0

Uzgodnione, EC2 zdecydowanie daje większą kontrolę nad kosztami AWS. Prawdopodobnie istnieją ważne przypadki użycia, w których serwery baz danych mogą być wyłączane w nocy. Łatwo jest zapewnić bezpieczeństwo danych dzięki zaplanowanym migawkom AMI. –

5

Zakładając, że IIS jest na jednej instancji EC2 i SQL na innym EC2 vs RDS ...

RDS wydajność vs wydajność EC2 vs cena wydaje płyn ale jest jeden poważny wpływ na użytkowników programu Microsoft SQL Server i RDS, które mogą pomóc w podjęciu decyzji.

Nie można użyć funkcji Kopia zapasowa/Przywracanie, aby przenosić bazy danych do i z systemu RDS.

Jeśli to ma znaczenie, EC2 to jedyna droga.

Oczywiście istnieje wiele opcji innych niż tworzenie kopii zapasowych/przywracania, w tym przyzwoita migracja danych zaprojektowana do pracy z Azure, która działa również z usługą RDS, ale często kończy się niepowodzeniem w niektórych złożonych środowiskach.

+0

Od lipca 2016 natywne tworzenie kopii zapasowych/przywracanie jest obsługiwane przez SQL Server RDS z pewnymi ograniczeniami. patrz http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/SQLServer.Procedural.Importing.html – Khonsort

9

Niedawno przeprowadziliśmy migrację bazy danych SQL z niektórymi problemami z zakleszczeniem do AWS i uważnie przyjrzeliśmy się AWS - nie było to dla nas dopasowane ze względu na ogromne ryzyko wydajności w stosunku do zakleszczeń vis, więc udaliśmy się z instancjami EC2. Użytkownicy byli bardzo zadowoleni z wydajności.

Z perspektywy wydajności oferowane przez Amazon funkcje IOPS są doskonałe i są dostępne zarówno w RDS, jak i na serwerach EC2. RDS ma również zabójcze automatyczne funkcje tworzenia kopii zapasowych. To naprawdę skonfigurowany i zapomnieć system.

AWS RDS does not support Replikacja serwera SQL. Jeśli chcesz powielić coś ze swojej witryny do instancji AWS, możesz użyć instancji bazowej systemu Windows Server z własną licencją ISO/licencją na serwer SQL lub użyć bardziej zaawansowanego AMI EC2 opartego na SQL Server.RDS ma własny system replikacji, który będzie obsługiwał replikację do innej instancji RDS (nawet w innej strefie dostępności), aby zwiększyć odporność lub zautomatyzować przełączanie awaryjne. Za pomocą usługi RDS można również przetoczyć własną witrynę do replikacji migawek w chmurze, korzystając z usługi bcp w ramach usługi przedpremierowej, ale może to wymagać zmiany aplikacji lub schematu.

Kilka zalet okazało się za pomocą instancji EC2 nad RDS:

  • Z instancji EC2, masz administratora, na przykład bazy danych i administratora na bazowym systemie Windows Server. RDS nie pozwala na to, a w rzeczywistości z RDS tracisz dostęp do powłoki i podstawowych narzędzi administracyjnych Windows Server. Oznacza to, że użytkownik wykroił niektóre podstawowe narzędzia do zarządzania wydajnością: Monitor systemu, tracerpt.exe, Menedżer zasobów systemu Windows itp.

  • W przypadku instancji EC2 można użyć agenta serwera SQL do uruchamiania zadań zawierających wiersz poleceń lub skrypty powershell. RDS nie pozwala na to.

+0

Agent SQLServer jest dostępny na RDS. patrz http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.CommonDBATasks.Agent.html – Khonsort

+0

@Khonsort tak, i jak podano w twoim łączu: _ "Ponieważ SQL Server Agent działa na zarządzanym hoście w instancji DB, jest kilka akcji, które nie są obsługiwane. Uruchomienie zadań replikacji i uruchomienie polecenia- skrypty linii za pomocą ActiveX, powłoki poleceń Windows lub Windows PowerShell nie są obsługiwane. "_ –

1

sekretarki po doświadczeniu zarówno - jeśli wszystko nowa baza danych -Świeże rozwoju (brak danych poziom produkcji) - nie ma potrzeby, aby myśleć i po prostu iść z RDS.

Ale jeśli działa z istniejącą aplikacją i bazą danych. Najprostszym sposobem jest SqlServer Instance na EC2. dzięki temu zaoszczędzisz wiele kłopotów związanych z typami danych, które nie są obsługiwane przez RDS. Przeniesienie istniejących danych do RDS może być dużym problemem. Nauczyłem się lekcji na swój sposób. I w końcu za pomocą instancji serwera sql ec2.

+0

Bardzo interesujące. Czy używasz niestandardowych typów danych? Czy masz link do treści dotyczących tego problemu? –

1

Musisz zdecydowanie iść z RDS. Przenoszenie istniejących danych do RDS kiedyś wielki ból dla nas, zanim okazało się, że narzędzie Cloudbasic SQL RDS AlwaysOn na AWS Marketplace:

https://aws.amazon.com/marketplace/pp/B00OU0PE5M/ref=_ptnr_blg_’blg4’

Narzędzie to zostało zaprojektowane do ciągłego geo-powtórzenia RDS z jednego region do innego dla HA/DR i raportowania. Może być również wykorzystywany do przenoszenia danych do systemu RDS i poza nim. Najlepsze jest to, że obsługuje replikację instancji DB dla SQL Server Web Edition. Można nawet replikować dane z SQL Standard do edycji sieci Web, od SQL 2008 do 2014 itd.

Kolejnym powodem, dla którego RDS jest zalecany w stosunku do EC2 z SQL Server, jest funkcja HA z wieloma AZ. Należy jednak pamiętać, że działa tylko w kosztownych wersjach Standard i Enterprise, a replika nie jest dostępna (jest przeznaczona dla mySQL i Oracle, ale nie dla SQL Server). Nie można go używać do raportowania. Po prostu wiesz, że tam jest, ale nie może uzyskać do niego dostępu. Multi-AZ działa tylko w regionie AWS. Jeśli nie masz nic przeciwko kosztom i ograniczeniom, zdecydowanie zalecamy. Alternatywnie możesz użyć narzędzia Cloudbasic do ciągłej replikacji edycji RDS SQL Web z np. Twojego podstawowego AWS Virginia RDS do RDS w Oregonie w celu raportowania i DR. I kosztuje dużo mniej w porównaniu do RDS Multi-AZ z SQL Standard.

Powiązane problemy