Bereitstellung einer WordPress Website mit hoher Verfügbarkeit mit einer externen RDS Amazon-Datenbank auf Elastic Beanstalk - 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.

Bereitstellung einer WordPress Website mit hoher Verfügbarkeit mit einer externen RDS Amazon-Datenbank auf Elastic Beanstalk

In diesem Tutorial wird beschrieben, wie Sie eine externe RDS Amazon-DB-Instance starten und anschließend eine Hochverfügbarkeitsumgebung konfigurieren AWS Elastic Beanstalk, auf der eine WordPress Website ausgeführt wird, um eine Verbindung zu ihr herzustellen. Die Website verwendet Amazon Elastic File System (AmazonEFS) als gemeinsamen Speicher für hochgeladene Dateien.

Wenn Sie eine DB-Instance außerhalb von Elastic Beanstalk ausführen, wird die Datenbank vom Lebenszyklus Ihrer Umgebung abgekoppelt. Auf diese Weise können Sie mehrere Umgebungen mit derselben Datenbank verbinden, eine Datenbank gegen eine andere austauschen oder eine Blau/Grün-Bereitstellung durchführen, ohne dass dies Auswirkungen auf Ihre Datenbank hat.

Anmerkung

Aktuelle Informationen zur Kompatibilität von PHP Releases mit WordPress Versionen finden Sie auf der WordPress Website unter PHPKompatibilität und WordPress Versionen. Sie sollten sich diese Informationen vor dem Upgrade auf eine neue Version oder PHP für Ihre WordPress Implementierungen durchlesen.

Voraussetzungen

In diesem Tutorial wird davon ausgegangen, dass Sie die grundlegenden Elastic Beanstalk-Operationen und die Elastic Beanstalk-Konsole kennen. Sofern noch nicht geschehen, starten Sie anhand der Anleitung in Erste Schritte mit Elastic Beanstalk die erste Elastic-Beanstalk-Umgebung.

Für die Verfahren in diesem Leitfaden benötigen Sie ein Befehlszeilen-Terminal oder eine Shell für die Ausführung der Befehle. Befehle werden ggf. in Auflistungen mit einem vorangestellten Eingabeaufforderungssymbol ($) und dem Namen des aktuellen Verzeichnisses angezeigt.

~/eb-project$ this is a command this is output

In Linux und macOS können Sie Ihren bevorzugten Shell- und Paket-Manager verwenden. Unter Windows können Sie das Windows-Subsystem für Linux installieren, um eine Windows-integrierte Version von Ubuntu und Bash zu erhalten.

Standard VPC

Bei den Verfahren des Amazon Relational Database Service (AmazonRDS) in diesem Tutorial wird davon ausgegangen, dass Sie Ressourcen in einer standardmäßigen Amazon Virtual Private Cloud (AmazonVPC) starten. Alle neuen Konten enthalten VPC in jeder AWS Region ein Standardkonto. Wenn Sie keinen Standard habenVPC, variieren die Verfahren. Anweisungen Elastic Beanstalk mit Amazon verwenden RDS für EC2 -Classic und benutzerdefinierte VPC Plattformen finden Sie unter.

AWS Regionen

Die Beispielanwendung verwendet AmazonEFS, was nur in AWS Regionen funktioniert, die Amazon unterstützenEFS. Weitere Informationen zu den unterstützten AWS Regionen finden Sie unter Amazon Elastic File System Endpoints and Quotas in der Allgemeine AWS-Referenz.

Starten Sie eine DB-Instance in Amazon RDS

Wenn Sie eine Instance mit Amazon startenRDS, ist sie völlig unabhängig von Elastic Beanstalk und Ihren Elastic Beanstalk-Umgebungen und wird nicht von Elastic Beanstalk beendet oder überwacht.

In den folgenden Schritten verwenden Sie die RDS Amazon-Konsole für:

  • Starten Sie eine Datenbank mit der My SQL Engine.

  • Aktivieren Sie eine Multi-AZ-Bereitstellung. Dadurch wird ein Standby-Modus in einer anderen Availability Zone (AZ) erstellt, um Datenredundanz bereitzustellen, das Einfrieren von I/O zu vermeiden und Latenzspitzen während der Systemsicherungen zu minimieren.

