Migrieren von SQL Server zu AWS mithilfe verteilter Verfügbarkeitsgruppen - AWS Prescriptive Guidance

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Migrieren von SQL Server zu AWS mithilfe verteilter Verfügbarkeitsgruppen

Erstellt von Praveen Marthala (AWS)

Quelle: SQL Server On-Premises

Ziel: SQL Server auf EC2

R-Typ: Hostwechsel

Umgebung: PoC oder Pilotprojekt

Technologien: Datenbanken; Migration

Workload: Microsoft

AWS-Services: Amazon EC2

Übersicht

Microsoft SQL Server Always On-Verfügbarkeitsgruppen bieten eine Hochverfügbarkeitslösung (HA) und eine Notfallwiederherstellungslösung (DR) für SQL Server. Eine Verfügbarkeitsgruppe besteht aus einem primären Replikat, das Lese-/Schreibdatenverkehr akzeptiert, und bis zu acht sekundären Replikaten, die Lesedatenverkehr akzeptieren. Eine Verfügbarkeitsgruppe ist auf einem Windows Server Failover Cluster (WSFC) mit zwei oder mehr Knoten konfiguriert.

Microsoft SQL Server Always On verteilte Verfügbarkeitsgruppen bieten eine Lösung zum Konfigurieren von zwei separaten Verfügbarkeitsgruppen zwischen zwei unabhängigen WFSCs. Die Verfügbarkeitsgruppen, die Teil der verteilten Verfügbarkeitsgruppe sind, müssen sich nicht im selben Rechenzentrum befinden. Eine Verfügbarkeitsgruppe kann On-Premises und die andere Verfügbarkeitsgruppe in der Amazon Web Services (AWS) Cloud auf Amazon Elastic Compute Cloud (Amazon EC2)-Instances in einer anderen Domain sein. 

Dieses Muster beschreibt die Schritte zur Verwendung einer verteilten Verfügbarkeitsgruppe zur Migration von lokalen SQL Server-Datenbanken, die Teil einer vorhandenen Verfügbarkeitsgruppe sind, zu SQL Server mit auf Amazon EC2 eingerichteten Verfügbarkeitsgruppen. Wenn Sie diesem Muster folgen, können Sie die Datenbanken mit minimalen Ausfallzeiten während des Cutover in die AWS Cloud migrieren. Die Datenbanken sind in AWS unmittelbar nach dem Cutover hochverfügbar. Sie können dieses Muster auch verwenden, um das zugrunde liegende Betriebssystem von On-Premises zu AWS zu ändern und dabei dieselbe Version von SQL Server beizubehalten.

Voraussetzungen und Einschränkungen

Voraussetzungen

  • Ein aktives AWS-Konto

  • AWS Direct Connect oder AWS Site-to-Site VPN

  • Die gleiche Version von SQL Server, die On-Premises und auf den beiden Knoten auf AWS installiert ist

Produktversionen

  • SQL Server Version 2016 und höher

  • SQL Server Enterprise Edition

Architektur

Quelltechnologie-Stack

  • Microsoft SQL Server-Datenbank mit AlwaysOn-Verfügbarkeitsgruppen On-Premises

Zieltechnologie-Stack

  • Microsoft SQL Server-Datenbank mit AlwaysOn-Verfügbarkeitsgruppen auf Amazon EC2 in der AWS Cloud

Migrationsarchitektur

Terminologie

  • WSFC 1 – WSFC On-Premises

  • WSFC 2 – WSFC in der AWS Cloud

  • AG 1 – Erste Verfügbarkeitsgruppe, die sich in WSFC 1 befindet

  • AG 2 – Zweite Verfügbarkeitsgruppe, die sich in WSFC 2 befindet

  • SQL Server-Primärreplikat – Knoten in AG 1, der für alle Schreibvorgänge als globaler Primärknoten betrachtet wird

  • SQL Server Forwarder – Knoten in AG 2, der Daten asynchron vom primären SQL Server-Replikat empfängt

  • Sekundäres SQL Server-Replikat – Knoten in AG 1 oder AG 2, die Daten synchron vom primären Replikat oder vom Forwarder empfangen

