Wie man eine AWS RDS Multi-AZ-Bereitstellung für hohe Verfügbarkeit konfiguriert

Sorgen Sie für eine robuste Datenbankverfügbarkeit mit diesem umfassenden Leitfaden zur Konfiguration von AWS RDS Multi-AZ-Bereitstellungen. Erfahren Sie, wie Multi-AZ funktioniert, welche Vorteile es für hohe Verfügbarkeit und Ausfallsicherheit bietet, und erhalten Sie Schritt-für-Schritt-Anleitungen zur Einrichtung für neue oder bestehende RDS-Instanzen. Dieses Tutorial behandelt wichtige Einstellungen, Überwachung und Best Practices, damit Sie eine robuste Datenbankinfrastruktur mit automatischem Failover für kritische Produktionsumgebungen aufbauen können.

41 Aufrufe

Konfigurieren einer AWS RDS Multi-AZ-Bereitstellung für hohe Verfügbarkeit

Datenbankverfügbarkeit ist für geschäftskritische Produktionsanwendungen von größter Bedeutung. Ausfallzeiten können zu erheblichen finanziellen Verlusten, Reputationsschäden und frustrierten Benutzern führen. Amazon Relational Database Service (RDS) bietet eine robuste Lösung für die Verwaltung relationaler Datenbanken in der Cloud, und seine Multi-AZ-Bereitstellungsoption wurde speziell entwickelt, um die Verfügbarkeit, Haltbarkeit und Fehlertoleranz Ihrer Datenbankinstanzen zu verbessern.

Dieser Artikel führt Sie durch den Prozess der Konfiguration einer AWS RDS Multi-AZ-Bereitstellung. Wir behandeln, was Multi-AZ ist, seine wichtigsten Vorteile und geben Schritt-für-Schritt-Anleitungen für die Einrichtung sowohl für neue als auch für bestehende RDS-Instanzen. Am Ende werden Sie verstehen, wie Sie eine ausfallsichere Datenbankinfrastruktur aufbauen, die automatische Failover-Funktionen gewährleistet und somit die Betriebszeit und Haltbarkeit Ihrer MySQL-, PostgreSQL- oder anderer unterstützter Datenbankinstanzen erheblich verbessert.

Was ist AWS RDS Multi-AZ?

Eine AWS RDS Multi-AZ (Multiple Availability Zone)-Bereitstellung erstellt eine exakte Replik eines Datenbankinstanz in einer anderen, physisch isolierten Availability Zone (AZ) innerhalb derselben AWS-Region. Diese Standby-Instanz arbeitet in einer "Hot Standby"-Konfiguration, was bedeutet, dass sie kontinuierlich mit Änderungen von der primären Instanz über synchrone Replikation aktualisiert wird.

Funktionsweise:

  1. Primäre Instanz: Ihre Anwendung stellt eine Verbindung zur primären Datenbankinstanz her und schreibt Daten dorthin.
  2. Synchrone Replikation: Alle Schreibvorgänge auf die primäre Instanz werden synchron auf die Standby-Instanz repliziert. Dies stellt sicher, dass die Standby-Instanz immer auf dem neuesten Stand der primären Instanz ist, wodurch Datenverlust während eines Failovers minimiert wird.
  3. Automatisches Failover: Im Falle eines Infrastrukturausfalls, der die primäre Instanz betrifft (z. B. AZ-Ausfall, Hardwarefehler der Instanz, Netzwerkprobleme oder Abstürze der Datenbank-Engine), wechselt AWS RDS automatisch zur Standby-Replik. Dieser Failover-Prozess dauert in der Regel 1-2 Minuten und erfordert keine manuelle Intervention Ihrerseits. Der Datenbank-Endpunkt bleibt derselbe, sodass Ihre Anwendungen ihre Verbindungszeichenfolgen nicht ändern müssen.
  4. Einzelner Endpunkt: Sowohl die primäre als auch die Standby-Instanz teilen sich einen einzigen DNS-Endpunkt. Ihre Anwendungen verbinden sich mit diesem Endpunkt, und AWS verwaltet die Weiterleitung zur aktuell aktiven primären Instanz.

Vorteile von Multi-AZ-Bereitstellungen