Um eine RDS DB-Instance standardmäßig zu starten VPC
  1. Öffnen Sie die RDSKonsole.

  2. Wählen Sie im Navigationsbereich Databases (Datenbanken) aus.

  3. Wählen Sie Create database (Datenbank erstellen) aus.

  4. Wählen Sie Standard Create (Standarderstellung).

    Wichtig

    Wählen Sie nicht Easy Create (Einfache Erstellung) aus. Wenn Sie es wählen, können Sie die erforderlichen Einstellungen nicht konfigurieren, um diese RDS Datenbank zu starten.

  5. Geben Sie unter Additional configuration (Zusätzliche Konfiguration) für Initial database name (Anfangsdatenbankname)ebdb“ ein.

  6. Überprüfen Sie die Standardeinstellungen und passen Sie diese Einstellungen an Ihre spezifischen Anforderungen an. Achten Sie auf die folgenden Optionen:

    • DB-Instance-Klasse — Wählen Sie eine Instance-Größe, die über eine angemessene Menge an Speicher und CPU Leistung für Ihre Arbeitslast verfügt.

    • Multi-AZ deployment (Multi-AZ-Bereitstellung) – Um hohe Verfügbarkeit zu gewährleisten, legen Sie dies unter Create an Aurora Replica/Reader node in a different AZ (Einen Aurora-Replikats-/Reader-Knoten in einer anderen AZ erstellen) fest.

    • Master username (Master-Benutzername) und Master password (Master-Passwort) – Der Benutzername und das Passwort für die Datenbank. Notieren Sie sich diese Einstellungen, um sie später zu verwenden.

  7. Überprüfen Sie die Standardeinstellungen für die übrigen Optionen und wählen Sie dann Create database (Datenbank starten) aus.

Nachdem Ihre DB-Instance erstellt wurde, ändern Sie die ihr zugewiesene Sicherheitsgruppe, um eingehenden Datenverkehr auf dem entsprechenden Port zuzulassen.

Anmerkung

Es handelt sich um die gleiche Sicherheitsgruppe, die später der Elastic Beanstalk-Umgebung zugewiesen wird. Die von Ihnen jetzt hinzugefügte Regel gewährt damit Eingangsberechtigungen für andere Ressourcen in derselben Sicherheitsgruppe.

Um die Regeln für eingehenden Datenverkehr in der Sicherheitsgruppe zu ändern, die mit Ihrer RDS Instance verknüpft ist
  1. Öffnen Sie die RDSAmazon-Konsole.

  2. Wählen Sie Datenbanken aus.

  3. Wählen Sie den Namen der DB-Instance, damit die Details der Instance angezeigt werden.

  4. Notieren Sie im Abschnitt Konnektivität die auf dieser Seite angezeigten Subnetze, Sicherheitsgruppen und Endpunkte. Auf diese Weise können Sie diese Informationen später verwenden.

  5. In Security (Sicherheit) wird die mit der DB-Instance verknüpfte Sicherheitsgruppe angezeigt. Öffnen Sie den Link, um die Sicherheitsgruppe in der EC2 Amazon-Konsole anzuzeigen.

  6. Klicken Sie in den Details der Sicherheitsgruppe auf Inbound (Eingehend).

  7. Wählen Sie Edit aus.

  8. Klicken Sie auf Add Rule (Regel hinzufügen).

  9. Wählen Sie unter Type (Typ) die von der Anwendung verwendete DB-Engine aus.

  10. Geben Sie für Source (Quelle) sg- ein, um eine Liste der verfügbaren Sicherheitsgruppen anzuzeigen. Wählen Sie die Sicherheitsgruppe aus, die mit der Auto-Scaling-Gruppe verknüpft ist, die mit Ihrer Elastic-Beanstalk-Umgebung verwendet wird. Auf diese Weise können EC2 Amazon-Instances in der Umgebung auf die Datenbank zugreifen.

    Bildschirmbild zum Bearbeiten der Eingangsregeln für eine Sicherheitsgruppe in der EC2 Amazon-Konsole.
  11. Wählen Sie Save (Speichern) aus.

Das Erstellen einer DB-Instance dauert ca. 10 Minuten. Laden Sie in der Zwischenzeit Ihre Elastic Beanstalk Beanstalk-Umgebung herunter WordPress und erstellen Sie sie.

Laden Sie herunter WordPress

Um die Bereitstellung WordPress vorzubereiten AWS Elastic Beanstalk, müssen Sie die WordPress Dateien auf Ihren Computer kopieren und die richtigen Konfigurationsinformationen angeben.

