Häufig gestellte Fragen zu AWS Elastic Beanstalk

Allgemeines

AWS Elastic Beanstalk macht es Entwicklern jetzt noch leichter, Anwendungen in der AWS Cloud bereitzustellen und zu verwalten. Entwickler laden ihre Anwendung einfach hoch und Elastic Beanstalk verwaltet automatisch die Details der Kapazitätsbereitstellung, Lastverteilung, automatischen Skalierung und Statusüberwachung.

Für diejenigen, die Anwendungen binnen Minuten in der AWS Cloud bereitstellen und verwalten möchten. Dafür sind keine Erfahrungen mit Cloud Computing erforderlich. AWS Elastic Beanstalk unterstützt Java-, .NET-, PHP-, Node.js-, Python-, Ruby-, Go- und Docker-Webanwendungen.

AWS Elastic Beanstalk unterstützt die folgenden Sprachen und Entwicklungs-Stacks:

Apache Tomcat für Java-Anwendungen

Apache HTTP-Server für PHP-Anwendungen

Apache HTTP-Server für Python-Anwendungen

Nginx oder Apache HTTP Server für Node.js-Anwendungen

Passenger oder Puma für Ruby-Anwendungen

Microsoft IIS 7.5, 8.0 und 8.5 für .NET-Anwendungen

Java SE

Docker

Go

Eine vollständige, aktuelle Liste der unterstützten Sprachen und Entwicklungs-Stacks finden Sie auf der Seite der unterstützten Plattformen.

Ja. AWS Elastic Beanstalk ist so konzipiert, dass eine Erweiterung auf mehrere Entwicklungsplattformen und Programmiersprachen künftig möglich ist. AWS arbeitet mit Lösungsanbietern zusammen, um die APIs und Kapazitäten bereitzustellen, die für zusätzliche Elastic Beanstalk-Angebote erforderlich sind.

AWS Elastic Beanstalk automatisiert die Details der Kapazitätsbereitstellung sowie Lastverteilung, Auto Scaling und Anwendungsbereitstellung und schafft somit eine Umgebung, in der eine Version Ihrer Anwendung betrieben wird. Laden Sie Ihren Bereitstellungsode (z. B. WAR-Datei) einfach hoch, und AWS Elastic Beanstalk erledigt den Rest. Das AWS Toolkit for Visual Studio und AWS Toolkit for Eclipse ermöglichen Ihnen die Bereitstellung Ihrer Anwendung für AWS Elastic Beanstalk und deren Verwaltung, ohne Ihre integrierte Entwicklungsumgebung zu verlassen. Sobald Ihre Anwendung ausgeführt wird, automatisiert Elastic Beanstalk Verwaltungsaufgaben wie Überwachung, Anwendungsversionsbereitstellung sowie eine grundlegende Statusüberprüfung und vereinfacht den Zugriff auf Protokolldateien. Mit Elastic Beanstalk können sich Entwickler auf die Entwicklung ihrer Anwendung konzentrieren und müssen sich um Aufgaben wie Bereitstellung von Servern, Einrichtung von Lastverteilung oder Skalierungsverwaltung nicht mehr kümmern.

Die meisten existierenden Application-Container oder Platform-as-a-Service-Lösungen reduzieren den Programmierungsaufwand, schränken dabei aber auch Flexibilität und Steuerungsmöglichkeiten des Entwicklers ein. Entwickler sind somit gezwungen, die Vorgaben des Anbieters anzunehmen und haben wenig bis keine Möglichkeit, einzelne Bereiche der Anwendungsinfrastruktur selbst zu steuern. Mit AWS Elastic Beanstalk jedoch erhalten Entwickler die volle Kontrolle über die AWS-Ressourcen hinter ihrer Anwendung. Wenn Entwickler einige oder alle Elemente ihrer Infrastruktur verwalten möchten, können sie dies mithilfe der Verwaltungsfunktionen von Elastic Beanstalk durchführen.

Mit AWS Elastic Beanstalk können Sie:

das Betriebssystem wählen, das Ihren Anwendungsanforderungen entspricht (z. B. Amazon Linux oder Windows Server 2016)

Wählen Sie aus verschiedenen Amazon EC2-Instances einschließlich On-Demand, Reserved Instances und Spot-Instances 