Tools

  • AWS Direct Connect – AWS Direct Connect verbindet Ihr internes Netzwerk über ein standardmäßiges Ethernet-Glasfaserkabel mit einem AWS Direct Connect-Standort. Mit dieser Verbindung können Sie virtuelle Schnittstellen direkt zu öffentlichen AWS-Services erstellen, wodurch Internetdienstanbieter in Ihrem Netzwerkpfad umgangen werden.

  • Amazon EC2 – Amazon Elastic Compute Cloud (Amazon EC2) bietet skalierbare Rechenkapazität in der AWS Cloud. Sie können Amazon EC2 verwenden, um so viele oder so wenige virtuelle Server zu starten, wie Sie benötigen, und Sie können auf- oder abskalieren.

  • AWS Site-to-Site VPN – AWS Site-to-Site VPN unterstützt das Erstellen eines site-to-site Virtual Private Network (VPN). Sie können das VPN so konfigurieren, dass der Datenverkehr zwischen Instances, die Sie in AWS starten, und Ihrem eigenen Remote-Netzwerk weitergeleitet wird.

  • Microsoft SQL Server Management Studio – Microsoft SQL Server Management Studio (SSMS) ist eine integrierte Umgebung für die Verwaltung der SQL Server-Infrastruktur. Es bietet eine Benutzeroberfläche und eine Gruppe von Tools mit umfangreichen Skripteditoren, die mit SQL Server interagieren.

Polen

AufgabeBeschreibungErforderliche Fähigkeiten
Erstellen Sie einen WSFC in AWS.

Erstellen Sie WSFC 2 auf Amazon EC2-Instances mit zwei Knoten für HA. Sie verwenden diesen Failover-Cluster, um die zweite Verfügbarkeitsgruppe (AG 2) in AWS zu erstellen.

Systemadministrator, SysOps Administrator
Erstellen Sie die zweite Verfügbarkeitsgruppe auf WSFC 2.

Erstellen Sie mithilfe von SSMS AG 2 auf zwei Knoten in WSFC 2. Der erste Knoten in WSFC 2 fungiert als Weiterleitung. Der zweite Knoten in WSFC 2 fungiert als sekundäres Replikat von AG 2.

Derzeit sind in AG 2 keine Datenbanken verfügbar. Dies ist der Ausgangspunkt für die Einrichtung der verteilten Verfügbarkeitsgruppe.

DBA, Entwickler
Erstellen Sie Datenbanken ohne Wiederherstellungsoption auf AG 2.

Sichern Sie Datenbanken in der On-Premises-Verfügbarkeitsgruppe (AG 1). 

Stellen Sie die Datenbanken sowohl im Forwarder als auch im sekundären Replikat von AG 2 ohne Wiederherstellungsoption wieder her. Geben Sie beim Wiederherstellen der Datenbanken einen Speicherort mit genügend Speicherplatz für die Datenbankdatendateien und die Protokolldateien an.

In dieser Phase befinden sich die Datenbanken im Wiederherstellungsstatus. Sie sind nicht Teil von AG 2 oder der verteilten Verfügbarkeitsgruppe und werden nicht synchronisiert.

DBA, Entwickler
AufgabeBeschreibungErforderliche Fähigkeiten
Erstellen Sie die verteilte Verfügbarkeitsgruppe auf AG 1.

Um die verteilte Verfügbarkeitsgruppe auf AG 1 zu erstellen, verwenden Sie die CREATE AVAILABILITY GROUP mit der DISTRIBUTED Option .

  1. Verwenden Sie LISTENER_URL Endpunktadressen für AG 1 und AG 2.

  2. Verwenden Sie für AVAILABILITY-MODE, ASYNCHRONOUS_COMMIT um Netzwerklatenz zu vermeiden, falls vorhanden. Dies wirkt sich nicht auf die Leistung der Datenbank aus.

  3. Geben Sie als FAILOVER_MODE MANUALein. Es ist der einzige Verfügbarkeitsmodus, der mit verteilten Verfügbarkeitsgruppen funktioniert.

  4. Um die Datenbanken manuell auf AG 2 wiederherzustellen und mehr Kontrolle über größere Datenbanken zu haben, verwenden Sie MANUAL für SEEDING_MODE.

