Uwagi dotyczące modernizacji usługi bazy danych Microsoft SQL z wysoką dostępnością w AWS

29 czerwca 2022

Wiele organizacji posiada aplikacje, które wymagają programu Microsoft SQL Server do obsługi obciążeń relacyjnych baz danych: niektóre aplikacje mogą być oprogramowaniem własnościowym, którego dostawca upoważnia program Microsoft SQL Server do uruchamiania usługi bazy danych; inne aplikacje mogą być długoletnimi, lokalnymi aplikacjami, które zawierały Microsoft SQL Server, gdy były pierwotnie tworzone.

Kiedy organizacje migrują aplikacje do AWS, często zaczynają od podejścia „lift-and-shift” i uruchamiają usługę bazy danych Microsoft SQL w Amazon Elastic Compute Cloud (Amazon EC2). Powodem takiego rozwiązania może być wybór tego, z czym są najbardziej zaznajomieni.

W tym artykule twórcy dzielą się opcjami architektury, aby zmodernizować usługę bazy danych Microsoft SQL i uruchomić wysoce dostępne relacyjne usługi danych na Amazon EC2, Amazon Relational Database Service (Amazon RDS) i Amazon Aurora (Aurora).

Uruchamianie usługi bazy danych Microsoft SQL w Amazon EC2 o wysokiej dostępności

Ta opcja jest najmniej inwazyjna dla istniejących modeli operacyjnych. Umożliwia szybkie rozpoczęcie modernizacji usługi bazy danych Microsoft SQL poprzez wykorzystanie chmury AWS do zarządzania usługami, takimi jak obiekty fizyczne. Zadania operacyjne infrastruktury niskiego poziomu – takie jak szafa serwerowa, stos i konserwacja – są zarządzane przez AWS. Dzięki temu Ty posiadasz pełną kontrolę nad bazą danych i dostępem na poziomie systemu operacyjnego, więc dysponujesz wyborem narzędzi do zarządzania systemem operacyjnym, oprogramowaniem bazy danych, poprawkami, replikacją danych, tworzeniem kopii zapasowych i przywracaniem.

Możesz użyć dowolnej technologii replikacji obsługiwanej przez Microsoft SQL Server z bazą danych Microsoft SQL Server w Amazon EC2, aby osiągnąć wysoką dostępność, ochronę danych i odzyskiwanie po awarii. Typowe rozwiązania obejmują przesyłanie dzienników, dublowanie bazy danych, Always On availability groups i Always On Failover Cluster Instances.

Wysoka dostępność w pojedynczym Regionie

Rysunek nr 1 pokazuje, w jaki sposób można korzystać z Microsoft SQL Server na Amazon EC2 w wielu strefach dostępności (AZ) w obrębie jednego regionu. Połączenia między punktami AZ, które są podobne do komunikacji wewnętrznej w centrum danych, są zarządzane przez AWS. Podstawowa baza danych jest bazą danych do odczytu i zapisu, a pomocnicza baza danych jest skonfigurowana z wysyłaniem dzienników, dublowaniem bazy danych lub zawsze włączonymi grupami dostępności w celu zapewnienia wysokiej dostępności. Wszystkie dane transakcyjne z podstawowej bazy danych są przesyłane i mogą być stosowane asynchronicznie do pomocniczej bazy danych w celu wysyłania dzienników, a także asynchronicznie lub synchronicznie w przypadku grup dostępności Always On availability i dublowania.

Wysoka dostępność w jednym regionie dzięki usłudze bazy danych Microsoft SQL na Amazon EC2

Rysunek 1: Wysoka dostępność w jednym regionie dzięki usłudze bazy danych Microsoft SQL na Amazon EC2

Wysoka dostępność w wielokrotnych Regionach