Um ein WordPress Projekt zu erstellen
  1. WordPress Von wordpress.org herunterladen.

    ~$curl https://wordpress.org/wordpress-6.2.tar.gz -o wordpress.tar.gz
  2. Laden Sie die Konfigurationsdateien aus dem Beispielrepository herunter.

    ~$ wget https://github.com/aws-samples/eb-php-wordpress/releases/download/v1.1/eb-php-wordpress-v1.zip
  3. Extrahieren WordPress und ändern Sie den Namen des Ordners.

    ~$ tar -xvf wordpress.tar.gz ~$ mv wordpress wordpress-beanstalk ~$ cd wordpress-beanstalk
  4. Extrahieren Sie die Konfigurationsdateien über die WordPress Installation.

    ~/wordpress-beanstalk$ unzip ../eb-php-wordpress-v1.zip creating: .ebextensions/ inflating: .ebextensions/dev.config inflating: .ebextensions/efs-create.config inflating: .ebextensions/efs-mount.config inflating: .ebextensions/loadbalancer-sg.config inflating: .ebextensions/wordpress.config inflating: LICENSE inflating: README.md inflating: wp-config.php

Starten einer Elastic Beanstalk-Umgebung

Erstellen Sie mit der Elastic Beanstalk-Konsole, eine Elastic Beanstalk-Umgebung. Nachdem Sie die Umgebung gestartet haben, können Sie sie so konfigurieren, dass sie eine Verbindung zur Datenbank herstellt, und dann den WordPress Code in der Umgebung bereitstellen.

In den folgenden Schritten verwenden Sie die Elastic Beanstalk-Konsole für Folgendes:

  • Erstellen Sie mithilfe der verwalteten PHPPlattform eine Elastic Beanstalk Beanstalk-Anwendung.

  • Übernehmen Sie die Standardeinstellungen und den Beispielcode.

So starten Sie eine Umgebung (Konsole)
  1. Öffnen Sie die Elastic Beanstalk Beanstalk-Konsole über diesen vorkonfigurierten Link: console.aws.amazon. com/elasticbeanstalk/home#/newApplication? applicationNameenvironmentType=Tutorialen& = LoadBalanced

  2. Wählen Sie unter Platform (Plattform) die Plattform und die Plattformvariante aus, die mit der Sprache Ihrer Anwendung übereinstimmen.

  3. Wählen Sie unter Application code (Anwendungscode) die Option Sample application (Beispielanwendung) aus.

  4. Klicken Sie auf Review and launch (Überprüfen und starten).

  5. Sehen Sie sich die verfügbaren Optionen an. Wählen Sie die gewünschte verfügbare Option aus und wählen Sie Create App (App erstellen) aus.

