Amazon RDS-Serviceschicht - AWS OpsWorks

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.

Amazon RDS-Serviceschicht

Wichtig

Der AWS OpsWorks Stacks Service hat am 26. Mai 2024 das Ende seiner Lebensdauer erreicht und wurde sowohl für neue als auch für bestehende Kunden deaktiviert. Wir empfehlen Kunden dringend, ihre Workloads so bald wie möglich auf andere Lösungen zu migrieren. Wenn Sie Fragen zur Migration haben, wenden Sie sich an das AWS Support Team auf AWS re:POST oder über den AWS Premium-Support.

Eine Amazon RDS-Serviceschicht stellt eine Amazon RDS-Instance dar. Die Ebene kann nur bestehende Amazon RDS-Instances darstellen, die Sie separat mithilfe der Amazon RDS-Konsole oder API erstellen müssen.

Das grundlegende Verfahren für die Integration einer Amazon RDS-Serviceschicht in Ihren Stack lautet wie folgt:

  1. Verwenden Sie die Amazon RDS-Konsole, API oder CLI, um eine Instance zu erstellen.

    Stellen Sie sicher, dass Sie die Instance-ID, den Master-Benutzernamen, das Master-Passwort und den Datenbanknamen erfassen.

  2. Um Ihrem Stack eine Amazon RDS-Ebene hinzuzufügen, registrieren Sie die Amazon RDS-Instance beim Stack.

  3. Hängen Sie den Layer an eine App an, wodurch die Verbindungsinformationen der Amazon RDS-Instance zu den deployAttributen der App hinzugefügt werden.

  4. Verwenden Sie die sprachspezifischen Dateien oder die Informationen in den deploy Attributen, um die Anwendung mit der Amazon RDS-Instance zu verbinden.

    Weitere Informationen zum Verbinden einer Anwendung mit einem Datenbankserver finden Sie unter Verbinden einer Anwendung mit einem Datenbankserver

Warnung

Stellen Sie sicher, dass die Zeichen, aus denen das Master-Passwort und der -Benutzername Ihrer Instance bestehen, mit Ihrem Anwendungsserver kompatibel sind. Wenn beispielsweise die Java App Server-Ebene & in einer der beiden Zeichenketten enthalten ist, wird ein XML-Analysefehler verursacht, der den Start des Tomcat-Servers verhindert.

Angeben von Sicherheitsgruppen

Um eine Amazon RDS-Instance mit AWS OpsWorks Stacks zu verwenden, müssen die Datenbank- oder VPC-Sicherheitsgruppen den Zugriff von den entsprechenden IP-Adressen aus zulassen. Für den Produktivbetrieb beschränkt die Sicherheitsgruppe in der Regel den Zugriff auf die IP-Adressen, die auf die Datenbank zugreifen müssen. Dazu gehören in der Regel die Adressen der Systeme, die Sie zur Verwaltung der Datenbank verwenden, und der AWS OpsWorks Stacks-Instances, die auf die Datenbank zugreifen müssen. AWS OpsWorks Stacks erstellt automatisch eine Amazon EC2-Sicherheitsgruppe für jeden Layer-Typ, wenn Sie Ihren ersten Stack in einer Region erstellen. Eine einfache Möglichkeit, Zugriff für AWS OpsWorks Stacks-Instances zu gewähren, besteht darin, der Amazon RDS-Instance oder VPC die entsprechenden AWS OpsWorks Stacks-Sicherheitsgruppen zuzuweisen.

