Skalieren der Web-Tier - Bewährte Methoden für WordPress in AWS

Skalieren der Web-Tier

Um Ihre Einzelserver-Architektur zu einer skalierbaren Multi-Server-Architektur zu erweitern, benötigen Sie fünf Schlüsselkomponenten:

  • Amazon-EC2-Instances

  • Amazon Machine Images (AMIs)

  • Lastenverteilungen

  • Automatische Skalierung

  • Zustandsprüfungen

AWS bietet eine Vielzahl von EC2-Instance-Typen, damit Sie die beste Serverkonfiguration zur Steigerung der Leistung und Senkung der Kosten auswählen können. Im Allgemeinen kann der rechenoptimierte Instance-Typ (z. B. C4) eine gute Wahl für einen WordPress-Webserver sein. Sie können Ihre Instances in mehreren Availability Zones in einer AWS-Region bereitstellen, um die Zuverlässigkeit der Gesamtarchitektur zu erhöhen.

Da Sie die vollständige Kontrolle über Ihre EC2-Instance haben, können Sie sich mit Root-Zugriff anmelden, um alle erforderlichen Softwarekomponenten für den Betrieb einer WordPress-Website zu installieren und zu konfigurieren. Wenn Sie fertig sind, können Sie diese Konfiguration als AMI speichern, mit dem Sie neue Instances mit allen von Ihnen vorgenommenen Anpassungen starten können.

Zur Verteilung von Endbenutzeranfragen an mehrere Webserverknoten benötigen Sie eine Lastenverteilungslösung. AWS stellt diese Funktion mit Elastic Load Balancing bereit, einem hochverfügbaren Service, der den Datenverkehr auf mehrere EC2-Instances verteilt. Da Ihre Website Inhalte über HTTP oder HTTPS für Ihre Benutzer bereitstellt, empfehlen wir Ihnen die Verwendung des Application Load Balancer. Dabei handelt es sich um eine Lastenverteilung auf Anwendungsebene mit Inhaltsrouting und der Möglichkeit, bei Bedarf mehrere WordPress-Websites auf verschiedenen Domänen auszuführen.

Elastic Load Balancing unterstützt die Verteilung von Anfragen in mehreren Availability Zones innerhalb einer AWS-Region. Sie können eine Zustandsprüfung auch so konfigurieren, dass der Application Load Balancer automatisch den Versand von Datenverkehr an einzelne Instances einstellt, die ausgefallen sind (z. B. aufgrund eines Hardwareproblems oder eines Software-Absturzes). AWS empfiehlt, die WordPress-Admin-Anmeldeseite (/wp-login.php) für die Zustandsprüfung zu verwenden, da auf dieser Seite bestätigt wird, dass der Webserver ausgeführt wird und für die korrekte Bereitstellung von PHP-Dateien konfiguriert ist.

Sie können eine Seite für benutzerdefinierte Zustandsprüfungen erstellen, die andere abhängige Ressourcen wie Datenbank- und Cache-Ressourcen überprüft. Weitere Informationen finden Sie unter Zustandsprüfungen für Ihre Zielgruppen im Leitfaden zum Application Load Balancer.

Ein wesentliches Merkmal der AWS Cloud ist Elastizität. Sie können bei Bedarf mehr oder weniger Rechenkapazität (z. B. Webserver) launchen.AWS Auto Scaling ist ein AWS-Service, mit dem Sie diese Bereitstellung automatisieren können, um Ihre Amazon-EC2-Kapazität ohne manuelle Eingriffe Ihren Anforderungen entsprechend auf- oder abzuskalieren. Sie können AWS Auto Scaling so konfigurieren, dass die Anzahl der verwendeten EC2-Instances bei Nachfragespitzen nahtlos ansteigt, um die Leistung aufrechtzuerhalten, und automatisch abnimmt, wenn der Datenverkehr nachlässt, um Kosten zu minimieren.

Elastic Load Balancing unterstützt auch das dynamische Hinzufügen und Entfernen von Amazon-EC2-Hosts aus der Rotation der Lastenverteilung. Elastic Load Balancing erhöht und verringert auch dynamisch die Lastenverteilungskapazität, um sich ohne manuelle Eingriffe der Datenverkehrslast anzupassen.