Das Erstellen der Umgebung dauert etwa fünf Minuten. Dabei werden die folgenden Ressourcen erstellt.

  • EC2Instanz — Eine virtuelle Maschine von Amazon Elastic Compute Cloud (AmazonEC2), die für die Ausführung von Web-Apps auf der von Ihnen ausgewählten Plattform konfiguriert ist.

    Jede Plattform führt eine spezifische Gruppe von Software, Konfigurationsdateien und Skripts zur Unterstützung einer bestimmten Sprachversion, eines Frameworks, Webcontainers oder einer Kombination daraus aus. Die meisten Plattformen verwenden entweder Apache oder NGINX als Reverse-Proxy, der sich vor Ihrer Web-App befindet, Anfragen an diese weiterleitet, statische Ressourcen bereitstellt und Zugriffs- und Fehlerprotokolle generiert.

  • Instance-Sicherheitsgruppe — Eine EC2 Amazon-Sicherheitsgruppe, die so konfiguriert ist, dass sie eingehenden Datenverkehr auf Port 80 zulässt. Diese Ressource ermöglicht es dem HTTP Datenverkehr vom Load Balancer, die EC2 Instance zu erreichen, auf der Ihre Web-App ausgeführt wird. Standardmäßig ist Datenverkehr auf anderen Ports nicht zulässig.

  • Load balancer (Load Balancer)– Ein Elastic Load Balancing Load Balancer ist für die Verteilung von Anforderungen an die Instances, auf denen Ihre Anwendung ausgeführt wird, konfiguriert. Mit einem Load Balancer müssen Ihre Instances nicht mehr direkt für das Internet zugänglich gemacht werden.

  • Load Balancer-Sicherheitsgruppe — Eine EC2 Amazon-Sicherheitsgruppe, die so konfiguriert ist, dass sie eingehenden Verkehr auf Port 80 zulässt. Diese Ressource ermöglicht es dem HTTP Datenverkehr aus dem Internet, den Load Balancer zu erreichen. Standardmäßig ist Datenverkehr auf anderen Ports nicht zulässig.

  • Auto Scaling group (Auto Scaling-Gruppe) – Eine Auto Scaling-Gruppe, die so konfiguriert ist, dass sie eine Instance ersetzt, wenn diese beendet wird oder nicht verfügbar ist.

  • Amazon S3-Bucket – Ein Speicherort für Ihren Quellcode, Protokolle und andere Artefakte, die bei der Verwendung von Elastic Beanstalk erstellt werden.

  • CloudWatch CloudWatch Amazon-Alarme — Zwei Alarme, die die Auslastung der Instances in Ihrer Umgebung überwachen und ausgelöst werden, wenn die Last zu hoch oder zu niedrig ist. Wenn ein Alarm ausgelöst wird, wird Ihre Auto Scaling-Gruppe nach oben oder nach unten skaliert.

  • AWS CloudFormation stack — Elastic Beanstalk verwendet AWS CloudFormation , um die Ressourcen in Ihrer Umgebung zu starten und Konfigurationsänderungen zu propagieren. Die Ressourcen werden in einer Vorlage definiert, die Sie in der AWS CloudFormation -Konsole anzeigen können.

  • Domainname — Ein Domainname, der in der folgenden Form an Ihre Web-App weitergeleitet wird subdomain.region.elasticbeanstalk.com.

    Domain-Sicherheit

    Um die Sicherheit Ihrer Elastic Beanstalk Beanstalk-Anwendungen zu erhöhen, ist die Domain elasticbeanstalk.com in der Public Suffix List () registriert. PSL

    Wenn Sie jemals sensible Cookies im Standard-Domainnamen für Ihre Elastic Beanstalk Beanstalk-Anwendungen einrichten müssen, empfehlen wir Ihnen, Cookies mit einem __Host- Präfix zu verwenden, um die Sicherheit zu erhöhen. Diese Vorgehensweise schützt Ihre Domain gegen Versuche zur Fälschung von Cross-Site-Requests (). CSRF Weitere Informationen finden Sie auf der Set-Cookie-Seite im Mozilla Developer Network.

All diese Ressourcen werden von Elastic Beanstalk verwaltet. Wenn Sie die Umgebung beenden, werden alle darin enthaltenen Ressourcen von Elastic Beanstalk beendet.

Da sich die von Ihnen gestartete RDS Amazon-Instance außerhalb Ihrer Umgebung befindet, sind Sie für die Verwaltung ihres Lebenszyklus verantwortlich.

Anmerkung

Der von Elastic Beanstalk erstellte Amazon S3-Bucket wird von den Umgebungen gemeinsam genutzt und beim Beenden einer Umgebung nicht gelöscht. Weitere Informationen finden Sie unter Verwenden von Elastic Beanstalk mit Amazon S3.

Konfigurieren der Sicherheitsgruppen und Umgebungseigenschaften

Fügen Sie die Sicherheitsgruppe der DB-Instance zur ausgeführten Umgebung hinzu. Dadurch stellt Elastic Beanstalk alle Instances in der Umgebung mit der zusätzlich zugeordneten Sicherheitsgruppe erneut bereit.

So fügen Sie eine Sicherheitsgruppe zur Umgebung hinzu
  • Gehen Sie folgendermaßen vor:

    • So fügen Sie eine Sicherheitsgruppe mit der Elastic Beanstalk-Konsole hinzu

      1. Öffnen Sie die Elastic Beanstalk Beanstalk-Konsole und wählen Sie in der Liste Regionen Ihre aus. AWS-Region

      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 Instances die Option Edit (Bearbeiten).

      5. Wählen Sie unter EC2Sicherheitsgruppen die Sicherheitsgruppe aus, die an die Instances angehängt werden soll, zusätzlich zu der Instance-Sicherheitsgruppe, die Elastic Beanstalk erstellt.

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

      7. Lesen Sie die Warnmeldung und klicken Sie dann auf Bestätigen.

    • Fügen Sie eine Sicherheitsgruppe mit einer Konfigurationsdatei hinzufügen. Verwenden Sie die securitygroup-addexisting.config-Beispieldatei.

Anschließend werden die Verbindungsinformationen mithilfe von Umgebungseigenschaften an die Umgebung übergeben.