Rysunek nr 2 pokazuje, jak skonfigurować wysoką dostępność dla Microsoft SQL Server w Amazon EC2 w wielokrotnych regionach. Pomocniczy Microsoft SQL Server w innym regionie niż główny jest skonfigurowany z wysyłaniem dzienników, dublowaniem bazy danych lub grupami dostępności Always On availability w celu zapewnienia wysokiej dostępności. Dane transakcyjne z podstawowej bazy danych są przesyłane za pośrednictwem w pełni zarządzanej sieci szkieletowej AWS w Regionach.

Wysoka dostępność w wielu regionach dzięki usłudze bazy danych Microsoft SQL w Amazon EC2

Rysunek 2: Wysoka dostępność w wielu regionach dzięki usłudze bazy danych Microsoft SQL w Amazon EC2

Replatforming Microsoft SQL Database Service na Amazon RDS z wysoką dostępnością

Amazon RDS to zarządzana usługa bazy danych, odpowiedzialna za większość zadań związanych z zarządzaniem. Obecnie obsługuje wdrożenia Multi-AZ dla SQL Server przy użyciu SQL Server Database Mirroring (DBM) lub Always On Availability Groups (AGs) jako rozwiązanie do przełączania awaryjnego o wysokiej dostępności.

Wysoka dostępność w pojedynczym Regionie

Rysunek nr 3 pokazuje, że usługa bazy danych Microsoft SQL działająca na Amazon RDS jest skonfigurowana z modelem wdrażania multi-AZ w jednym regionie. Wdrożenia Multi-AZ zapewniają zwiększoną dostępność, trwałość danych i odporność na awarie dla instancji DB. W przypadku planowanej konserwacji bazy danych lub nieplanowanych przerw w świadczeniu usług, Amazon RDS automatycznie przełącza się do aktualnej dodatkowej instancji bazy danych. Ta funkcja umożliwia szybkie wznowienie operacji bazy danych bez ręcznej interwencji. Wystąpienia podstawowe i rezerwowe korzystają z tego samego punktu końcowego, którego fizyczny adres sieciowy przechodzi do repliki pomocniczej w ramach procesu przełączania awaryjnego. Nie musisz ponownie konfigurować aplikacji, gdy nastąpi przełączenie awaryjne. Amazon RDS obsługuje wdrożenia Microsoft SQL Server w wielu strefach AZ, korzystając z dublowania bazy danych SQL Server lub grup dostępności Always On availability.

Wysoka dostępność w jednym regionie dzięki usłudze bazy danych Microsoft SQL na Amazon RDS

Rysunek 3: Wysoka dostępność w jednym regionie dzięki usłudze bazy danych Microsoft SQL na Amazon RDS

Wysoka dostępność w wielokrotnych Regionach

Rysunek nr 4 przedstawia, w jaki sposób można użyć usługi migracji bazy danych AWS (AWS DMS) do skonfigurowania ciągłej replikacji między usługą bazy danych Microsoft SQL na Amazon RDS w wielu regionach. AWS DMS wymaga włączenia Microsoft Change Data Capture w Amazon RDS dla instancji Microsoft SQL Server. W przypadku wystąpienia problemów można zainicjować ręczne przełączanie awaryjne i przywrócić usługi bazy danych, promując replikę do odczytu Amazon RDS w innym regionie.

High availability across multiple Regions with Microsoft SQL database service on Amazon RDS

Rysunek 4: Wysoka dostępność w wielu regionach dzięki usłudze bazy danych Microsoft SQL na Amazon RDS

Refaktoryzacja usługi bazy danych Microsoft SQL w Amazon Aurora o wysokiej dostępności

Ta opcja pomaga wyeliminować koszt licencji na usługę bazy danych SQL. Możesz uruchomić usługę bazy danych w prawdziwie natywnej dla chmury nowoczesnej architekturze bazy danych. Możesz użyć narzędzia AWS Schema Conversion Tool, aby pomóc w ocenie i konwersji kodu bazy danych i obiektów pamięci masowej. Wszelkie obiekty, których nie można automatycznie przekonwertować, są wyraźnie oznaczone, dzięki czemu można je ręcznie przekonwertować w celu zakończenia migracji.

