Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Wie entkopple ich eine Amazon-RDS-Instance von einer Elastic-Beanstalk-Umgebung ohne Ausfallzeiten, Probleme mit der Datenbanksynchronisierung oder Datenverlust?
Ich habe eine Amazon Relational Database Service (Amazon RDS)-DB-Instance, die an meine AWS-Elastic-Beanstalk-Umgebung angefügt ist. Ich möchte Ausfallzeiten, Probleme mit der Datenbanksynchronisierung und Datenverlust vermeiden, wenn ich die Abhängigkeiten zwischen der Instance und der Umgebung entferne.
Kurzbeschreibung
Das folgende Verfahren entkoppelt die Datenbank von einer Elastic-Beanstalk-Umgebung und hat keinen Einfluss auf den Zustand der Umgebung:
- Erstelle einen Amazon-RDS-DB-Snapshot.
- Schütze die RDS-DB-Instance vor Löschung.
- Erstelle eine neue Elastic-Beanstalk-Umgebung.
- Führe eine Blau/Grün-Bereitstellung durch.
- Aktualisiere die Richtlinie zum Löschen von Datenbanken für die alte Umgebung.
- Entkopple die RDS-Instance von der alten Umgebung.
- Beende die alte Umgebung.
Wichtig: Es empfiehlt sich, eine RDS-DB-Instance nur in Entwicklungs- und Testumgebungen an eine Elastic-Beanstalk-Umgebung anzufügen. In der Produktionsumgebung ist der Lebenszyklus der Datenbank-Instance an den Lebenszyklus der Anwendungsumgebung gebunden. Daher ist es eine bewährte Methode, die RDS-DB-Instance nicht an eine Elastic-Beanstalk-Umgebung in einer Produktionsumgebung anzufügen. Wenn du die Umgebung beendest, verlierst du deine Daten, weil die DB-Instance von der Umgebung gelöscht wird. Weitere Informationen findest du unter Elastic Beanstalk mit Amazon RDS verwenden.
Lösung
Erstellen eines DB-Snapshots deiner Instance
Gehe wie folgt vor, um einen DB-Snapshot der Instance zu erstellen:
- Öffne die Elastic-Beanstalk-Konsole.
- Erstelle deine Elastic-Beanstalk-Umgebung.
- Kopiere die Umgebungs-ID.
- Öffne die Amazon-RDS-Konsole.
- Wähle im Navigationsbereich Datenbanken aus.
- Gib die Umgebungs-ID in das Suchfeld ein und wähle dann die Datenbank aus.
- Erstelle einen DB-Snapshot.
Die DB-Instance vor dem Löschen schützen
Gehe wie folgt vor, um die DB-Instance vor Löschung zu schützen:
- Öffne die Amazon-RDS-Konsole.
- Wähle im Navigationsbereich Datenbanken aus.
- Wähle deine Datenbank aus und wähle dann Ändern aus.
- Wähle unter Löschschutz die Option Löschschutz aktivieren aus und wähle dann Weiter aus.
- Wähle für Planen von Änderungen die Option Sofort anwenden und dann Cluster ändern aus.
- Aktualisiere die Amazon-RDS-Konsole und stelle dann sicher, dass der Löschschutz aktiviert ist.
Erstellen einer neuen Elastic-Beanstalk-Umgebung
Hinweis: Deine neue Elastic-Beanstalk-Umgebung darf keine DB-Instance enthalten.
Gehe wie folgt vor, um eine neue Elastic-Beanstalk-Umgebung zu erstellen:
- Erstelle eine neue Elastic-Beanstalk-Umgebung.
- Verbinde die neue Elastic-Beanstalk-Umgebung mit der vorhandenen DB-Instance der alten Elastic-Beanstalk-Umgebung. Weitere Informationen findest du unter Starten und Herstellen einer Verbindung zu einer externen Amazon-RDS-Instance in einer standardmäßigen Virtual Private Cloud (VPC).
- Stelle sicher, dass die neue Umgebung eine Verbindung zur vorhandenen DB-Instance herstellt und dass die Anwendung ordnungsgemäß funktioniert.
Eine Blau/Grün-Bereitstellung durchführen, um Ausfallzeiten zu vermeiden
Hinweis: Um später eine Blau/Grün-Bereitstellung oder einen CNAME-Swap durchzuführen, müssen beide Elastic-Beanstalk-Umgebungen Teil derselben Anwendung sein.
Gehe wie folgt vor, um eine Blau/Grün-Bereitstellung durchzuführen:
- Öffne die Elastic-Beanstalk-Konsole für die neue Umgebung.
- Tausche die Umgebungs-URLs der alten und neuen Elastic-Beanstalk-Umgebungen aus. Weitere Informationen findest du unter Blau/Grün-Bereitstellungen mit Elastic Beanstalk.
- Stelle sicher, dass die URL der neuen Umgebung reagiert und dass die Anwendung ordnungsgemäß funktioniert.
Wichtig: Beende die alte Elastic-Beanstalk-Umgebung erst, nachdem die DNS-Änderungen weitergegeben wurden und die alten DNS-Datensätze abgelaufen sind. Es kann bis zu 48 Stunden dauern, bis DNS-Datensätze ablaufen. DNS-Server löschen alte Datensätze nicht aus ihrem Cache; dies beruht auf der Time to Live (TTL), die du in den DNS-Datensätzen festgelegt hast.
Aktualisieren der Richtlinie zum Löschen von Datenbanken für die alte Umgebung
Führe die folgenden Schritte aus, um die Richtlinie zum Löschen der Datenbank für die alte Umgebung zu aktualisieren:
- Öffne die Elastic-Beanstalk-Konsole für die alte Umgebung.
- Wähle im Navigationsbereich Konfiguration aus.
- Wähle unter Networking and database (Netzwerk und Datenbank) die Option Bearbeiten aus.
- Stelle unter Datenbankeinstellungen die Richtlinie zum Löschen von Datenbanken auf Beibehaltung ein.
- Wähle Anwenden aus. Das Speichern der Konfigurationsänderung dauert einige Minuten.
Wichtig: Fahre erst mit dem nächsten Schritt fort, nachdem die Änderung der Richtlinie zum Löschen von Datenbanken auf die alte Umgebung angewendet wurde.
Entkoppeln der RDS-Instance von der alten Umgebung
Führe die folgenden Schritte aus, um die RDS-Instance von der alten Umgebung zu entkoppeln:
- Öffne die Elastic-Beanstalk-Konsole für die alte Umgebung.
- Wähle im Navigationsbereich Konfiguration aus.
- Wähle unter Konfiguration von Netzwerk und Datenbank die Option Bearbeiten aus.
- Stelle unter Datenbankeinstellungen sicher, dass die Richtlinie zum Löschen von Datenbanken auf Beibehaltung gesetzt ist.
- Gehe zum Abschnitt Datenbankverbindung und wähle Datenbank entkoppeln.
- Wähle Anwenden aus.
Hinweis: Wenn die Datenbank entkoppelt wird, bleibt die Datenbank betriebsbereit. Das Entkoppeln einer Datenbank dauert in der Regel weniger als 5 Minuten.
Beenden der alten Umgebung
Nachdem du die Funktionalität der neuen Umgebung überprüft hast, beende die alte Elastic-Beanstalk-Umgebung.
Wenn du die Umgebung beendest, werden alle Elastic-Beanstalk-Ressourcen gelöscht, mit Ausnahme der DB-Instance und der RDS-Sicherheitsgruppe, die von Elastic Beanstalk erstellt wurden. Wenn du eine RDS-Instance als Teil einer Elastic-Beanstalk-Umgebung mit Lastenausgleich erstellst, erstellt Elastic Beanstalk eine Elastic Load Balancing (ELB)-Sicherheitsgruppe. Elastic Beanstalk erstellt außerdem eine Amazon Elastic Compute Cloud (Amazon EC2)-Sicherheitsgruppe, die an die EC2-Instances in der Umgebung angefügt wird. Und Elastic Beanstalk erstellt eine RDS-Sicherheitsgruppe, die an die RDS-Instance angefügt wird. Um eingehenden Datenverkehr an Port 3306 von der EC2-Sicherheitsgruppe zuzulassen, fügt Elastic Beanstalk der RDS-Sicherheitsgruppe eine Regel für eingehenden Datenverkehr der Sicherheitsgruppe hinzu.
Wenn du die Datenbank entkoppelst, entfernt Elastic Beanstalk die Regel für eingehenden Datenverkehr der Sicherheitsgruppe nicht. Diese Regel für eingehenden Datenverkehr der Sicherheitsgruppe verweist auf die EC2-Sicherheitsgruppe aus der RDS-Sicherheitsgruppe, die Elastic Beanstalk erstellt hat. Wenn du die Umgebung beendest, kann Elastic Beanstalk die Umgebung nicht beenden, da die entkoppelte RDS-Sicherheitsgruppe immer noch auf die EC2-Sicherheitsgruppe verweist.
Führe die folgenden Schritte aus, um die Elastic-Beanstalk-Umgebung zu beenden:
- Öffne die Elastic-Beanstalk-Konsole für die alte Umgebung.
- Wähle im Navigationsbereich Konfiguration aus.
- Notiere dir unter Instance-Datenverkehr und Skalierung den Namen der EC2-Sicherheitsgruppe, der sich unter EC2-Sicherheitsgruppen befindet.
- Öffne die Amazon-EC2-Konsole.
- Wähle im Navigationsbereich Sicherheitsgruppe aus.
- Gib auf der Seite Sicherheitsgruppen den Namen der EC2-Sicherheitsgruppe ein.
- Notiere dir die Sicherheitsgruppen-ID. Das Format ist ähnlich wie „sg-xxxxxxxx“.
- Öffne die Amazon-RDS-Konsole.
- Wähle im Navigationsbereich Datenbanken und dann den Namen der DB-Instance aus.
- Notiere dir unter Konnektivität und Sicherheit die Subnetze, Sicherheitsgruppen und Endpunkte. Wähle dann unter Sicherheit den Namen der Sicherheitsgruppe aus.
- Nachdem die Seite Sicherheitsgruppen in der EC2-Konsole geöffnet wurde, wähle die Sicherheitsgruppe aus.
- Wähle für Regeln für eingehenden Datenverkehr die Option Bearbeiten von Regeln für eingehenden Datenverkehr aus.
- Identifiziere die Sicherheitsgruppenregel.
- Wähle Löschen und dann Regeln speichern aus.
- Öffne die Elastic-Beanstalk-Konsole für die alte Umgebung.
- Wähle Aktionen und dann Umgebung beenden aus. Wenn du die Datenbank entkoppelst, entfernt Elastic Beanstalk die Regel für eingehenden Datenverkehr der Sicherheitsgruppe nicht. Die Regel für eingehende Datenverkehr der Sicherheitsgruppe verweist auf die EC2-Sicherheitsgruppe aus der RDS-Sicherheitsgruppe, die Elastic Beanstalk erstellt hat.
- Themen
- Compute
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor 3 Jahren
AWS OFFICIALAktualisiert vor einem Jahr
AWS OFFICIALAktualisiert vor einem Jahr