

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.

# So richten Sie eine Datenbankverbindung ein
<a name="customizing-rds-setup"></a>

**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](https://repost.aws/) oder über den [AWS Premium-Support](https://aws.amazon.com/support).

Sie richten die Verbindung zwischen einem Anwendungsserver und seiner Backend-Datenbank ein, indem Sie ein benutzerdefiniertes Rezept verwenden. Das Rezept konfiguriert den Anwendungsserver wie benötigt, normalerweise es eine Konfigurationsdatei erstellt. Das Rezept bezieht die Verbindungsdaten wie den Host- und Datenbanknamen aus einer Reihe von Attributen in der [Stack-Konfiguration und den Bereitstellungsattributen](workingcookbook-json.md), die OpsWorks Stacks auf jeder Instanz installiert.

Schritt 2 von [Erste Schritte mit Chef 11 Linux-Stacks](gettingstarted.md) basiert beispielsweise auf einem Stack MyStack mit zwei Ebenen, PHP App Server und MySQL, mit jeweils einer Instanz. Sie stellen eine App namens Simple PHPApp auf der PHP App Server-Instanz bereit, die die Datenbank auf der MySQL-Instanz als Back-End-Datenspeicher verwendet. Wenn Sie die Anwendung bereitstellen, installiert OpsWorks Stacks Stack-Konfigurations- und Bereitstellungsattribute, die die Informationen zur Datenbankverbindung enthalten. Das folgende Beispiel zeigt die Attribute der Datenbankverbindung, dargestellt als JSON:

```
{
  ...
  "deploy": {
    "simplephpapp": {
      ...
      "database": {
        "reconnect": true,
        "password": null,
        "username": "root",
        "host": null,
        "database": "simplephpapp"
        ...
      },
      ...
    }
  }
}
```

Die Attributwerte werden von OpsWorks Stacks bereitgestellt und entweder generiert oder basieren auf vom Benutzer bereitgestellten Informationen.

Damit Simple PHPApp auf den Datenspeicher zugreifen kann, müssen Sie die Verbindung zwischen dem PHP-Anwendungsserver und der MySQL-Datenbank einrichten, indem Sie dem `appsetup.rb` [Deploy-Lifecycle-Ereignis](workingcookbook-events.md) der PHP App Server-Ebene ein benutzerdefiniertes Rezept zuweisen. Wenn Sie Simple bereitstellenPHPApp, wird OpsWorks Stacks ausgeführt`appsetup.rb`, wodurch eine Konfigurationsdatei mit dem Namen erstellt wird`db-connect.php`, der die Verbindung herstellt, wie im folgenden Auszug gezeigt.

```
node[:deploy].each do |app_name, deploy|
  ...
  template "#{deploy[:deploy_to]}/current/db-connect.php" do
    source "db-connect.php.erb"
    mode 0660
    group deploy[:group]

    if platform?("ubuntu")
      owner "www-data"
    elsif platform?("amazon")   
      owner "apache"
    end

    variables(
      :host =>     (deploy[:database][:host] rescue nil),
      :user =>     (deploy[:database][:username] rescue nil),
      :password => (deploy[:database][:password] rescue nil),
      :db =>       (deploy[:database][:database] rescue nil),
      :table =>    (node[:phpapp][:dbtable] rescue nil)
    )
    ...
  end
end
```

[Den Variablen, die die Verbindung charakterisieren — `host``user`, usw. — werden die entsprechenden Werte aus den Deploy-JSON-Attributen zugewiesen.](workingcookbook-json.md#workingcookbook-json-deploy) `[:deploy][:app_name][:database]` Der Einfachheit halber wird in diesem Beispiel davon ausgegangen, dass Sie bereits eine Tabelle mit dem Namen `urler` erstellt haben, sodass der Tabellenname durch `[:phpapp][:dbtable]` in der Attributdatei des Rezeptbuchs repräsentiert wird.

Dieses Rezept kann den PHP-Anwendungsserver tatsächlich mit jedem MySQL-Datenbankserver verbinden, nicht nur mit Mitgliedern einer MySQL-Schicht. Um einen anderen MySQL-Server zu verwenden, müssen Sie nur die `[:database]` Attribute auf Werte setzen, die für Ihren Server geeignet sind, was Sie mit [benutzerdefiniertem JSON](workingstacks-json.md) tun können. OpsWorks Stacks integriert diese Attribute und Werte dann in die Stack-Konfiguration und die Bereitstellungsattribute und `appsetup.rb` verwendet sie, um die Vorlage zu erstellen, mit der die Verbindung eingerichtet wird. Weitere Informationen zum Überschreiben der Stack-Konfiguration und der Bereitstellungs-JSON-Datei finden Sie unter [Überschreiben der Attribute](workingcookbook-attributes.md).