aus unterschiedlichen verfügbaren Datenbanken und Speicheroptionen wählen.

den Anmeldezugriff auf Amazon EC2-Instances für eine unmittelbare und direkte Problemlösung ermöglichen.

die Zuverlässigkeit der Anwendung durch den Betrieb in mehr als einer Availability Zone erhöhen.

die Anwendungssicherheit durch die Aktivierung des HTTPS-Protokolls in der Lastverteilung optimieren.

die integrierte Amazon CloudWatch-Überwachung aktivieren und Benachrichtigungen zum Anwendungsstatus und anderen wichtigen Ereignissen erhalten.

die Anwendungsserver-Einstellungen (z. B. JVM-Einstellungen) anpassen und der Umgebungsvariablen übermitteln.

andere Anwendungskomponenten, so z. B. Arbeitsspeicher-Cache-Services, gleichzeitig in Amazon EC2 ausführen.

auf Protokolldateien zugreifen, ohne sich bei den Anwendungsservern anzumelden.

AWS Elastic Beanstalk verwendet zur Erstellung einer Umgebung für Ihre Anwendung bewährte AWS-Funktionen und -Services wie Amazon EC2, Amazon RDS, Elastic Load Balancing, Auto Scaling, Amazon S3 und Amazon SNS. Die aktuelle Version von AWS Elastic Beanstalk verwendet das Amazon-Linux-AMI oder Windows Server 2019.

AWS Elastic Beanstalk unterstützt Java, .NET, PHP, Node.js, Python, Ruby, Go und Docker und eignet sich ideal für Webanwendungen. Aufgrund der offenen Architektur von Elastic Beanstalk können jedoch auch nicht webbasierte Anwendungen mithilfe von Elastic Beanstalk bereitgestellt werden. Künftig werden weitere Anwendungstypen und Programmiersprachen unterstützt. Weitere Informationen finden Sie auf der Seite der unterstützten Plattformen.

AWS Elastic Beanstalk wird im Amazon Linux-AMI und Windows Server AMI ausgeführt. Beide AMIs werden von Amazon Web Services unterstützt und verwaltet und dienen der Bereitstellung einer stabilen, sicheren und leistungsstarken Ausführungsumgebung für das Amazon EC2-Cloud-Computing.

Erste Schritte

Zur Anmeldung bei AWS Elastic Beanstalk wählen Sie auf der Elastic Beanstalk-Detailseite die Schaltfläche „Jetzt anmelden“ aus. Zum Zugriff auf diesen Service ist ein Amazon-Web-Services-Konto erforderlich. Wenn Sie bisher noch kein Konto haben, werden Sie zur Erstellung eines Kontos aufgefordert, wenn Sie den Elastic-Beanstalk-Prozess starten. Lesen Sie nach der Anmeldung das Handbuch „AWS Elastic Beanstalk – Erste Schritte“.

Zur Registrierung für AWS Elastic Beanstalk sind eine gültige Telefonnummer sowie eine gültige E-Mail-Adresse in der AWS-Datenbank erforderlich, für den Fall, dass wir Sie direkt kontaktieren müssen. Die Überprüfung der Telefonnummer dauert nur wenige Minuten. Hierfür müssen Sie während der Registrierung einen Telefonanruf entgegennehmen und eine PIN-Nummer über die Tastatur des Telefons eingeben.

Zum Einstieg in AWS Elastic Beanstalk empfiehlt es sich, das Handbuch AWS Elastic Beanstalk – Erste Schritte durchzuarbeiten, das Teil unserer technischen Dokumentation ist. Innerhalb weniger Minuten können Sie eine Beispielanwendung bereitstellen und verwenden oder Ihre eigene Anwendung hochladen.

Ja. AWS Elastic Beanstalk umfasst eine Beispielanwendung, die Sie zum Testen der Funktionalität verwenden können.

Datenbanken und Speicher

Ja. AWS Elastic Beanstalk speichert Ihre Anwendungsdateien und optional Server-Protokolldateien in Amazon S3. Wenn Sie die AWS-Managementkonsole, AWS Toolkit for Visual Studio oder AWS Toolkit for Eclipse verwenden, wird in Ihrem Konto ein Amazon S3 Bucket erstellt. Die hochgeladenen Dateien werden automatisch von Ihrem lokalen Client in Amazon S3 kopiert. Optional können Sie Elastic Beanstalk so konfigurieren, dass Ihre Server Log-Dateien stündlich auf Amazon S3 kopiert werden. Diese Funktion können Sie über die Einstellungen Ihrer Umgebungskonfiguration aktivieren.