So geben Sie Sicherheitsgruppen für eine bestehende Amazon RDS-Instance an
  1. Öffnen Sie die Amazon-RDS-Konsole unter https://console.aws.amazon.com/rds/.

  2. Klicken Sie im Navigationsbereich auf Instances und wählen Sie die entsprechende Amazon RDS-Instance aus. Klicken Sie auf Instance Actions (Instance-Aktionen), Modify (Ändern).

  3. Wählen Sie die folgenden Sicherheitsgruppen aus der Liste Security Group (Sicherheitsgruppe) aus und klicken Sie dann auf Continue (Weiter) und Modify DB Instance (DB-Instance ändern), um die Instance zu aktualisieren.

    • Die Sicherheitsgruppe OpsWorks AWS-DB-Master-Server (security_group_id).

    • Die Sicherheitsgruppe für den Anwendungsserver-Layer, dessen Instances eine Verbindung zur Datenbank aufnehmen. Der Gruppenname enthält den Layer-Namen. Um beispielsweise Datenbankzugriff auf PHP App Server-Instances bereitzustellen, geben Sie die Gruppe AWS- OpsWorks -PHP-App-Server an.

Wenn Sie eine neue Amazon RDS-Instance erstellen, können Sie die entsprechenden AWS OpsWorks Stacks-Sicherheitsgruppen auf der Seite „Erweiterte Einstellungen konfigurieren“ des Assistenten zum Starten einer DB-Instance angeben. Eine Beschreibung zur Verwendung dieses Assistenten finden Sie unter Erstellen einer MySQL DB-Instance und Verbinden mit einer Datenbank auf einer MySQL-DB-Instance.

Weitere Informationen zum Festlegen von VPC-Sicherheitsgruppen finden Sie unter Sicherheitsgruppen für Ihre VPC.

Registrierung einer Amazon RDS-Instance mit einem Stack

Um einen Amazon RDS-Service Layer zu einem Stack hinzuzufügen, müssen Sie eine Instance beim Stack registrieren.

Um eine Amazon RDS-Instance bei einem Stack zu registrieren
  1. Klicken Sie in der AWS OpsWorks Stacks-Konsole im Navigationsbereich auf Layer, klicken Sie auf + Layer oder Layer hinzufügen, um die Seite „Layer hinzufügen“ zu öffnen, und klicken Sie dann auf die Registerkarte RDS.

  2. Falls erforderlich, aktualisieren Sie die Stack-Servicerolle wie in Aktualisieren der Stack-Servicerolle beschrieben.

  3. Klicken Sie auf die Registerkarte RDS, um die verfügbaren Amazon RDS-Instances aufzulisten.

    Anmerkung

    Wenn Ihr Konto keine Amazon RDS-Instances hat, können Sie eine erstellen, indem Sie auf der Registerkarte RDS auf RDS-Instance hinzufügen klicken. Dadurch gelangen Sie zur Amazon RDS-Konsole und starten den Assistenten zum Starten einer DB-Instance. Sie können auch direkt zur Amazon RDS-Konsole gehen und auf Eine DB-Instance starten klicken oder die Amazon RDS-API oder CLI verwenden. Weitere Informationen zum Erstellen einer Amazon RDS-Instance finden Sie unter Erste Schritte mit Amazon RDS.

  4. Wählen Sie die geeignete Instance aus, tragen Sie bei User (Benutzer) und Password (Passwort) den richtigen Benutzer und das richtige Passwort ein und klicken Sie dann auf Register to Stack (Beim Stack registrieren).

    Wichtig

    Sie müssen sicherstellen, dass der Benutzer und das Passwort, die Sie zur Registrierung der Amazon RDS-Instance verwenden, einem gültigen Benutzer und Passwort entsprechen. Ist dies nicht der Fall, können die Anwendungen keine Verbindung zur Instance herstellen. Sie können jedoch den Layer bearbeiten, um einen gültigen Benutzer und ein gültiges Passwort zu erstellen und dann die Anwendung erneut bereitstellen.

Wenn Sie einen Amazon RDS-Service Layer zu einem Stack hinzufügen, weist AWS OpsWorks Stacks ihm eine ID zu und fügt die zugehörige Amazon RDS-Konfiguration dem Attribut der Stack-Konfiguration und dem Attribut des Deployment-Attributs [:opsworks][:stack]hinzu.