Die WordPress Anwendung verwendet einen Standardsatz von Eigenschaften, die denen entsprechen, die Elastic Beanstalk konfiguriert, wenn Sie eine Datenbank in Ihrer Umgebung bereitstellen.

So konfigurieren Sie Umgebungseigenschaften für eine RDS Amazon-DB-Instance
  1. Öffnen Sie die Elastic Beanstalk Beanstalk-Konsole und wählen Sie in der Liste Regionen Ihre aus. AWS-Region

  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 Updates, monitoring and logging  (Updates, Überwachung und Protokolle) die Option Edit (Bearbeiten) aus.

  5. Definieren Sie im Abschnitt Environment properties (Umgebungseigenschaften) die Variablen, die Ihre Anwendung liest, um eine Verbindungszeichenfolge zu bilden. Verwenden Sie aus Gründen der Kompatibilität mit Umgebungen, die über eine integrierte RDS DB-Instance verfügen, die folgenden Namen und Werte. Sie finden alle Werte außer Ihrem Passwort in der RDSKonsole.

    Name der Eigenschaft Beschreibung Eigenschaftenwert

    RDS_HOSTNAME

    Der Hostname der DB-Instance.

    Auf der RDS Amazon-Konsole auf der Registerkarte Konnektivität und Sicherheit: Endpoint.

    RDS_PORT

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

    Auf der RDS Amazon-Konsole auf der Registerkarte Konnektivität und Sicherheit: Port.

    RDS_DB_NAME

    Der Datenbanknam, ebdb.

    Auf der Registerkarte Konfiguration auf der RDS Amazon-Konsole: DB-Name.

    RDS_USERNAME

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

    Auf der Registerkarte Konfiguration in der RDS Amazon-Konsole: Master-Benutzername.

    RDS_PASSWORD

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

    In der RDS Amazon-Konsole nicht als Referenz verfügbar.

    Abschnitt zur Konfiguration der Umgebungseigenschaften mit hinzugefügten RDS Eigenschaften
  6. Wählen Sie unten auf der Seite die Option Apply (Anwenden) aus, um die Änderungen zu speichern.

Konfigurieren und Bereitstellen Ihrer Anwendung

Überprüfen Sie wie gezeigt, ob die Struktur des Ordners wordpress-beanstalk korrekt ist.

wordpress-beanstalk$ tree -aL 1 . ├── .ebextensions ├── index.php ├── LICENSE ├── license.txt ├── readme.html ├── README.md ├── wp-activate.php ├── wp-admin ├── wp-blog-header.php ├── wp-comments-post.php ├── wp-config.php ├── wp-config-sample.php ├── wp-content ├── wp-cron.php ├── wp-includes ├── wp-links-opml.php ├── wp-load.php ├── wp-login.php ├── wp-mail.php ├── wp-settings.php ├── wp-signup.php ├── wp-trackback.php └── xmlrpc.php

Die angepasste Datei wp-config.php aus dem Projektrepository verwendet die Umgebungsvariablen, die Sie im vorherigen Schritt zum Konfigurieren der Datenbankverbindung definiert haben. Der Ordner .ebextensions enthält Konfigurationsdateien, die weitere Ressourcen in Ihrer Elastic Beanstalk-Umgebung erstellen.

Die Konfigurationsdateien müssen für die Arbeit mit dem Konto geändert werden. Ersetzen Sie die Platzhalterwerte in den Dateien durch die entsprechenden Werte IDs und erstellen Sie ein Quellpaket.

So aktualisieren Sie die Konfigurationsdateien und erstellen ein Quell-Bundle
  1. Ändern Sie die Konfigurationsdateien wie folgt.

    • .ebextensions/dev.config— Schränkt den Zugriff auf Ihre Umgebung ein, um sie während des WordPress Installationsvorgangs zu schützen. Ersetzen Sie die Platzhalter-IP-Adresse oben in der Datei durch die öffentliche IP-Adresse des Computers, mit dem Sie auf die Website Ihrer Umgebung zugreifen und Ihre WordPress Installation abschließen möchten.

      Anmerkung

      Abhängig von Ihrem Netzwerk benötigen Sie möglicherweise einen IP-Adressblock.

    • .ebextensions/efs-create.config— Erstellt ein EFS Dateisystem und Bereitstellungspunkte in jeder Availability Zone/jedem Subnetz in Ihrem. VPC Identifizieren Sie Ihren Standard VPC und Ihr Subnetz IDs in der VPCAmazon-Konsole.

  2. Erstellen Sie ein Quell-Bundle mit den Dateien im Projektordner. Der folgende Befehl erstellt ein Quell-Bundle mit dem Namen wordpress-beanstalk.zip.

    ~/eb-wordpress$ zip ../wordpress-beanstalk.zip -r * .[^.]*