DBA, Entwickler
Erstellen Sie die verteilte Verfügbarkeitsgruppe auf AG 2.

Um die verteilte Verfügbarkeitsgruppe auf AG 2 zu erstellen, verwenden Sie ALTER AVAILABILITY GROUP mit der DISTRIBUTED Option .

  1. Verwenden Sie LISTENER_URL Endpunktadressen für AG 1 und AG 2.

  2. Verwenden Sie für AVAILABILITY-MODE, ASYNCHRONOUS_COMMIT um Netzwerklatenz zu vermeiden, falls vorhanden. Dies wirkt sich nicht auf die Leistung der Datenbank aus.

  3. Geben Sie als FAILOVER_MODE MANUALein. Es ist der einzige Verfügbarkeitsmodus, der mit verteilten Verfügbarkeitsgruppen funktioniert.

  4. Um die Datenbanken manuell auf AG 2 wiederherzustellen und mehr Kontrolle über größere Datenbanken zu haben, verwenden Sie MANUAL für SEEDING_MODE.

Die verteilte Verfügbarkeitsgruppe wird zwischen AG 1 und AG 2 erstellt.

Die Datenbanken in AG 2 sind noch nicht für die Teilnahme am Datenfluss von AG 1 zu AG 2 konfiguriert.

DBA, Entwickler
Fügen Sie der Weiterleitung und dem sekundären Replikat auf AG 2 Datenbanken hinzu.

Fügen Sie die Datenbanken der verteilten Verfügbarkeitsgruppe hinzu, indem Sie ALTER DATABASE mit der SET HADR AVAILABILITY GROUP Option sowohl im Forwarder als auch im sekundären Replikat auf AG 2 verwenden. 

Dadurch wird der asynchrone Datenfluss zwischen Datenbanken in AG 1 und AG 2 gestartet. 

Der globale primäre Cluster nimmt Schreibvorgänge entgegen, sendet Daten synchron an das sekundäre Replikat auf AG 1 und sendet Daten asynchron an den Forwarder auf AG 2. Die Weiterleitung auf AG 2 sendet Daten synchron an das sekundäre Replikat auf AG 2.

DBA, Entwickler
AufgabeBeschreibungErforderliche Fähigkeiten
Verwenden Sie DMVs und SQL Server-Protokolle.

Überwachen Sie den Status des Datenflusses zwischen zwei Verfügbarkeitsgruppen mithilfe dynamischer Verwaltungsansichten (DMVs) und SQL Server-Protokollen. 

Zu den DMVs, die für die Überwachung von Interesse sind, gehören sys.dm_hadr_availability_replica_states und sys.dm_hadr_automatic_seeding.

Überwachen Sie den Status der Weiterleitungssynchronisierung im SQL Server-Protokoll auf der Weiterleitung.

DBA, Entwickler
AufgabeBeschreibungErforderliche Fähigkeiten
Stoppen Sie den gesamten Datenverkehr zum primären Replikat.

Stoppen Sie den eingehenden Datenverkehr zum primären Replikat in AG 1, damit keine Schreibaktivität in den Datenbanken stattfindet und die Datenbanken für die Migration bereit sind.

App-Besitzer, Entwickler
Ändern Sie den Verfügbarkeitsmodus der verteilten Verfügbarkeitsgruppe auf AG 1.

Legen Sie im primären Replikat den Verfügbarkeitsmodus der verteilten Verfügbarkeitsgruppe auf synchron fest. 

Nachdem Sie den Verfügbarkeitsmodus auf synchron geändert haben, werden die Daten synchron vom primären Replikat in AG 1 an den Forwarder in AG 2 gesendet.

