Anpassen des Stacks für die Verbindung mit der RDS-Datenbank - 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.

Anpassen des Stacks für die Verbindung mit der RDS-Datenbank

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.

Sobald Sie eine RDS-Instanz erstellt haben, die als Back-End-Datenbank für den PHP-Anwendungsserver verwendet werden soll, können Sie diese anpassen. MyStack Erste Schritte mit Chef 11 Linux-Stacks

Verbinden des PHP-Anwendungsservers mit einer RDS-Datenbank
  1. Öffnen Sie die AWS OpsWorks Stacks-Konsole und erstellen Sie einen Stack mit einer PHP-App-Serverebene, die eine Instanz enthält, und stellen Sie SimplePHPApp bereit, wie unter beschrieben. Erste Schritte mit Chef 11 Linux-Stacks Dieser Stack verwendet Version1 von SimplePHPApp, die keinen Datenbankverbindung benutzt.

  2. Aktualisieren Sie die Stack-Konfiguration für die Nutzung der benutzerdefinierten Rezeptbücher, die das appsetup.rb-Rezept und verwandte Vorlage- und Attributdateien enthalten.

    1. Legen Sie Use custom Chef Cookbooks (Benutzerdefinierte Chef-Rezeptbücher verwenden) auf Yes (Ja) fest,

    2. Legen Sie Repository type (Repository-Typ) auf Git und Repository URL (Repository-URL) auf git://github.com/amazonwebservices/opsworks-example-cookbooks.git fest.

  3. Fügen Sie Folgendes dem Feld Custom Chef JSON (Benutzerdefinierte JSON-Chef-Dateien) des Stacks hinzu, um die RDS-Verbindungsdaten den [:database]-Attributen zuzuweisen, die appsetup.rb verwendet, um die Konfigurationsdatei zu erstellen.

    { "deploy": { "simplephpapp": { "database": { "username": "opsworksuser", "password": "your_password", "database": "rdsexampledb", "host": "rds_endpoint", "adapter": "mysql" } } } }

    Verwenden Sie die folgenden Attributwerte:

    • username: Der Hauptbenutzername, den Sie beim Erstellen der RDS-Instance festgelegt haben.

      Dieses Beispiel verwendet opsworksuser.

    • password: Das Hauptpasswort, das Sie beim Erstellen der RDS-Instance festgelegt haben.

      Geben Sie das Passwort ein, das Sie angegeben haben.

    • database: Die Datenbank, die Sie beim Erstellen der RDS-Instance angelegt haben.

      Dieses Beispiel verwendet rdsexampledb.

    • host: Der RDS-Instance-Endpunkt, den Sie von der RDS-Konsole bekommen haben, als Sie die Instance im vorherigen Abschnitt erstellt haben. Schließen Sie nicht die Portnummer ein.

    • adapter: Der Adapter.

      Die RDS-Instance für dieses Beispiel verwendet MySQL, sodass adapter auf mysql festgelegt ist. Im Gegensatz zu anderen Attributen wird adapter nicht von appsetup.rb verwendet. Es wird stattdessen vom integrierten Konfigurationsrezept der PHP App Server-Ebene verwendet, um eine andere Konfigurationsdatei zu erstellen.

  4. Bearbeiten Sie die SimplePHPApp-Konfiguration, um eine Version von SimplePHPApp anzugeben, die eine Backend-Datenbank verwendet. Gehen Sie dazu folgendermaßen vor:

    • Document root: Legen Sie diese Option auf web fest.

    • Branch/Revision: Legen Sie diese Option auf version2 fest.

    Lassen Sie die übrigen Optionen unverändert.

  5. Bearbeiten Sie die PHP App Server-Ebene, um die Datenbankverbindung einzurichten, indem Sie sie phpapp::appsetup zu den Deploy-Rezepten der Ebene hinzufügen.

  6. Stellen Sie die neue SimplePHPApp-Version bereit.

  7. Wenn SimplePHPApp bereitgestellt ist, führen Sie die Anwendung aus, indem Sie die Seite Instances aufrufen und auf die öffentliche IP-Adresse der Instance "php-app1" klicken. Sie sollten die folgende Seite in Ihrem Browser sehen, auf der Sie Text eingeben und in der Datenbank speichern können.

Anmerkung

Wenn Ihr Stack eine MySQL-Schicht hat, weist AWS OpsWorks Stacks den Attributen automatisch die entsprechenden Verbindungsdaten zu. [:database] Wenn Sie dem Stack jedoch ein benutzerdefiniertes JSON-Objekt zuweisen, das andere [:database]-Werte festlegt, überschreiben sie diese Standardwerte. Da die [:deploy] Attribute auf jeder Instanz installiert sind, verwenden alle Rezepte, die von den [:database] Attributen abhängen, die benutzerdefinierten Verbindungsdaten, nicht die Daten der MySQL-Schicht für. Wenn Sie möchten, dass ein bestimmter Anwendungsserver-Layer die benutzerdefinierten Verbindungsdaten verwendet, weisen Sie dem Bereitstellungsereignis des Layers das benutzerdefinierte JSON-Objekt zu und schränken Sie die Bereitstellung zu diesem Layer ein. Weitere Informationen zur Verwendung von Bereitstellungsattributen finden Sie unter Bereitstellen von Anwendungen. Weitere Informationen zum Überschreiben von integrierten Attributen des AWS OpsWorks Stacks finden Sie unter Überschreiben der Attribute.