Ja. Sie können Amazon S3 zur Speicherung von Anwendungen nutzen. Schließen Sie hierfür das AWS SDK für Java als Teil der bereitstellbaren Datei Ihrer Anwendung ein. Sie können beispielsweise das AWS SDK für Java der WAR-Datei Ihrer Anwendung hinzufügen.

AWS Elastic Beanstalk ist nicht auf bestimmte Technologien zur dauerhaften Speicherung von Daten beschränkt. Sie können Amazon Relational Database Service (Amazon RDS), Amazon DynamoDB, Microsoft SQL Server, Oracle oder andere relationale Datenbanken verwenden, die unter Amazon EC2 ausgeführt werden.

Elastic Beanstalk kann automatisch eine Amazon RDS DB-Instance bereitstellen. Die Anbindungsinformationen für die DB-Instance werden Ihrer Anwendung über Umgebungsvariablen zur Verfügung gestellt. Weitere Informationen zur Konfiguration von RDS-DB-Instances für Ihre Umgebung finden Sie im Elastic Beanstalk Developer Guide.

Nicht mit AWS Elastic Beanstalk. Mit Elastic Beanstalk können Sie die Verbindungsinformationen in der Umgebungskonfiguration angeben. Mit der Extraktion des Verbindungs-String aus dem Anwendungscode können Sie unterschiedliche Elastic Beanstalk-Umgebungen zur Verwendung verschiedener Datenbanken konfigurieren.

Sicherheit

Standardmäßig ist Ihre Anwendung unter "myapp.elasticbeanstalk.com" öffentlich zugänglich. Mithilfe der Amazon VPC können Sie in einem selbst definierten virtuellen Netzwerk einen privaten, isolierten Teil Ihrer Anwendung bereitstellen. Dieses virtuelle Netzwerk kann mithilfe von bestimmten Sicherheitsgruppenregeln, Netzwerk-ACLs und benutzerdefinierten Routentabellen als privat eingerichtet werden. Sie können auch ganz einfach den anderen eingehenden Datenverkehr (z. B. SSH) kontrollieren, der an Ihren Anwendungsserver übertragen bzw. nicht übertragen wird, indem Sie die EC2-Sicherheitsgruppeneinstellungen ändern.

Ja, Sie können Ihre Anwendungen in einer VPC ausführen. Weitere Informationen finden Sie im Entwicklerhandbuch zu AWS Elastic Beanstalk.

Weitere Informationen zur Sicherheit bei AWS finden Sie im Dokument Amazon Web Services – Übersicht über die Sicherheitsprozesse sowie im Sicherheitszentrum.

Ja. Ja, IAM-Benutzer mit den entsprechenden Berechtigungen können nun mit AWS Elastic Beanstalk interagieren.

Mit IAM können Sie Benutzer und Gruppen zentral verwalten. Sie können steuern, welche IAM-Benutzer Zugriff auf AWS Elastic Beanstalk haben und Benutzern, die keine Aktionen auf die Elastic Beanstalk-Ressourcen anwenden sollen, nur einen Lesezugriff gewähren. Alle Benutzeraktivitäten innerhalb Ihres Kontos werden in einer einzigen AWS-Rechnung zusammengefasst.

Sie können IAM-Benutzer über die IAM-Konsole, IAM-Befehlszeilenschnittstelle (CLI) oder IAM-API einrichten. Standardmäßig haben IAM-Benutzer erst dann Zugriff auf AWS-Services, wenn die Berechtigungen erteilt wurden.