Laden Sie das Quellpaket auf Elastic Beanstalk hoch, um es in Ihrer WordPress Umgebung bereitzustellen.

So stellen Sie ein Quell-Bundle bereit
  1. Öffnen Sie die Elastic Beanstalk Beanstalk-Konsole und wählen Sie in der Liste Regionen Ihre aus. AWS-Region

  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 auf der Umgebungsübersichtsseite die Option Upload and deploy (Hochladen und bereitstellen).

  4. Verwenden Sie das Dialogfeld auf dem Bildschirm, um das Quellpaket hochzuladen.

  5. Wählen Sie Deploy (Bereitstellen) aus.

  6. Wenn die Bereitstellung abgeschlossen ist, können Sie die Site auswählen, URL um Ihre Website in einem neuen Tab zu öffnen.

Installieren WordPress

Um Ihre WordPress Installation abzuschließen
  1. Öffnen Sie die Elastic Beanstalk Beanstalk-Konsole und wählen Sie in der Liste Regionen Ihre aus. AWS-Region

  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, filtern Sie Umgebungsliste mit der Suchleiste.

  3. Wählen Sie die Umgebung ausURL, um Ihre Site in einem Browser zu öffnen. Sie werden zu einem WordPress Installationsassistenten weitergeleitet, da Sie die Site noch nicht konfiguriert haben.

  4. Führen Sie eine Standardinstallation aus. Die Datei wp-config.php ist bereits im Quellcode vorhanden und so konfiguriert, dass sie die Informationen für die Datenbankverbindung aus der Umgebung ausliest. Sie sollten nicht zur Verbindungskonfiguration aufgefordert werden.

Die Installation dauert etwa eine Minute.

Aktualisieren von Schlüsseln und Salts

Die WordPress Konfigurationsdatei liest wp-config.php auch Werte für Schlüssel und Salze aus den Umgebungseigenschaften. Zurzeit werden diese Eigenschaften alle von der Datei test im Ordner wordpress.config auf den Wert .ebextensions festgelegt.

Der Hash-Salt kann jeder Wert sein, der die Anforderungen an Umgebungseigenschaften erfüllt, Sie sollten ihn jedoch nicht in der Versionskontrolle speichern. Legen Sie diese Eigenschaften mithilfe der Elastic Beanstalk-Konsole direkt in der Umgebung fest.

So aktualisieren Sie die Umgebungseigenschaften
  1. Öffnen Sie die Elastic Beanstalk Beanstalk-Konsole und wählen Sie in der Liste Regionen Ihre aus. AWS-Region

  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, filtern Sie Umgebungsliste mit der Suchleiste.

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

  4. Wählen Sie unter Software die Option Edit (Bearbeiten).

  5. Ändern Sie für Environment properties die folgenden Eigenschaften:

    • AUTH_KEY – Der gewählte Wert für AUTH_KEY.

    • SECURE_AUTH_KEY – Der gewählte Wert für SECURE_AUTH_KEY.

    • LOGGED_IN_KEY – Der gewählte Wert für LOGGED_IN_KEY.

    • NONCE_KEY – Der gewählte Wert für NONCE_KEY.

    • AUTH_SALT – Der gewählte Wert für AUTH_SALT.

    • SECURE_AUTH_SALT – Der gewählte Wert für SECURE_AUTH_SALT.

    • LOGGED_IN_SALT – Der gewählte Wert für LOGGED_IN_SALT.

    • NONCE_SALT – Der gewählte Wert für NONCE_SALT.

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

Anmerkung

Wenn Sie die Eigenschaften direkt in der Umgebung festlegen, werden die Werte in wordpress.configüberschrieben.

Entfernen von Zugriffsbeschränkungen

Das Beispielprojekt enthält die Konfigurationsdatei loadbalancer-sg.config. Es erstellt eine Sicherheitsgruppe und weist sie dem Load Balancer der Umgebung unter Verwendung der IP-Adresse zu, die Sie in dev.config konfiguriert haben. Sie beschränkt den HTTP Zugriff auf Port 80 auf Verbindungen aus Ihrem Netzwerk. Andernfalls könnte eine externe Partei möglicherweise eine Verbindung zu Ihrer Site herstellen, bevor Sie Ihr Administratorkonto installiert WordPress und konfiguriert haben.