Anmerkung

Wenn Sie das Passwort einer registrierten Amazon RDS-Instance ändern, müssen Sie das Passwort in AWS OpsWorks Stacks manuell aktualisieren und dann Ihre Apps erneut bereitstellen, um die Stack-Konfiguration und die Bereitstellungsattribute auf den Stack-Instances zu aktualisieren.

Aktualisieren der Stack-Servicerolle

Jeder Stack hat eine IAM-Servicerolle, die angibt, welche Aktionen AWS OpsWorks Stacks in Ihrem Namen mit anderen AWS-Services ausführen kann. Um eine Amazon RDS-Instance bei einem Stack zu registrieren, muss ihre Service-Rolle AWS OpsWorks Stacks Berechtigungen für den Zugriff auf Amazon RDS gewähren.

Wenn Sie zum ersten Mal einen Amazon RDS-Service-Layer zu einem Ihrer Stacks hinzufügen, fehlen der Service-Rolle möglicherweise die erforderlichen Berechtigungen. Wenn dies der Fall ist, sehen Sie Folgendes, wenn Sie auf die Registerkarte RDS auf der Seite Add Layer (layer hinzufügen) klicken.

Klicken Sie auf Aktualisieren, damit AWS OpsWorks Stacks die Richtlinie der Servicerolle wie folgt aktualisiert.

{"Statement": [{"Action": ["ec2:*", "iam:PassRole", "cloudwatch:GetMetricStatistics", "elasticloadbalancing:*", "rds:*"], "Effect": "Allow", "Resource": ["*"] }] }
Anmerkung

Sie müssen das Update nur einmal ausführen. Die aktualisierte Rolle wird dann automatisch von allen Ihren Stacks verwendet.

Amazon RDS Service Layers mit Apps verknüpfen

Nachdem Sie einen Amazon RDS-Service-Layer hinzugefügt haben, können Sie ihn mit einer App verknüpfen.

  • Sie können einer App einen Amazon RDS-Layer zuordnen, wenn Sie die App erstellen, oder später, indem Sie die Konfiguration der App bearbeiten.

  • Um eine Amazon RDS-Ebene von einer App zu trennen, bearbeiten Sie die Konfiguration der App, um einen anderen Datenbankserver oder keinen Server anzugeben.

    Die Amazon RDS-Ebene bleibt Teil des Stacks und kann mit einer anderen App verknüpft werden.

Nachdem Sie eine Amazon RDS-Instance mit einer App verknüpft haben, platziert AWS OpsWorks Stacks die Datenbankverbindungsinformationen auf den Servern der App. Diese Informationen können dann von der Anwendung auf jeder Server-Instance verwendet werden, um eine Verbindung mit der Datenbank herzustellen. Weitere Informationen zum Herstellen einer Verbindung mit einer Amazon RDS-Instance finden Sie unterVerbinden einer Anwendung mit einem Datenbankserver.

Entfernen eines Amazon RDS-Service Layers aus einem Stack

Um einen Amazon RDS-Service Layer aus einem Stack zu entfernen, müssen Sie ihn deregistrieren.

So melden Sie einen Amazon RDS-Service Layer ab
  1. Klicken Sie im Navigationsbereich auf Layers und dann auf den Namen des Amazon RDS-Service-Layers.

  2. Klicken Sie auf Deregister (Abmelden) und bestätigen Sie, dass Sie den Layer abmelden möchten.

Dieses Verfahren entfernt die Ebene aus dem Stack, löscht jedoch nicht die zugrunde liegende Amazon RDS-Instance. Die Instance und alle Datenbanken verbleiben in Ihrem Konto und können mit anderen Stacks registriert werden. Sie müssen die Amazon RDS-Konsole, API oder CLI verwenden, um die Instance zu löschen. Weitere Informationen finden Sie unter Löschen einer DB-Instance.