Die Konfiguration von RDS mit Multi-AZ bietet mehrere entscheidende Vorteile für Produktions-Workloads:

  • Hohe Verfügbarkeit: Automatisches Failover zu einer Standby-Replik in einer anderen AZ stellt sicher, dass Ihre Datenbank auch dann betriebsbereit bleibt, wenn die primäre AZ ausfällt. Dies reduziert Ausfallzeiten erheblich.
  • Datenhaltbarkeit: Synchrone Replikation garantiert, dass alle bestätigten Transaktionen sowohl auf der primären als auch auf der Standby-Instanz vorhanden sind. Dies minimiert das Risiko von Datenverlust während eines Failovers.
  • Disaster Recovery: Durch die Verteilung über mehrere Availability Zones ist Ihre Datenbank vor AZ-weiten Ausfällen geschützt und bildet einen kritischen Bestandteil Ihrer Disaster-Recovery-Strategie.
  • Vereinfachte Vorgänge: AWS übernimmt die Überwachung, Replikation und den Failover-Prozess automatisch. Sie müssen keine hostbasierte Replikation konfigurieren, keine Standby-Instanzen verwalten oder Failover manuell orchestrieren.
  • Wartungsfenster: Während geplanter Wartungsarbeiten (z. B. OS-Patching oder Upgrades der Datenbank-Engine) schaltet AWS automatisch zur Standby-Instanz um, führt Wartungsarbeiten an der alten Primärinstanz durch und schaltet dann zurück. Dies minimiert Ausfallzeiten für Anwendungen.
  • Leistung (Schreiblatenz): Während die synchrone Replikation naturgemäß eine leichte Erhöhung der Schreiblatenz im Vergleich zu einer Single-AZ-Bereitstellung mit sich bringt (aufgrund der Bestätigung von Schreibvorgängen an zwei Orten), ist dies für die meisten Anwendungen oft vernachlässigbar und ein lohnender Kompromiss für die verbesserte Verfügbarkeit.

Voraussetzungen

Stellen Sie vor Beginn sicher, dass Sie über Folgendes verfügen:

  • Ein AWS-Konto mit den entsprechenden Berechtigungen zum Erstellen und Verwalten von RDS-Instanzen.
  • Grundlegendes Verständnis von AWS-Regionen, Availability Zones und Virtual Private Clouds (VPCs).

Schritt-für-Schritt-Konfigurationsanleitung

Option 1: Erstellen einer neuen RDS-Instanz mit Multi-AZ

Dies ist der empfohlene Ansatz für neue Bereitstellungen, der die hohe Verfügbarkeit vom ersten Tag an gewährleistet.

  1. Zur RDS-Konsole navigieren: Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon RDS-Konsole.
  2. Datenbank erstellen: Wählen Sie im Navigationsbereich Datenbanken und klicken Sie dann auf Datenbank erstellen.
  3. Datenbankerstellungsmethode auswählen: Wählen Sie Standarderstellung.
  4. Engine-Optionen auswählen:
    • Engine-Typ: Wählen Sie Ihre gewünschte Datenbank-Engine (z. B. MySQL, PostgreSQL, SQL Server, Oracle).
    • Engine-Version: Wählen Sie die spezifische Version aus.
  5. Vorlagen: Wählen Sie die entsprechende Vorlage aus. Für die Produktion wird Produktion empfohlen, da diese standardmäßig auf Multi-AZ eingestellt ist.
  6. Einstellungen:
    • DB-Instanz-Kennung: Geben Sie einen eindeutigen Namen für Ihre Datenbankinstanz an.
    • Master-Benutzername und Master-Passwort: Legen Sie Anmeldeinformationen für den primären Datenbankbenutzer fest.
  7. DB-Instanzgröße: Wählen Sie die Instanzklasse, die Ihren Leistungsanforderungen entspricht.
  8. Speicher: Konfigurieren Sie den Speichertyp und den zugewiesenen Speicherplatz.
  9. Verfügbarkeit & Haltbarkeit: Dies ist der entscheidende Schritt für Multi-AZ:
    • Wählen Sie unter Multi-AZ-Bereitstellung die Option Ja (Standby-Instanz erstellen).
    • (Optional) Wenn Sie zuvor die Vorlage "Produktion" ausgewählt haben, ist diese Option vorausgewählt.
  10. Konnektivität:
    • VPC: Wählen Sie die VPC aus, in der sich Ihre Datenbank befinden wird.
    • Subnetzgruppe: Stellen Sie sicher, dass Sie eine DB-Subnetzgruppe haben, die sich über mehrere Availability Zones erstreckt. RDS verwendet diese, um die primäre und die Standby-Instanz in verschiedenen AZs zu platzieren.
    • Öffentlicher Zugriff: Wählen Sie für Produktionsumgebungen aus Sicherheitsgründen Nein.
    • VPC-Sicherheitsgruppen: Hängen Sie eine geeignete Sicherheitsgruppe an, die eingehenden Datenverkehr zu Ihrem Datenbankport von Ihren Anwendungsservern zulässt.
  11. Datenbankauthentifizierung: Wählen Sie Ihre bevorzugte Authentifizierungsmethode.
  12. Überwachung, Performance Insights, Protokoll-Exporte, Wartung: Konfigurieren Sie diese gemäß Ihren betrieblichen Anforderungen.
  13. Datenbank erstellen: Überprüfen Sie alle Ihre Einstellungen und klicken Sie auf Datenbank erstellen.