Nachdem Sie die Installation abgeschlossen haben WordPress, entfernen Sie die Konfigurationsdatei, um die Site der ganzen Welt zugänglich zu machen.

So entfernen Sie die Beschränkung und aktualisieren die Umgebung
  1. Löschen Sie die Datei .ebextensions/loadbalancer-sg.config aus dem Projektverzeichnis.

    ~/wordpress-beanstalk$ rm .ebextensions/loadbalancer-sg.config
  2. Erstellen Sie ein Quell-Bundle.

    ~/eb-wordpress$ zip ../wordpress-beanstalk-v2.zip -r * .[^.]*

Laden Sie das Quellpaket auf Elastic Beanstalk hoch, um es in Ihrer WordPress Umgebung bereitzustellen.

So stellen Sie ein Quell-Bundle bereit
  1. Öffnen Sie die Elastic Beanstalk Beanstalk-Konsole und wählen Sie in der Liste Regionen Ihre aus. AWS-Region

  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 auf der Umgebungsübersichtsseite die Option Upload and deploy (Hochladen und bereitstellen).

  4. Verwenden Sie das Dialogfeld auf dem Bildschirm, um das Quellpaket hochzuladen.

  5. Wählen Sie Deploy (Bereitstellen) aus.

  6. Wenn die Bereitstellung abgeschlossen ist, können Sie die Site auswählen, URL um Ihre Website in einem neuen Tab zu öffnen.

Konfigurieren der Auto-Scaling-Gruppe

Konfigurieren Sie abschließend für die Auto-Scaling-Gruppe der Umgebung eine höhere Instance-Mindestanzahl. Führen Sie stets mindestens zwei Instances aus, um zu verhindern, dass die Webserver in Ihrer Umgebung eine einzelne Fehlerquelle darstellen. Dadurch können Sie Änderungen bereitstellen, ohne Ihre Website außer Betrieb zu nehmen.

So konfigurieren Sie die Auto-Scaling-Gruppe in der Umgebung für hohe Verfügbarkeit
  1. Öffnen Sie die Elastic Beanstalk Beanstalk-Konsole und wählen Sie in der Liste Regionen Ihre aus. AWS-Region

  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 Capacity (Kapazität) die Option Edit (Bearbeiten).

  5. Legen Sie im Abschnitt Auto Scaling Group (Gruppe der automatischen Skalierung) für die Option Min instances (Min. Instances) 2 fest.

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

Um Inhalts-Uploads über mehrere Instanzen hinweg zu unterstützen, verwendet das Beispielprojekt Amazon, EFS um ein gemeinsames Dateisystem zu erstellen. Erstellen Sie einen Beitrag auf der Website und laden Sie Inhalte hoch, die im freigegebenen Dateisystem gespeichert werden sollen. Zeigen Sie den Beitrag an und aktualisieren Sie die Seite mehrfach, damit Instances genutzt werden und zugleich verifiziert wird, dass das freigegebene Dateisystem funktioniert.

Upgrade durchführen WordPress

Um auf eine neue Version von zu aktualisieren WordPress, sichern Sie Ihre Site und stellen Sie sie in einer neuen Umgebung bereit.

Wichtig

Verwenden Sie nicht die darin enthaltene Aktualisierungsfunktion und aktualisieren Sie Ihre Quelldateien nicht, um eine neue Version zu verwenden. WordPress Beide Aktionen können dazu führen, dass Ihr Beitrag 404-Fehler URLs zurückgibt, obwohl sie sich noch in der Datenbank und im Dateisystem befinden.

Um ein Upgrade durchzuführen WordPress
  1. Verwenden Sie in der WordPress Admin-Konsole das Export-Tool, um Ihre Beiträge in eine XML Datei zu exportieren.

  2. Stellen Sie die neue Version von WordPress to Elastic Beanstalk bereit und installieren Sie sie. Gehen Sie dabei genauso vor wie bei der Installation der vorherigen Version. Wenn Sie eine Umgebung mit der neuen Version erstellen, können Sie Ausfallzeiten vermeiden.

  3. Installieren Sie in der neuen Version das WordPress Importer-Tool in der Admin-Konsole und importieren Sie damit die XML Datei, die Ihre Beiträge enthält. Wenn die Beiträge vom Benutzer "admin" mit der alten Version erstellt wurden, weisen Sie sie dem Benutzer "admin" der neuen Website zu, anstatt den Benutzer "admin" zu importieren.

  4. Wenn Sie die neue Version in einer separaten Umgebung bereitgestellt haben, führen Sie einen CNAMESwap durch, um Benutzer von der alten Site auf die neue Site umzuleiten.