Sie können IAM-Benutzern über Richtlinien Zugriff auf Services erteilen. In der IAM-Konsole stehen zwei Richtlinienvorlagen zur Verfügung, die die Erteilung von Zugriffsberechtigungen für AWS Elastic Beanstalk vereinfachen: eine Vorlage für den Lesezugriff und eine Vorlage für den Vollzugriff. Die Vorlage für den Lesezugriff gestattet Benutzern, Elastic Beanstalk-Ressourcen zu lesen. Mit der Vorlage für den Vollzugriff können Benutzer alle Elastic Beanstalk-Vorgänge ausführen sowie abhängige Ressourcen wie Elastic Load Balancing, Auto Scaling und Amazon S3 verwalten. Mit dem AWS Policy Generator können Sie benutzerdefinierte Richtlinien erstellen. Weitere Informationen finden Sie im Entwicklerhandbuch zu AWS Elastic Beanstalk.

Ja. Sie können Berechtigungen für bestimmte AWS Elastic Beanstalk-Ressourcen, wie Anwendungen, Anwendungsversionen und Umgebungen, genehmigen oder ablehnen.

Alle Ressourcen, die von IAM-Benutzern mit einem Root-Konto erstellt wurde, gehören dem Root-Konto und werden diesem in Rechnung gestellt.

Das Root-Konto hat Vollzugriff auf alle AWS Elastic Beanstalk-Umgebungen, die von einem IAM-Benutzer unter diesem Konto gestartet werden. IAM-Benutzer, denen Sie mit einer Elastic Beanstalk-Vorlage Lesezugriff erteilen, können alle Anwendungen, Anwendungsversionen, Umgebungen und zugeordneten Ressourcen in diesem Konto anzeigen. IAM-Benutzer, denen Sie mit einer Elastic Beanstalk-Vorlage Vollzugriff erteilen, können alle Elastic Beanstalk-Ressourcen unter diesem Konto erstellen, ändern und beenden.

Ja. IAM-Benutzer können mit ihrem Benutzernamen und Passwort auf die AWS Elastic Beanstalk-Konsole zugreifen.

Ja. IAM-Benutzer können anhand ihres Zugriffsschlüssels und geheimen Schlüssels mithilfe der Elastic Beanstalk-API Vorgänge ausführen.

Ja. Ja. IAM-Benutzer können anhand ihres Zugriffsschlüssels und geheimen Schlüssels über die Befehlszeilen-Schnittstelle (CLI) von AWS Elastic Beanstalk Vorgänge ausführen.

Verwaltete Plattformaktualisierungen

Sie können festlegen, dass Ihre AWS Elastic Beanstalk-Umgebungen innerhalb eines bestimmten Wartungsfensters automatisch auf die neueste Version der Ihrer Anwendung zugrundeliegenden Plattform aktualisiert werden. Elastic Beanstalk veröffentlicht regelmäßig neue Versionen unterstützter Plattformen (Java, PHP, Ruby, Node.js, Python, .NET, Go und Docker) einschließlich Aktualisierungen der Betriebssysteme, des Web- und Anwendungsservers sowie der Sprache und der Frameworks.

Damit Elastic Beanstalk Ihre Plattformaktualisierungen automatisch verwaltet, aktivieren Sie auf der Konfigurationsregisterkarte der Elastic Beanstalk-Konsole verwaltete Plattformaktualisierungen oder verwenden die CLI oder API von EB. Nachdem Sie die Funktion aktiviert haben, können Sie die zulässigen Aktualisierungstypen und den Zeitpunkt der Aktualisierungen festlegen.

AWS Elastic Beanstalk kann Plattformaktualisierungen automatisch für neue Patches und kleinere Plattformversionen ausführen. Umfangreiche Aktualisierungen von Plattformversionen (z. B. von Java 7 Tomcat 7 auf Java 8 Tomcat 8) werden von Elastic Beanstalk nicht automatisch ausgeführt, da manche Änderungen nicht rückwärtskompatibel sind und zusätzliche Tests erfordern. In diesen Fällen müssen Sie die Aktualisierung manuell initiieren.

Die Versionen von AWS Elastic Beanstalk-Plattformen werden nach dem Muster "GROSS.KLEIN.PATCH" (z. B. 2.0.0) festgelegt. Jeder Abschnitt wird wie folgt schrittweise erhöht:

GROSSE Version, wenn inkompatible Änderungen vorgenommen werden

KLEINE Version, wenn zusätzliche, rückwärtskompatible Funktionen hinzugefügt werden.

PATCH-Version, wenn rückwärtskompatible Bug-Fixes ausgeführt werden.