AWS wird Ihre primäre Instanz bereitstellen und dann die Standby-Replik in einer anderen Availability Zone erstellen und synchronisieren. Dieser Vorgang kann je nach Instanzgröße einige Zeit dauern.

Option 2: Modifizieren einer bestehenden RDS-Instanz zu Multi-AZ

Sie können Multi-AZ für eine bestehende Single-AZ-RDS-Instanz ohne Ausfallzeiten aktivieren.

  1. Zur RDS-Konsole navigieren: Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon RDS-Konsole.
  2. Datenbank auswählen: Wählen Sie im Navigationsbereich Datenbanken und dann die RDS-Instanz aus, die Sie ändern möchten.
  3. Instanz ändern: Klicken Sie auf die Schaltfläche Ändern.
  4. Verfügbarkeit & Haltbarkeit: Scrollen Sie zum Abschnitt Verfügbarkeit & Haltbarkeit.
    • Wählen Sie unter Multi-AZ-Bereitstellung die Option Ja (Standby-Instanz erstellen).
  5. Weiter: Überprüfen Sie andere Einstellungen (Instanzklasse, Speicher usw.) und nehmen Sie alle anderen erforderlichen Änderungen vor. Klicken Sie dann auf Weiter.
  6. Planung der Änderungen:
    • Sofort anwenden: Wenn Sie diese Option wählen, werden die Änderungen sofort angewendet. Zum Aktivieren von Multi-AZ erstellt AWS die Standby-Instanz im Hintergrund. Die primäre Instanz bleibt während dieser anfänglichen Erstellungsphase verfügbar, obwohl es eine kurze Periode mit erhöhter I/O-Latenz geben kann. Sobald die Standby-Instanz synchronisiert ist, kommt es zu einer kurzen Unterbrechung (typischerweise weniger als eine Minute), wenn AWS ein kleines Failover durchführt, um die Multi-AZ-Konfiguration zu aktivieren.
    • Während des nächsten geplanten Wartungsfensters anwenden: Diese Option wendet die Änderungen während Ihres definierten Wartungsfensters an, wodurch Störungen während der Spitzenzeiten minimiert werden.
  7. DB-Instanz ändern: Klicken Sie auf DB-Instanz ändern.

AWS beginnt mit der Erstellung der Standby-Replik und der Synchronisierung mit Ihrer primären Instanz. Während dieser Zeit bleibt Ihre Datenbank online, aber Sie können ein kurzes Failover-Ereignis beobachten, wenn die Multi-AZ-Konfiguration abgeschlossen ist.

Überwachung Ihrer Multi-AZ-Bereitstellung

Nach der Einrichtung von Multi-AZ ist es wichtig, dessen Status zu überwachen:

  1. RDS-Konsole: Gehen Sie zur RDS-Konsole und wählen Sie Ihre Datenbankinstanz aus.
  2. Detail-Tab: Unter dem Abschnitt Konnektivität & Sicherheit wird Multi-AZ als Ja angezeigt. Unter Verfügbarkeit & Haltbarkeit sollte Ihre Instanz als Multi-AZ-Bereitstellung aufgeführt sein.
  3. Ereignisse: Überprüfen Sie den Tab Protokolle & Ereignisse auf Ereignisse im Zusammenhang mit Failovers, Instanzerstellung oder Wartungsaktivitäten. AWS protokolliert Ereignisse für Failovers (z. B. RDS-EVENT-0026 - DB-Instanz XXX wurde zu einer Standby-Instanz versetzt).

