Hinzufügen einer Amazon RDS-DB-Instance zur PHP-Anwendungsumgebung - AWS Elastic Beanstalk

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.

Hinzufügen einer Amazon RDS-DB-Instance zur PHP-Anwendungsumgebung

Sie können eine DB-Instance von Amazon Relational Database Service (Amazon RDS) verwenden, um Daten zu speichern, die von Ihrer Anwendung gesammelt und geändert wurden. Die Datenbank kann an Ihre Umgebung gekoppelt sein und von Elastic Beanstalk verwaltet werden oder sie kann als entkoppelte Datenbank erstellt und extern von einem anderen Service verwaltet werden. Dieses Thema enthält Anweisungen zum Erstellen eines Amazon RDS mit der Elastic-Beanstalk-Konsole. Die Datenbank wird mit Ihrer Umgebung gekoppelt und von Elastic Beanstalk verwaltet. Weitere Informationen zur Integration eines Amazon RDS mit Elastic Beanstalk finden Sie unter Hinzufügen einer Datenbank zu Ihrer Elastic Beanstalk-Umgebung.

Hinzufügen einer DB-Instance zu Ihrer Umgebung

So fügen Sie eine DB-Instance zu Ihrer Umgebung hinzu
  1. Öffnen Sie die Elastic-Beanstalk-Konsole und wählen Sie in der Liste Regions (Regionen) Ihre AWS-Region aus.

  2. Wählen Sie im Navigationsbereich Environments (Umgebungen) aus und wählen Sie dann in der Liste den Namen Ihrer Umgebung aus.

    Anmerkung

    Wenn Sie viele Umgebungen haben, verwenden Sie die Suchleiste, um die Umgebungsliste zu filtern.

  3. Wählen Sie im Navigationsbereich Configuration (Konfiguration) aus.

  4. Wählen Sie in der Konfigurationskategorie Database (Datenbank) die Option Edit (Bearbeiten).

  5. Wählen Sie eine DB-Engine aus und geben Sie Benutzernamen und Passwort ein.

  6. Wählen Sie unten auf der Seite die Option Apply (Anwenden) aus, um die Änderungen zu speichern.

Das Hinzufügen einer DB-Instance dauert ca. 10 Minuten. Sobald die Umgebungsaktualisierung abgeschlossen ist, stehen der Hostname der DB-Instance und andere Verbindungsinformationen über die folgenden Umgebungseigenschaften zur Verfügung:

Eigenschaftenname Beschreibung Eigenschaftenwert

RDS_HOSTNAME

Der Hostname der DB-Instance.

Auf der Registerkarte Connectivity & security (Konnektivität und Sicherheit) in der Amazon RDS-Konsole: Endpoint (Endpunkt).

RDS_PORT

Der Port, über den die DB-Instance Verbindungen annimmt. Die DB-Engines haben unterschiedliche Standardwerte.

Auf der Registerkarte Connectivity & security (Konnektivität und Sicherheit) auf der Amazon RDS-Konsole: Port.

RDS_DB_NAME

Der Datenbanknam, ebdb.

Auf der Registerkarte Configuration (Konfiguration) der Amazon RDS-Konsole: DB-Name.

RDS_USERNAME

Der Benutzername, der für die Datenbank konfiguriert wurde.

Auf der Registerkarte Configuration (Konfiguration) in der Amazon RDS-Konsole: Master username (Master-Benutzername).

RDS_PASSWORD

Das Passwort, das für die Datenbank konfiguriert wurde.

Es ist in der Amazon RDS-Konsole nicht als Referenz angegeben.

Weitere Informationen zur Konfiguration einer Datenbank-Instance in Verbindung mit einer Elastic-Beanstalk-Umgebung finden Sie unter Hinzufügen einer Datenbank zu Ihrer Elastic Beanstalk-Umgebung.

Herunterladen eines Treibers

Zur Verwendung von PHP Data Objects (PDO), um eine Verbindung mit der Datenbank herzustellen, installieren Sie den Treiber für die Datenbank-Engine, die Sie ausgewählt haben.

Weitere Informationen finden Sie unter http://php.net/manual/en/pdo.installation.php.

Verbinden mit einer Datenbank mit einem PDO oder MySQLi

Sie können mit $_SERVER[`VARIABLE`] die Verbindungsinformationen in der Umgebung lesen.

Erstellen Sie für ein PDO einen Data Source Name (DSN) bestehend aus Host, Port und Namen. Geben Sie den DSN an den Konstruktor für das PDO mit dem Benutzernamen und Passwort der Datenbank weiter.

Beispiel Verbinden mit einer RDS-Datenbank mit PDO – MySQL
<?php $dbhost = $_SERVER['RDS_HOSTNAME']; $dbport = $_SERVER['RDS_PORT']; $dbname = $_SERVER['RDS_DB_NAME']; $charset = 'utf8' ; $dsn = "mysql:host={$dbhost};port={$dbport};dbname={$dbname};charset={$charset}"; $username = $_SERVER['RDS_USERNAME']; $password = $_SERVER['RDS_PASSWORD']; $pdo = new PDO($dsn, $username, $password); ?>

Für andere Treiber ersetzen Sie mysql durch den Namen Ihres Treibers – pgsql, oci oder sqlsrv.

Übergeben Sie für MySQLi den Hostnamen, den Benutzernamen, das Passwort, den Datenbanknamen und den Port an den mysqli-Konstruktor.

Beispiel Verbinden mit einer RDS-Datenbank mit mysqli_connect()
$link = new mysqli($_SERVER['RDS_HOSTNAME'], $_SERVER['RDS_USERNAME'], $_SERVER['RDS_PASSWORD'], $_SERVER['RDS_DB_NAME'], $_SERVER['RDS_PORT']);

Verbinden mit einer Datenbank mit Symfony

Für Symfony ab Version 3.2 können Sie mit %env(PROPERTY_NAME)% basierend auf den Elastic Beanstalk-Umgebungseigenschaften Datenbankparameter in einer Konfigurationsdatei festlegen.

Beispiel app/config/parameters.yml
parameters: database_driver: pdo_mysql database_host: '%env(RDS_HOSTNAME)%' database_port: '%env(RDS_PORT)%' database_name: '%env(RDS_DB_NAME)%' database_user: '%env(RDS_USERNAME)%' database_password: '%env(RDS_PASSWORD)%'

Unter Externe Parameter (Symfony 3.4) finden Sie weitere Informationen.

In früheren Versionen von Symfony konnte auf Umgebungsvariablen nur zugegriffen werden, wenn der Name mit SYMFONY__ begann. Dies bedeutet, dass die für Elastic Beanstalk definierten Umgebungseigenschaften nicht zugänglich sind und Sie eigene Umgebungseigenschaften definieren müssen, um die Verbindungsdaten an Symfony zu übermitteln.

Zum Verbinden einer Datenbank mit Symfony 2 erstellen Sie eine Umgebungseigenschaft für jeden Parameter. Anschließend verwenden Sie %property.name%, um in einer Konfigurationsdatei auf die für Symfony umgewandelte Variable zuzugreifen. Beispiel: Auf eine Umgebungseigenschaft namens SYMFONY__DATABASE__USER kann als database.user zugegriffen werden.

database_user: "%database.user%"

Unter Externe Parameter (Symfony 2.8) finden Sie weitere Informationen.