Sie können große Versionsaktualisierungen jederzeit über die Verwaltungskonsole, API oder CLI von AWS Elastic Beanstalk ausführen. Für große Versionsaktualisierung stehen Ihnen folgende Optionen zur Verfügung:

Wenden Sie die Aktualisierung vor Ort auf eine vorhandene Umgebung an. Siehe Updating Your Elastic Beanstalk Environment's Platform Version.

Erstellen Sie einen Klon einer vorhandenen Umgebung mit der neuen Plattformversion. Weitere Informationen finden Sie unter Clone an Environment.

Die Aktualisierungen werden mithilfe eines unveränderlichen Bereitstellungsmechanismus angewendet. Dies stellt sicher, dass keine Änderungen an der vorhandenen Umgebung vorgenommen werden, bevor eine mit den Aktualisierungen installierte parallele Flotte von Amazon EC2-Instances bereit steht, um die vorhandenen Instances zu ersetzen: Letztere werden dadurch beendet. Wenn darüber hinaus das Integritätssystem von Elastic Beanstalk während der Aktualisierung Probleme feststellt, wird der Datenverkehr zur vorhandenen Flotte von Instances umgeleitet, um eine möglichst geringe Auswirkung auf die Endbenutzer der Anwendung sicherzustellen.

Da verwaltete Plattformaktualisierungen mit einem unveränderlichen Bereitstellungsmechanismus angewendet werden, ist Ihre Anwendung während des Wartungsfensters verfügbar. Für Benutzer der Anwendung erfolgt die Aktualisierung unbemerkt im Hintergrund.

Für die verwalteten Plattformaktualisierungen fallen keine zusätzlichen Gebühren an. Sie bezahlen nur für die während der Aktualisierung zusätzlich erforderlichen EC2-Instances.

Ein Wartungs- bzw. Aktualisierungsfenster ist ein wöchentlicher zweistündiger Zeitraum, in dem AWS Elastic Beanstalk Plattformaktualisierungen initiiert, wenn Sie verwaltete Plattformaktualisierungen aktiviert haben und eine neue Version der Plattform verfügbar ist. Wenn Sie beispielsweise ein Wartungsfenster auswählen, das jeden Sonntag um 2:00 Uhr beginnt, initiiert AWS Elastic Beanstalk die Plattformaktualisierung immer Sonntags zwischen 2:00 und 4:00 Uhr. Zu beachten ist, dass Aktualisierungen je nach Konfiguration Ihrer Anwendungen über das Wartungsfensters hinaus dauern können.

Das Wartungsfenster wird auf Umgebungsbasis festgelegt, sodass Sie für Ihre unterschiedlichen Anwendungskomponenten oder Anwendungen verschiedene Wartungsfenster festlegen können. Umgebungsaktualisierungen lassen sich auf diese Weise gestaffelt ausgeführt, wenn Sie vermeiden möchten, dass mehrere Teile Ihrer Anwendung zur selben Zeit aktualisiert werden. Wenn Sie verwaltete Plattformaktualisierungen aktivieren, ohne ein Wartungsfenster festzulegen, wird Ihrer Umgebung ein wöchentliches zweistündiges Standardfenster zugewiesen. Falls Sie den Aktualisierungszeitpunkt ändern möchten, können Sie hierfür die Konfiguration für verwaltete Aktualisierungen in der AWS Management Console ändern oder die UpdateEnvironment-API verwenden.

Sie werden über AWS Management Console, Benachrichtigungen im Forum und Versionshinweise bezüglich neu verfügbarer Plattformversionen informiert.

Details zu Änderungen zwischen Plattformversionen finden Sie auf der Seite mit den Versionshinweisen von AWS Elastic Beanstalk.

Während einer verwalteten Plattformaktualisierung steht Ihnen als einzige Aktion "Abbrechen" zur Verfügung. Damit können Sie die Aktualisierung sofort stoppen und zur vorherigen Version zurückkehren.

Ihre Umgebung wird stets auf die neueste Version aktualisiert, die entsprechend dem von Ihnen ausgewählten Level (klein plus Patch oder nur Patch) verfügbar ist.

Details zu allen verwalteten Plattformaktualisierungen finden Sie auf der Ereignisseite. Sie sind mit dem Ereignistyp "MAINTENANCE" gekennzeichnet.