Testen des Failovers (Optional, aber empfohlen)

Obwohl AWS Failover automatisch verwaltet, ist es eine gute Praxis, den Failover-Mechanismus in einer Nicht-Produktionsumgebung zu verstehen und gelegentlich zu testen.

Auslösen eines Failovers:

  1. Mit Failover neu starten: Wählen Sie Ihre Multi-AZ-Instanz in der RDS-Konsole aus. Wählen Sie im Menü Aktionen die Option Neustart. Stellen Sie sicher, dass Sie die Option "Mit Failover neu starten?" auswählen.
    • Diese Aktion zwingt RDS, die primäre Instanz auf die Standby-Replik umzuschalten, was einen ungeplanten Ausfall simuliert. Ihre Anwendung wird eine kurze Unterbrechung (1-2 Minuten) erfahren, während der DNS-Endpunkt aktualisiert wird.
  2. Ereignisse beobachten: Überwachen Sie nach dem Auslösen eines Failovers den Tab Protokolle & Ereignisse für Ihre Instanz. Sie sollten Ereignisse sehen, die anzeigen, dass ein Failover stattgefunden hat und dass die neue primäre Instanz aktiv ist.

Überlegungen und Best Practices

  • Kosten: Multi-AZ-Bereitstellungen verursachen höhere Kosten als Single-AZ-Bereitstellungen, da Sie effektiv zwei Datenbankinstanzen (primär und Standby) ausführen, auch wenn zu einem bestimmten Zeitpunkt nur eine aktiv Traffic bedient.
  • Lesereplikate vs. Multi-AZ: Verstehen Sie den Unterschied. Multi-AZ dient der hohen Verfügbarkeit und Haltbarkeit (Schreibvorgänge). Lesereplikate dienen der Leseskalierung und der Verbesserung der Leseleistung. Sie können zusammen verwendet werden; Sie können eine Multi-AZ-Primärinstanz erstellen und dann Lesereplikate für Lese-intensive Anwendungen erstellen.
  • Leistungsauswirkungen: Während Multi-AZ die Verfügbarkeit verbessert, kann die synchrone Replikation im Vergleich zu Single-AZ zu einer leichten Erhöhung der Schreiblatenz führen. Für die meisten Anwendungen ist dieser Overhead minimal.
  • Subnetzgruppen: Stellen Sie sicher, dass Ihre DB-Subnetzgruppe Subnetze in mindestens zwei verschiedenen Availability Zones enthält. Dies ermöglicht es RDS, Ihre primäre und Standby-Instanz in separaten AZs zu platzieren.
  • Sicherheitsgruppen: Konfigurieren Sie Ihre VPC-Sicherheitsgruppen ordnungsgemäß, um Datenverkehr von Ihren Anwendungsservern zum RDS-Endpunkt zuzulassen.
  • Datenbank-Engine-Unterstützung: Multi-AZ wird von den meisten gängigen Datenbank-Engines unterstützt, darunter MySQL, PostgreSQL, SQL Server, Oracle und MariaDB.

Fazit

AWS RDS Multi-AZ-Bereitstellungen sind ein Eckpfeiler für den Aufbau hochverfügbarer und langlebiger relationaler Datenbanklösungen in der Cloud. Durch die automatische Replikation von Daten über Availability Zones hinweg und die Bereitstellung eines nahtlosen Failovers reduziert Multi-AZ erheblich das Risiko von Ausfallzeiten und Datenverlust für Ihre geschäftskritischen Anwendungen. Obwohl die Kosten höher sind, machen die betriebliche Einfachheit und die verbesserte Ausfallsicherheit dies zu einer unverzichtbaren Konfiguration für produktionsreife Datenbank-Workloads auf AWS. Implementieren Sie Multi-AZ noch heute, um Ihre Daten zu schützen und eine kontinuierliche Servicebereitstellung zu gewährleisten.