Webserver-Umgebungen - 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.

Webserver-Umgebungen

Das folgende Diagramm zeigt ein Beispiel für eine Elastic Beanstalk-Architektur für eine Webserver-Umgebungsschicht und veranschaulicht, wie die Komponenten in dieser Art von Umgebung zusammen funktionieren.

AWS Elastic Beanstalk-Architekturdiagramm

Die Umgebung ist der Kern der Anwendung. Im Diagramm wird die Umgebung innerhalb der obersten durchgezogenen Linie dargestellt. Wenn Sie eine Umgebung erstellen, stellt Elastic Beanstalk die Ressourcen bereit für das Ausführen Ihrer Anwendung bereit. AWS-Ressourcen für eine Umgebung haben einen Elastic Load Balancer (ELB im Diagramm), eine Auto-Scaling-Gruppe und eine oder mehrere Amazon Elastic Compute Cloud (Amazon EC2)-Instances.

Jede Umgebung hat einen CNAME (URL), der auf einen Load Balancer verweist. Die Umgebung verfügt über eine URL, z. B. myapp.us-west-2.elasticbeanstalk.com. Diese URL ist in Amazon Route 53 als Alias für eine Elastic Load Balancing-URL festgelegt – etwa abcdef-123456.us-west-2.elb.amazonaws.com – indem ein CNAME-Datensatz verwendet wird. Amazon Route 53 ist ein hochverfügbarer und skalierbarer Domain Name System (DNS)-Web-Service. Er bietet sicheres und zuverlässiges Routing an Ihre Infrastruktur. Ihr Domänenname, den Sie beim DNS-Anbieter registriert haben, leitet Anfragen an den CNAME weiter.

Der Load Balancer befindet sich vor den Amazon EC2-Instances, die Teil einer Auto Scaling-Gruppe sind. Amazon EC2 Auto Scaling startet automatisch weitere Amazon EC2-Instances, um die Datenverarbeitung der Anwendung auch bei einer erhöhten Workload zu gewährleisten. Sinkt die Workload wieder, werden einige Instances von Amazon EC2 Auto Scaling gestoppt. Mindestens eine Instance wird jedoch immer ausgeführt.

Der Software-Stack, auf dem Amazon EC2-Instances ausgeführt werden, hängt vom Containertyp ab. Ein Containertyp definiert die Infrastrukturtopologie und den Softwarestack, die für ein bestimmte Umgebung verwendet werden sollen. Eine Elastic Beanstalk-Umgebung mit einem Apache Tomcat-Container verwendet beispielsweise das Amazon Linux-Betriebssystem, Apache-Webserver und Apache Tomcat-Software. Eine Liste mit unterstützten Containertypen finden Sie unter Von Elastic Beanstalk unterstützte Plattformen. Jeder Amazon EC2-Instance mit Ihrer Anwendung nutzt einen dieser Containertypen. Darüber hinaus wird eine Software-Komponente mit dem Namen Host-Manager (HM) auf jeder Amazon EC2-Instance ausgeführt. Der Host-Manager ist für Folgendes verantwortlich:

  • Bereitstellen der Anwendung

  • Aggregieren von Ereignissen und Metriken für den Abruf über die Konsole, die API oder die Befehlszeile

  • Generieren von Ereignissen auf Instance-Ebene

  • Überwachen der Anwendungs-Protokolldateien auf kritische Fehler

  • Überwachen der Anwendungsserver

  • Patchen von Instance-Komponenten

  • Rotieren der Protokolldateien der Anwendung und Veröffentlichen in Amazon S3

Der Host-Manager meldet Metriken, Fehler und Ereignisse und den Server-Instance-Status, verfügbar über die Elastic Beanstalk-Konsole, APIs und CLIs.

Die Amazon EC2-Instances im Diagramm sind Teil einer Sicherheitsgruppe. Eine Sicherheitsgruppe definiert Firewall-Regeln für Ihre Instances. Standardmäßig definiert Elastic Beanstalk eine Sicherheitsgruppe, die allen Benutzern die Verbindung über Port 80 (HTTP) erlaubt. Sie können mehr als eine Sicherheitsgruppe definieren. Sie können beispielsweise eine Sicherheitsgruppe für Ihren Datenbankserver definieren. Weitere Informationen zu Amazon EC2-Sicherheitsgruppen und zu deren Konfiguration für Ihre Elastic Beanstalk-Anwendung finden Sie unter Sicherheitsgruppen.