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 Amazon RDS-Datenbank auf Elastic Beanstalk
In diesem Tutorial wird beschrieben, wie Sie eine externe Amazon RDS-DB-Instance starten und dann eine Hochverfügbarkeitsumgebung konfigurieren AWS Elastic Beanstalk, in der eine WordPress Website ausgeführt wird, um eine Verbindung zu ihr herzustellen. Die Website verwendet Amazon Elastic File System (Amazon EFS) 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 von mehreren Umgebungen aus eine Verbindung zu derselben Datenbank herstellen, eine Datenbank gegen eine andere austauschen oder eine blue/green Bereitstellung durchführen, ohne Ihre Datenbank zu beeinträchtigen.
Anmerkung
Aktuelle Informationen zur Kompatibilität von WordPress PHP-Versionen mit Versionen finden Sie auf der WordPress Website unter
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 Erfahren Sie, wie Sie mit Elastic Beanstalk loslegen 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,
Standard-VPC
Bei den Verfahren in diesem Tutorial für Amazon Relational Database Service (Amazon RDS) wird davon ausgegangen, dass Sie Ressourcen in einer standardmäßigen Amazon Virtual Private Cloud (Amazon VPC) starten. Alle neuen Konten enthalten eine Standard-VPC in jeder Region. AWS Wenn Sie nicht über eine Standard-VPC verfügen, sind die Verfahren unterschiedlich. Anweisungen Verwenden von Elastic Beanstalk mit Amazon RDS für EC2-Classic und benutzerdefinierte VPC-Plattformen finden Sie unter.
AWS Regionen
Die Beispielanwendung verwendet Amazon EFS, das nur in AWS Regionen funktioniert, die Amazon EFS unterstützen. Weitere Informationen zu den unterstützten AWS Regionen finden Sie unter Amazon Elastic File System Endpoints and Quotas im Allgemeine AWS-Referenz.
Starten einer DB-Instance in Amazon RDS
Wenn Sie eine Instance mit Amazon RDS starten, ist diese gänzlich unabhängig von Elastic Beanstalk und den Elastic Beanstalk-Umgebungen. Sie wird von Elastic Beanstalk weder beendet noch überwacht.
In den folgenden Schritten verwenden Sie die Amazon RDS-Konsole für Folgendes:
-
Starten Sie eine Datenbank mit der MySQL-Engine.
-
Aktivieren Sie eine Multi-AZ Bereitstellung. Dadurch wird eine Standby-Zone in einer anderen Availability Zone (AZ) eingerichtet, um Datenredundanz zu gewährleisten, I/O Einfrierungen zu vermeiden und Latenzspitzen bei Systemsicherungen zu minimieren.
So starten Sie eine RDS DB-Instance in einer Standard-VPC
-
Öffnen Sie die RDS-Konsole
. -
Wählen Sie im Navigationsbereich Databases (Datenbanken) aus.
-
Wählen Sie Create database (Datenbank erstellen) aus.
-
Wählen Sie Standard Create (Standarderstellung).
Wichtig
Wählen Sie nicht Easy Create (Einfache Erstellung) aus. Wenn Sie diese Option auswählen, können Sie die erforderlichen Einstellungen zum Starten dieser RDS-Datenbank nicht konfigurieren.
-
Geben Sie unter Additional configuration (Zusätzliche Konfiguration) für Initial database name (Anfangsdatenbankname) „
ebdb“ ein. -
Überprüfen Sie die Standardeinstellungen und passen Sie diese Einstellungen an Ihre spezifischen Anforderungen an. Achten Sie auf die folgenden Optionen:
-
DB instance class (DB-Instance-Klasse) – Wählen Sie eine Instance-Größe, die eine geeignete Speichermenge und CPU-Leistung für den Workload bereitstellt.
-
Multi-AZ Bereitstellung — Für hohe Verfügbarkeit setzen Sie diese Option auf Einen Replica/Reader Aurora-Knoten in einer anderen AZ erstellen.
-
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.
-
-
Ü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.
So ändern Sie die Eingangsregeln für die Sicherheitsgruppe, die an Ihre RDS-Instance angehängt ist
-
Öffnen Sie die Amazon RDS-Konsole
. -
Wählen Sie Datenbanken aus.
-
Wählen Sie den Namen der DB-Instance, damit die Details der Instance angezeigt werden.
-
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.
-
In Security (Sicherheit) wird die mit der DB-Instance verknüpfte Sicherheitsgruppe angezeigt. Öffnen Sie den Link, um die Sicherheitsgruppe in der Amazon EC2-Konsole aufzurufen.
-
Klicken Sie in den Details der Sicherheitsgruppe auf Inbound (Eingehend).
-
Wählen Sie Edit aus.
-
Klicken Sie auf Add Rule (Regel hinzufügen).
-
Wählen Sie unter Type (Typ) die von der Anwendung verwendete DB-Engine aus.
-
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. So können Amazon-EC2-Instances in der Umgebung Zugriff auf die Datenbank haben.
-
Wählen Sie Speichern.
Das Erstellen einer DB-Instance dauert ca. 10 Minuten. Laden Sie in der Zwischenzeit Ihre Elastic 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
-
Laden Sie es WordPress von wordpress.org
herunter. ~$curl https://wordpress.org/wordpress-6.2.tar.gz -o wordpress.tar.gz -
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 -
Extrahieren WordPress und ändern Sie den Namen des Ordners.
~$tar -xvf wordpress.tar.gz~$mv wordpress wordpress-beanstalk~$cd wordpress-beanstalk -
Extrahieren Sie die Konfigurationsdateien während der WordPress Installation.
~/wordpress-beanstalk$unzip ../eb-php-wordpress-v1.zipcreating: .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 eine Verbindung zur Datenbank hergestellt wird, und dann den WordPress Code in der Umgebung bereitstellen.
In den folgenden Schritten verwenden Sie die Elastic Beanstalk-Konsole für Folgendes:
-
Erstellen Sie eine Elastic Beanstalk-Anwendung mit der verwalteten PHP-Plattform.
-
Übernehmen Sie die Standardeinstellungen und den Beispielcode.
So starten Sie eine Umgebung (Konsole)
-
Öffnen Sie die Elastic Beanstalk-Konsole über diesen vorkonfigurierten Link: console.aws.amazon. com/elasticbeanstalk/home #/Neue Anwendung? Anwendungsname=Tutorials&EnvironmentType= LoadBalanced
-
Wählen Sie unter Platform (Plattform) die Plattform und die Plattformvariante aus, die mit der Sprache Ihrer Anwendung übereinstimmen.
-
Wählen Sie unter Application code (Anwendungscode) die Option Sample application (Beispielanwendung) aus.
-
Klicken Sie auf Review and launch (Überprüfen und starten).
-
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.
-
Beanstalk Standard — Für eine Umgebung, die auf Amazon Elastic Compute Cloud (Amazon EC2) ausgeführt wird, stellt Elastic Beanstalk die folgenden Ressourcen bereit:
-
EC2-Instance — Eine virtuelle Amazon EC2-Maschine, die für die Ausführung von Webanwendungen 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 vor der Web-App platziert ist, Anforderungen weiterleitet, statische Komponenten bedient und Zugriffs- und Fehlerprotokolle generiert.
-
Instance security group (Instance-Sicherheitsgruppe): Eine Amazon EC2-Sicherheitsgruppe, die so konfiguriert ist, dass eingehender Datenverkehr auf Port 80 erlaubt ist. Mit dieser Ressource kann HTTP-Datenverkehr vom Load Balancer die EC2-Instance mit Ihrer Web-App erreichen. Standardmäßig ist Datenverkehr auf anderen Ports nicht zulässig.
-
Load balancer security group (Load Balancer-Sicherheitsgruppe): Eine Amazon EC2-Sicherheitsgruppe, die so konfiguriert ist, dass eingehender Datenverkehr auf Port 80 erlaubt ist. Diese Ressource ermöglicht, dass HTTP-Datenverkehr aus dem Internet den Load Balancer erreicht. 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.
-
CloudWatch Amazon-Alarme — Zwei CloudWatch 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.
-
-
Beanstalk Cluster — Für eine Umgebung, die auf Amazon EKS ausgeführt wird, stellt Elastic Beanstalk die folgenden Ressourcen bereit:
-
Amazon EKS-Cluster — Ein Amazon EKS-Cluster, den Elastic Beanstalk erstellt und betreibt. Umgebungen im selben Konto, die dieselben Subnetze verwenden, teilen sich einen Cluster.
-
Compute — Knotenkapazität, die vom Amazon EKS Auto Mode bereitgestellt wird. Dabei werden Knoten hinzugefügt und entfernt, sodass sie zu den im Cluster geplanten Anwendungsreplikaten passen.
-
IAM-Rollen — Die Cluster- und Node-Rollen, die Sie für Amazon EKS bereitstellen, und die Observability-Rolle, die Elastic Beanstalk verwendet, um die Metriken, Logs und Traces der Umgebung zu veröffentlichen.
Weitere Informationen zu dieser Infrastruktur finden Sie unter. Beanstalk Cluster-Architektur
-
-
Load Balancer — Ein Load Balancer, der eingehende Anfragen auf Ihre Anwendung verteilt. Ein Load Balancer macht es auch überflüssig, Ihre Anwendung direkt dem Internet auszusetzen.
-
Amazon S3-Bucket – Ein Speicherort für Ihren Quellcode, Protokolle und andere Artefakte, die bei der Verwendung von Elastic Beanstalk erstellt werden.
-
CloudFormation Stack — Elastic Beanstalk verwendet CloudFormation es, um die Ressourcen in Ihrer Umgebung zu starten und Konfigurationsänderungen zu verbreiten. Die Ressourcen werden in einer Vorlage definiert, die Sie in der CloudFormation -Konsole
anzeigen können. -
Domainname — Ein Domainname, der im Formular zu Ihrer Web-App weitergeleitet wird.
subdomainregion.elasticbeanstalk.com.Sicherheit der Domain
Wenn Sie jemals vertrauliche Cookies im Standard-Domainnamen für Ihre Elastic Beanstalk-Anwendungen setzen müssen, empfehlen wir Ihnen, Cookies mit einem Präfix zu verwenden, um die Sicherheit zu erhöhen.
__Host-Diese Vorgehensweise schützt Ihre Domain vor Cross-Site-Request-Forgery-Versuchen (CSRF). Weitere Informationen finden Sie auf der Set-CookieSeite 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 die Amazon RDS-Instance von Ihnen außerhalb der Umgebung gestartet wurde, müssen Sie die Verwaltung ihres Lebenszyklus übernehmen.
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
Öffnen Sie die Elastic Beanstalk-Konsole
und wählen Sie in der Liste der Regionen Ihre aus. AWS-Region -
Wählen Sie im Navigationsbereich Environments (Umgebungen) aus und wählen Sie dann in der Liste den Namen Ihrer Umgebung aus.
Wählen Sie im Navigationsbereich Configuration (Konfiguration) aus.
-
Wählen Sie in der Konfigurationskategorie Instances die Option Edit (Bearbeiten).
-
Wählen Sie unter EC2 security groups (EC2-Sicherheitsgruppen) außer der von Elastic Beanstalk erstellten Instance-Sicherheitsgruppe, eine Sicherheitsgruppe aus, die an die Instances angehängt werden soll.
-
Wählen Sie unten auf der Seite die Option Apply (Anwenden) aus, um die Änderungen zu speichern.
-
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 DB-Instance von Amazon RDS
Öffnen Sie die Elastic Beanstalk-Konsole
und wählen Sie in der Liste der Regionen Ihre aus. AWS-Region -
Wählen Sie im Navigationsbereich Environments (Umgebungen) aus und wählen Sie dann in der Liste den Namen Ihrer Umgebung aus.
Wählen Sie im Navigationsbereich Configuration (Konfiguration) aus.
-
Wählen Sie in der Konfigurationskategorie Updates, monitoring and logging (Updates, Überwachung und Protokolle) die Option Edit (Bearbeiten) aus.
-
Definieren Sie im Abschnitt Environment properties (Umgebungseigenschaften) die Variablen, die Ihre Anwendung liest, um eine Verbindungszeichenfolge zu bilden. Zur Sicherstellung der Kompatibilität mit Umgebungen, die eine integrierte RDS-DB-Instance haben, verwenden Sie die folgenden Namen und Werte. Sie finden alle Werte außer dem Passwort in der RDS-Konsole
. Name der Eigenschaft Beschreibung Eigenschaftenwert RDS_HOSTNAMEDer Hostname der DB-Instance.
Auf der Registerkarte Connectivity & security (Konnektivität und Sicherheit) in der Amazon RDS-Konsole: Endpoint (Endpunkt).
RDS_PORTDer 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_NAMEDer Datenbanknam,
ebdb.Auf der Registerkarte Configuration (Konfiguration) der Amazon RDS-Konsole: DB-Name.
RDS_USERNAMEDer Benutzername, der für die Datenbank konfiguriert wurde.
Auf der Registerkarte Configuration (Konfiguration) in der Amazon RDS-Konsole: Master username (Master-Benutzername).
RDS_PASSWORDDas Passwort, das für die Datenbank konfiguriert wurde.
Es ist in der Amazon RDS-Konsole nicht als Referenz angegeben.
-
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 IDs und erstellen Sie ein Quell-Bundle.
So aktualisieren Sie die Konfigurationsdateien und erstellen ein Quell-Bundle
-
Ä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, um Ihre WordPress Installation abzuschließen.Anmerkung
Abhängig von Ihrem Netzwerk benötigen Sie möglicherweise einen IP-Adressblock.
-
.ebextensions/efs-create.config— Erstellt ein EFS-Dateisystem und Mountpunkte in jeder Verfügbarkeit Zone/subnet in Ihrer VPC. Ermitteln Sie die IDs von Standard-VPC und Subnetz in der Amazon VPC-Konsole.
-
-
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 Umgebung WordPress bereitzustellen.
So stellen Sie ein Quell-Bundle bereit
Öffnen Sie die Elastic Beanstalk-Konsole
und wählen Sie in der Liste der Regionen Ihre aus. AWS-Region -
Wählen Sie im Navigationsbereich Environments (Umgebungen) aus und wählen Sie dann in der Liste den Namen Ihrer Umgebung aus.
-
Wählen Sie auf der Umgebungsübersichtsseite die Option Upload and deploy (Hochladen und bereitstellen).
-
Verwenden Sie das Dialogfeld auf dem Bildschirm, um das Quellpaket hochzuladen.
-
Wählen Sie Deploy (Bereitstellen) aus.
-
Wenn die Bereitstellung abgeschlossen ist, wählen Sie die Website-URL, um Ihre Website in einer neuen Registerkarte zu öffnen.
Installieren WordPress
Um Ihre WordPress Installation abzuschließen
Öffnen Sie die Elastic Beanstalk-Konsole
und wählen Sie in der Liste der Regionen Ihre aus. AWS-Region -
Wählen Sie im Navigationsbereich Environments (Umgebungen) aus und wählen Sie dann in der Liste den Namen Ihrer Umgebung aus.
-
Wählen Sie die Umgebungs-URL aus, um die Website in einem Browser zu öffnen. Sie werden zu einem WordPress Installationsassistenten weitergeleitet, da Sie die Site noch nicht konfiguriert haben.
-
Führen Sie eine Standardinstallation aus. Die Datei
wp-config.phpist 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
Öffnen Sie die Elastic Beanstalk-Konsole
und wählen Sie in der Liste Regionen Ihre aus. AWS-Region -
Wählen Sie im Navigationsbereich Environments (Umgebungen) aus und wählen Sie dann in der Liste den Namen Ihrer Umgebung aus.
-
Wählen Sie im Navigationsbereich Configuration (Konfiguration) aus.
-
Wählen Sie unter Software die Option Edit (Bearbeiten).
-
Ändern Sie für
Environment propertiesdie folgenden Eigenschaften:-
AUTH_KEY– Der gewählte Wert fürAUTH_KEY. -
SECURE_AUTH_KEY– Der gewählte Wert fürSECURE_AUTH_KEY. -
LOGGED_IN_KEY– Der gewählte Wert fürLOGGED_IN_KEY. -
NONCE_KEY– Der gewählte Wert fürNONCE_KEY. -
AUTH_SALT– Der gewählte Wert fürAUTH_SALT. -
SECURE_AUTH_SALT– Der gewählte Wert fürSECURE_AUTH_SALT. -
LOGGED_IN_SALT– Der gewählte Wert fürLOGGED_IN_SALT. -
NONCE_SALT– Der gewählte Wert fürNONCE_SALT.
-
-
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 schränkt den HTTP-Zugriff auf Port 80 auf die Verbindungen in Ihrem Netzwerk ein. Andernfalls könnte sich möglicherweise eine externe Partei mit Ihrer Site verbinden, bevor Sie Ihr Administratorkonto installiert WordPress und konfiguriert haben.
Nachdem Sie die Installation abgeschlossen haben WordPress, entfernen Sie die Konfigurationsdatei, um die Website der ganzen Welt zugänglich zu machen.
So entfernen Sie die Beschränkung und aktualisieren die Umgebung
-
Löschen Sie die Datei
.ebextensions/loadbalancer-sg.configaus dem Projektverzeichnis.~/wordpress-beanstalk$rm .ebextensions/loadbalancer-sg.config -
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
Öffnen Sie die Elastic Beanstalk-Konsole
und wählen Sie in der Liste der Regionen Ihre aus. AWS-Region -
Wählen Sie im Navigationsbereich Environments (Umgebungen) aus und wählen Sie dann in der Liste den Namen Ihrer Umgebung aus.
-
Wählen Sie auf der Umgebungsübersichtsseite die Option Upload and deploy (Hochladen und bereitstellen).
-
Verwenden Sie das Dialogfeld auf dem Bildschirm, um das Quellpaket hochzuladen.
-
Wählen Sie Deploy (Bereitstellen) aus.
-
Wenn die Bereitstellung abgeschlossen ist, wählen Sie die Website-URL, um Ihre Website in einer neuen Registerkarte 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
Öffnen Sie die Elastic Beanstalk-Konsole
und wählen Sie in der Liste der Regionen Ihre aus. AWS-Region -
Wählen Sie im Navigationsbereich Environments (Umgebungen) aus und wählen Sie dann in der Liste den Namen Ihrer Umgebung aus.
Wählen Sie im Navigationsbereich Configuration (Konfiguration) aus.
-
Wählen Sie in der Konfigurationskategorie Capacity (Kapazität) die Option Edit (Bearbeiten).
-
Legen Sie im Abschnitt Auto Scaling Group (Gruppe der automatischen Skalierung) für die Option Min instances (Min. Instances)
2fest. -
Wählen Sie unten auf der Seite die Option Apply (Anwenden) aus, um die Änderungen zu speichern.
Das Beispielprojekt erstellt mit Amazon EFS ein freigegebenes Dateisystem und ermöglicht das Hochladen von Inhalten über mehrere Instances hinweg. 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.
Aktualisieren WordPress
Um auf eine neue Version von zu aktualisieren WordPress, sichern Sie Ihre Website und stellen Sie sie in einer neuen Umgebung bereit.
Wichtig
Verwenden Sie nicht die Aktualisierungsfunktion in WordPress und aktualisieren Sie Ihre Quelldateien nicht, um eine neue Version zu verwenden. Beide Aktionen können dazu führen, dass die Beitrags-URL den Fehler 404 zurückgeben, obwohl sie sich noch in der Datenbank und im Dateisystem befinden.
Um ein Upgrade durchzuführen WordPress
-
Verwenden Sie in der WordPress Admin-Konsole das Export-Tool, um Ihre Beiträge in eine XML-Datei zu exportieren.
-
Stellen Sie die neue Version von WordPress auf Elastic Beanstalk bereit und installieren Sie sie mit den gleichen Schritten wie bei der Installation der Vorgängerversion. Wenn Sie eine Umgebung mit der neuen Version erstellen, können Sie Ausfallzeiten vermeiden.
-
Installieren Sie in der neuen Version das WordPress Importer-Tool in der Admin-Konsole und verwenden Sie es, um die XML-Datei mit Ihren Beiträgen zu importieren. 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.
-
Wenn Sie die neue Version in einer separaten Umgebung bereitgestellt haben, führen Sie einen CNAME-Austausch durch, um Benutzer von der alten zur neuen Site umzuleiten.
Bereinigen
Nachdem Sie die Arbeit mit dem Demo-Code abgeschlossen haben, können Sie Ihre Umgebung beenden. Elastic Beanstalk löscht alle zugehörigen AWS Ressourcen wie Amazon EC2-Instances, Datenbank-Instances, Load Balancer , Sicherheitsgruppen und Alarme.
Durch das Entfernen von Ressourcen wird die Elastic Beanstalk-Anwendung nicht gelöscht, sodass Sie jederzeit neue Umgebungen für Ihre Anwendung erstellen können.
Um Ihre Elastic Beanstalk-Umgebung von der Konsole aus zu beenden
Öffnen Sie die Elastic Beanstalk-Konsole
und wählen Sie in der Liste der Regionen Ihre aus. AWS-Region -
Wählen Sie im Navigationsbereich Environments (Umgebungen) aus und wählen Sie dann in der Liste den Namen Ihrer Umgebung aus.
-
Klicken Sie auf Actions (Aktionen) und dann auf Terminate Environment (Umgebung beenden).
-
Verwenden Sie das Dialogfeld auf dem Bildschirm, um die Beendigung der Umgebung zu bestätigen.
Außerdem können Sie Datenbankressourcen beenden, die außerhalb der Elastic Beanstalk-Umgebung erstellt wurden. Beim Beenden einer Amazon RDS-DB-Instance können Sie einen Snapshot erstellen und die Daten zu einem späteren Zeitpunkt in einer anderen Instance wiederherstellen.
So beenden Sie Ihre RDS DB-Instance
-
Öffnen Sie die Amazon RDS-Konsole
. -
Wählen Sie Datenbanken aus.
-
Wählen Sie Ihre DB-Instance aus.
-
Wählen Sie Aktionen und anschließend Löschen aus.
-
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. Die Elastic Beanstalk Command Line Interface (Elastic Beanstalk Befehlszeilenschnittstelle) (EB CLI) stellt benutzerfreundliche Befehle zum Erstellen, Konfigurieren und Bereitstellen von Anwendungen in Elastic Beanstalk-Umgebungen über die Befehlszeile bereit.
In der Beispielanwendung werden Konfigurationsdateien verwendet, um PHP-Einstellungen zu konfigurieren und eine Tabelle in der Datenbank zu erstellen (sofern nicht bereits vorhanden). 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 Anpassung der Umgebung 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
Sofern Sie planen, die Anwendung in einer Produktionsumgebung einzusetzen, konfigurieren Sie einen benutzerdefinierten Domainnamen für die Umgebung und aktivieren dann HTTPS für sichere Verbindungen.