Architektura Aurora polega na rozdzieleniu pamięci i obliczeń. Aurora zawiera kilka funkcji wysokiej dostępności, które dotyczą informacji w zawartych w Twoim klastrze bazy danych. Dane pozostają bezpieczne, nawet jeśli niektóre lub wszystkie wystąpienia bazy danych w klastrze staną się niedostępne. Inne funkcje wysokiej dostępności dotyczą instancji DB. Te funkcje pomagają upewnić się, że co najmniej jedna instancja bazy danych jest gotowa do obsługi żądań bazy danych z aplikacji.

Wysoka dostępność w pojedynczym Regionie

Rysunek nr 5 przedstawia, że Aurora przechowuje kopie danych w klastrze bazy danych w wielu AZ w jednym regionie. Gdy dane są zapisywane w podstawowej instancji bazy danych, Aurora synchronicznie replikuje dane między AZ do sześciu węzłów magazynowania powiązanych z woluminem klastra. Zapewnia to nadmiarowość danych, eliminuje zawieszanie się operacji I/O i minimalizuje skoki opóźnień podczas tworzenia kopii zapasowych systemu. Uruchamianie instancji bazy danych o wysokiej dostępności może zwiększyć dostępność podczas planowanej konserwacji systemu, takiej jak aktualizacje silnika bazy danych oraz pomóc chronić bazy danych przed awariami i zakłóceniami AZ.

Wysoka dostępność w jednym regionie dzięki Amazon Aurora

Rysunek 5: Wysoka dostępność w jednym regionie dzięki Amazon Aurora

Wysoka dostępność w wielokrotnych Regionach

Rysunek nr 6 przedstawia sposób konfigurowania globalnych baz danych Aurora w celu zapewnienia wysokiej dostępności w wielu regionach. Globalna baza danych Aurora składa się z jednego Regionu podstawowego, w którym zapisywane są Twoje dane, oraz maksymalnie pięciu Regionów pomocniczych tylko do odczytu. Wykonujesz operacje zapisu bezpośrednio do klastra głównej bazy danych w Regionie podstawowym. Aurora automatycznie replikuje dane do regionów pomocniczych przy użyciu dedykowanej infrastruktury, z opóźnieniem zwykle poniżej sekundy.

Wysoka dostępność w wielu regionach dzięki globalnym bazom danych Amazon AuroraRysunek 6: Wysoka dostępność w wielu regionach dzięki globalnym bazom danych Amazon Aurora

Podsumowanie

Możesz wybierać spośród opcji Amazon EC2, Amazon RDS i Amazon Aurora podczas modernizacji usługi bazy danych SQL w AWS. Zrozumienie cech wymaganych przez biznes oraz zakresu odpowiedzialności za zarządzanie usługami to dobre punkty wyjścia. Po przedstawieniu wielu opcji, które spełniają potrzeby biznesowe, wybierz tę, która pozwoli bardziej skoncentrować się na aplikacji, biznesowych możliwościach tworzenia wartości dodanej i pomoże zmniejszyć „całkowity koszt posiadania” usług.

źródło: AWS

Case Studies
Referencje

Firma Hostersi pozwoliła nam osadzić ogólne zagadnienia programu Well Architected Framework w kontekście naszej firmy. Oszczędziło nam to wiele czasu i pozwoliło znaleźć lepiej dopasowane rozwiązania do specyfiki naszego biznesu. WAF był świetnym katalizatorem do wprowadzenie szeregu zmian w obszarze niezawodności, szybkości i bezpieczeństwa edrone. 

Piotr Stachowicz
CTO
W skrócie o nas
Specjalizujemy się w dostarczaniu rozwiązań IT w obszarach projektowania infrastruktury serwerowej, wdrażania chmury obliczeniowej, opieki administracyjnej i bezpieczeństwa danych.