Die Anzahl der in einem bestimmten Jahr veröffentlichten Versionsaktualisierungen hängt von der Häufigkeit und den Inhalten der Versionen und Patches des Herstellers/Kernteams der Sprache bzw. des Frameworks ab. Ausschlaggebend sind auch die Ergebnisse einer gründlichen Untersuchung der neuen Versionen und Patches durch unsere Plattformtechniker.

AWS-Graviton-Support

Um Ihre Anwendung mit arm64-basierten Prozessoren auf der Elastic-Beanstalk-Konsole bereitzustellen, können Sie die Prozessorarchitektur und den Instancetyp auf der Registerkarte „Kapazität“ unter Einstellungen für weitere Optionen konfigurieren auswählen.

Informationen zum Bereitstellen Ihrer Anwendung mit der Elastic Beanstalk CLI, AWS CLI, CFN oder AWS CDK finden Sie im Elastic-Beanstalk-Entwicklerhandbuch.

Wenn sich Ihr Workload in einer interpretierten Programmiersprache wie Node.js, Python, Tomcat, PHP oder Ruby befindet, müssen Sie Ihren Workload nicht neu kompilieren, um Graviton zu verwenden. Wenn Sie Go oder .Net Core für Ihre Workload verwenden, müssen Sie den Entwicklungs-Befehl für den arm64-Instance-Typ aktualisieren. Sie müssen auch binäre Abhängigkeiten neu kompilieren oder eine arm64-kompatible Version von binären Abhängigkeiten verwenden. Wenn Sie Docker verwenden, muss Ihr Docker-Image eine Multi-Architektur aufweisen und die Bereitstellung sowohl auf x86 als auch auf arm64 unterstützen.

Elastic Beanstalk unterstützt Graviton auf 64-Bit Amazon Linux 2 für eine Vielzahl von Plattformen und Verzweigungen. Eine vollständige Liste finden Sie in der Dokumentation.

Sie können Ihre Workloads problemlos auf Graviton umstellen und von Leistungs- und Kostenvorteilen in den folgenden Anwendungsfällen profitieren: Linux-basierte Workloads, die hauptsächlich auf Open-Source-Technologien basieren; containerisierte und Microservices-basierte Anwendungen wie Docker und MC Docker; Anwendungen, die in portablen Programmiersprachen wie Java, Python, .NET Core, node.js und PHP geschrieben sind; Kompilierte C/C++-, Rust- oder Go-Anwendungen; .NET Core (v3.1+)-Workloads, die unter Linux ausgeführt werden; Multithreaded-Workloads;uneinheitliche Speicherzugriffs-(NUMA)-sensitive Workloads; und arm64-native Softwareentwicklung und -tests.

Fakturierung

Für AWS Elastic Beanstalk fallen keine zusätzlichen Gebühren an. Sie zahlen nur für die AWS-Ressourcen, die Sie für die Speicherung und Ausführung Ihrer Anwendung tatsächlich verwenden.

Sie zahlen nur für die Ressourcen, die Sie tatsächlich nutzen. Für die Nutzung von AWS-Ressourcen wird keine Mindestgebühr berechnet. Informationen zu den Amazon EC2-Preisen finden Sie auf der Detailseite von EC2 im Abschnitt mit den Preisen. Informationen über Amazon S3-Preisen erhalten Sie auf der S3-Detailseite im Abschnitt mit den Preisen. Sie können den einfachen AWS-Rechner verwenden, um Ihre Rechnung für verschiedene Anwendungsgrößen zu schätzen.

Sie können die Gebühren für den aktuellen Abrechnungszeitraum jederzeit auf der Amazon Web Services-Website anzeigen. Melden Sie sich hierzu bei Ihrem Amazon Web Services-Konto an und wählen Sie unter Ihr Web-Services-Konto die Option Konto-Aktivitäten aus.

Support

Ja. AWS Support deckt Probleme im Zusammenhang mit der Verwendung von AWS Elastic Beanstalk ab. Weitere Informationen und Preise finden Sie auf der AWS Support-Seite.

In der Wissensdatenbank der AWS-Community steht das AWS Elastic Beanstalk-Diskussionsforum bei Problemen und Fragen zur Verfügung.