Bereinigen

Wenn Sie nicht mehr mit Elastic Beanstalk arbeiten, können Sie Ihre Umgebung beenden. Elastic Beanstalk beendet alle AWS Ressourcen, die mit Ihrer Umgebung verknüpft sind, wie EC2Amazon-Instances, Datenbank-Instances, Load Balancer, Sicherheitsgruppen und Alarme.

So beenden Sie Ihre Elastic Beanstalk Beanstalk-Umgebung von der Konsole aus
  1. Öffnen Sie die Elastic Beanstalk Beanstalk-Konsole und wählen Sie in der Liste Regionen Ihre aus. AWS-Region

  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, filtern Sie Umgebungsliste mit der Suchleiste.

  3. Klicken Sie auf Actions (Aktionen) und dann auf Terminate Environment (Umgebung beenden).

  4. Verwenden Sie das Dialogfeld auf dem Bildschirm, um die Beendigung der Umgebung zu bestätigen.

Mit Elastic Beanstalk können Sie ganz einfach und jederzeit eine neue Umgebung für Ihre Anwendung erstellen.

Außerdem können Sie Datenbankressourcen beenden, die außerhalb der Elastic Beanstalk-Umgebung erstellt wurden. Wenn Sie eine Amazon RDS DB-Instance beenden, können Sie einen Snapshot erstellen und die Daten später auf einer anderen Instance wiederherstellen.

Um Ihre RDS DB-Instance zu beenden
  1. Öffnen Sie die RDSAmazon-Konsole.

  2. Wählen Sie Datenbanken aus.

  3. Wählen Sie Ihre DB-Instance aus.

  4. Wählen Sie Aktionen und anschließend Löschen aus.

  5. Wählen Sie, ob Sie einen Snapshot erstellen, und wählen Sie anschließend Delete (Löschen).

Nächste Schritte

Im weiteren Verlauf der Anwendungsentwicklung können Sie Umgebungen verwalten und Anwendungen bereitstellen, ohne manuell eine ZIP-Datei zu erstellen und diese in die Elastic Beanstalk-Konsole hochzuladen. Das Elastic Beanstalk Command Line Interface (EBCLI) bietet easy-to-use Befehle zum Erstellen, Konfigurieren und Bereitstellen von Anwendungen in Elastic Beanstalk Beanstalk-Umgebungen von der Befehlszeile aus.

Die Beispielanwendung verwendet Konfigurationsdateien, um PHP Einstellungen zu konfigurieren und eine Tabelle in der Datenbank zu erstellen, falls diese noch nicht vorhanden ist. Mit einer Konfigurationsdatei können Sie zudem während des Erstellens der Umgebung die Sicherheitsgruppeneinstellungen der Instance konfigurieren und so zeitaufwendige Aktualisierungen der Konfiguration verhindern. Weitere Informationen finden Sie unter Erweiterte Umgebungsanpassung mit Konfigurationsdateien (.ebextensions).

Für die Entwicklung sowie für Tests können Sie die Elastic Beanstalk-Funktionalität nutzen und eine verwaltete DB-Instance direkt in der Umgebung hinzufügen. Detaillierte Anweisungen zum Einrichten einer Datenbank in der Umgebung finden Sie unter Hinzufügen einer Datenbank zu Ihrer Elastic Beanstalk-Umgebung.

Wenn Sie eine Datenbank mit hoher Verfügbarkeit benötigen, können Sie Amazon Aurora verwenden. Amazon Aurora ist eine My SQL -kompatible Datenbank-Engine, die kommerzielle Datenbankfunktionen zu niedrigen Kosten bietet. Um Ihre Anwendung mit einer anderen Datenbank zu verbinden, wiederholen Sie die Schritte zur Konfiguration der Sicherheitsgruppe und aktualisieren Sie die RDS entsprechenden Umgebungseigenschaften.

Wenn Sie Ihre Anwendung in einer Produktionsumgebung verwenden möchten, sollten Sie schließlich einen benutzerdefinierten Domänennamen für Ihre Umgebung konfigurieren und sichere Verbindungen aktivieren HTTPS.