DBA, Entwickler
Überprüfen Sie die LSNs in beiden Verfügbarkeitsgruppen.

Überprüfen Sie die letzten Log Sequence Numbers (LSNs) sowohl in AG 1 als auch in AG 2. Da keine Schreibvorgänge im primären Replikat in AG 1 stattfinden, werden die Daten synchronisiert und die letzten LSNs für beide Verfügbarkeitsgruppen sollten übereinstimmen.

DBA, Entwickler
Aktualisieren Sie AG 1 auf die sekundäre Rolle.

Wenn Sie AG 1 auf die sekundäre Rolle aktualisieren, verliert AG 1 die primäre Replikatrolle und akzeptiert keine Schreibvorgänge, und der Datenfluss zwischen zwei Verfügbarkeitsgruppen wird beendet.

DBA, Entwickler
AufgabeBeschreibungErforderliche Fähigkeiten
Manuelles Failover auf AG 2.

Ändern Sie in der Weiterleitung in AG 2 die verteilte Verfügbarkeitsgruppe, um Datenverlust zuzulassen. Da Sie bereits überprüft und bestätigt haben, dass die letzten LSNs auf AG 1 und AG 2 übereinstimmen, ist der Datenverlust kein Problem.

Wenn Sie Datenverlust auf dem Forwarder in AG 2 zulassen, ändern sich die Rollen von AG 1 und AG 2:

  • AG 2 wird zur Verfügbarkeitsgruppe mit dem primären Replikat und dem sekundären Replikat.

  • AG 1 wird zur Verfügbarkeitsgruppe mit der Weiterleitung und dem sekundären Replikat.

DBA, Entwickler
Ändern Sie den Verfügbarkeitsmodus der verteilten Verfügbarkeitsgruppe auf AG 2.

Ändern Sie auf dem primären Replikat in AG 2 den Verfügbarkeitsmodus auf asynchron.

Dadurch wird die Datenverschiebung von AG 2 auf AG 1 geändert, von synchron zu asynchron. Dieser Schritt ist erforderlich, um die Netzwerklatenz zwischen AG 2 und AG 1 zu vermeiden, sofern vorhanden, und beeinträchtigt nicht die Leistung der Datenbank.

DBA, Entwickler
Beginnen Sie mit dem Senden von Datenverkehr an das neue primäre Replikat.

Aktualisieren Sie die Verbindungszeichenfolge, um den Listener-URL-Endpunkt auf AG 2 zum Senden von Datenverkehr an die Datenbanken zu verwenden.

AG 2 akzeptiert jetzt Schreibvorgänge und sendet Daten an den Forwarder in AG 1 sowie Daten an ein eigenes sekundäres Replikat in AG 2. Daten werden asynchron von AG 2 auf AG 1 verschoben.

App-Besitzer, Entwickler
AufgabeBeschreibungErforderliche Fähigkeiten
Entfernen Sie die verteilte Verfügbarkeitsgruppe auf AG 2.

Überwachen Sie die Migration für den geplanten Zeitraum. Entfernen Sie dann die verteilte Verfügbarkeitsgruppe auf AG 2, um die Einrichtung der verteilten Verfügbarkeitsgruppe zwischen AG 2 und AG 1 zu entfernen. Dadurch wird die Konfiguration der verteilten Verfügbarkeitsgruppe entfernt und der Datenfluss von AG 2 zu AG 1 wird beendet. 

Zu diesem Zeitpunkt ist AG 2 auf AWS hochverfügbar, mit einem primären Replikat, das Schreibvorgänge entgegennimmt, und einem sekundären Replikat in derselben Verfügbarkeitsgruppe.

DBA, Entwickler
Außerbetriebnahme der On-Premises-Server.

Außerbetriebnahme der On-Premises-Server in WSFC 1, die Teil von AG 1 sind.

Systemadministrator, SysOps Administrator

Zugehörige Ressourcen