

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.

# Elastic Beanstalk-Plattformen
<a name="concepts-all-platforms"></a>

AWS Elastic Beanstalk bietet eine Vielzahl von Plattformen, auf denen Sie Ihre Anwendungen erstellen können. Sie gestalten Ihre Webanwendung auf einer dieser Plattformen und Elastic Beanstalk stellt Ihren Code auf der von Ihnen gewählte Plattformversion bereit, um eine aktive Anwendungsumgebung zu erstellen.

Elastic Beanstalk bietet Plattformen für verschiedene Programmiersprachen , Anwendungsserver sowie Docker-Container. Einige Plattformen verfügen über mehrere gleichzeitig unterstützte Versionen.

**Topics**
+ [Elastic Beanstalk-Plattformen – Glossar](platforms-glossary.md)
+ [Modell der übergreifenden Verantwortlichkeit für die Wartung der Elastic Beanstalk-Plattform](platforms-shared-responsibility.md)
+ [Support-Richtlinie für die Elastic Beanstalk-Plattform](platforms-support-policy.md)
+ [Zeitplan für die Veröffentlichung der Elastic Beanstalk-Plattform](platforms-schedule.md)
+ [Von Elastic Beanstalk unterstützte Plattformen](concepts.platforms.md)
+ [Elastic Beanstalk-Linux-Plattformen](platforms-linux.md)
+ [Erweitern von Elastic Beanstalk-Linux-Plattformen](platforms-linux-extend.md)

# Elastic Beanstalk-Plattformen – Glossar
<a name="platforms-glossary"></a>

Im Folgenden finden Sie wichtige Begriffe zu AWS Elastic Beanstalk Plattformen und ihrem Lebenszyklus.

**Laufzeit**  
Das Programmieren von sprachspezifischer Laufzeitsoftware (Framework, Bibliotheken, Interpreter, vm usw.), die zur Ausführung Ihres Anwendungscodes erforderlich sind.

**Elastic Beanstalk-Komponenten**  
Softwarekomponenten, die Elastic Beanstalk zu einer Plattform hinzufügt, um die Elastic Beanstalk-Funktionalität zu ermöglichen. Beispiel: Der Agent erweiterter Zustandsberichte wird für die Erfassung und Berichterstellung von Zustandsinformationen benötigt.

**Plattform**  
Eine Plattform ist eine Kombination aus Betriebssystem- (OS), Laufzeit-, Webserver-, Anwendungsserver- und Elastic Beanstalk-Komponenten. Plattformen stellen Komponenten bereit, die für die Ausführung Ihrer Anwendung verfügbar sind.

**Plattformversion**  
Eine Kombination spezifischer Versionen von Betriebssystem- (OS), Laufzeit-, Webserver-, Anwendungsserver- und Elastic Beanstalk-Komponenten. Sie erstellen eine Elastic Beanstalk-Umgebung basierend auf einer Plattformversion und stellen Ihre Anwendung für diese bereit.  
Eine Plattformversion verfügt über eine semantische Versionsnummer im Format *X.Y.Z*. Dabei ist *X* die Hauptversion, *Y* die Nebenversion und *Z* die Patch-Version.  
Eine Plattformversion kann sich in einem der folgenden Zustände befinden:  
+ *Empfohlen* — Die neueste Plattformversion in einer unterstützten Plattformbranche. Diese Version enthält die meisten up-to-date Komponenten und wird für den Einsatz in Produktionsumgebungen empfohlen. Wenn Elastic Beanstalk eine neue Plattformversion veröffentlicht, ersetzt die neue Version die vorherige Version und wird zur empfohlenen Plattformversion für den entsprechenden Plattformzweig.
+ *Nicht empfohlen* — Jede Plattformversion, die nicht die neueste Version in ihrem Plattformzweig ist. Diese Versionen können zwar weiterhin funktionsfähig sein, wir empfehlen jedoch dringend, auf die neueste Plattformversion zu aktualisieren. Sie können [verwaltete Plattform-Updates](environment-platform-update-managed.md) verwenden, um up-to-date automatisch zu bleiben.
Sie können überprüfen, ob eine Plattformversion empfohlen wird, indem Sie den AWS-CLI-Befehl verwenden **[describe-platform-version](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/describe-platform-version.html)** und das `PlatformLifecycleState` Feld überprüfen.

**Plattformzweig**  
Eine Reihe von Plattformversionen, denen bestimmte Versionen (in der Regel Hauptversionen) einiger Komponenten gemeinsam sind, z. B. das Betriebssystem, die Laufzeit oder Elastic Beanstalk-Komponenten. Zum Beispiel: *Python 3.13 läuft auf 64-Bit-Amazon Linux 2023*; *IIS 10.0 läuft auf 64-Bit-Windows* Server 2025. Plattformzweige erhalten Updates in Form neuer Plattformversionen. Jede nachfolgende Plattformversion in einem Zweig ist ein Update der vorherigen.  
Die empfohlene Version in jeder unterstützten Plattformbranche steht Ihnen für die Erstellung einer Umgebung bedingungslos zur Verfügung. Frühere Plattformversionen sind weiterhin für Konten mit aktiven oder beendeten Umgebungen zugänglich, die sie zu dem Zeitpunkt nutzten, als sie durch eine neue Version ersetzt wurden. Früheren Plattformversionen fehlen die meisten up-to-date Komponenten und ihre Verwendung wird nicht empfohlen.  
Wenn Sie Zugriff auf frühere Plattformversionen benötigen, die über die oben beschriebene Standardverfügbarkeit hinausgehen, können Sie sich an das [AWS Support Center wenden, um Unterstützung](https://console.aws.amazon.com/support/home#/) zu erhalten.
Ein Plattformzweig kann sich in einem der folgenden Zustände befinden:  
+ *Unterstützt* – Ein Plattformzweig auf dem aktuellen Stand. Er besteht vollständig aus *unterstützten Komponenten*. Die unterstützten Komponenten haben das von ihren Lieferanten angegebene Ende der Lebensdauer (EOL) noch nicht erreicht. Er erhält kontinuierlich Plattformaktualisierungen und wird für die Verwendung in Produktionsumgebungen empfohlen. Die Liste der unterstützten Plattformzweige finden Sie unter [Von Elastic Beanstalk unterstützte Plattformen](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html) im Handbuch *AWS Elastic Beanstalk -Platfformen*.
+ *Beta* – Ein Plattformzweig in der Vorversion vor der Veröffentlichung. Ein solcher Plattformzweig ist experimenteller Natur. Er erhält möglicherweise für eine Weile kontinuierlich Plattformaktualisierungen, wird jedoch nicht langfristig unterstützt. Ein Plattformzweig in der Betaphase wird nicht für die Verwendung in Produktionsumgebungen empfohlen. Sie sollten einen solchen Plattformzweig ausschließlich zu Evaluierungszwecken verwenden. Die Liste der Plattformzweige in der Betaphase finden Sie unter [Elastic Beanstalk-Plattformversionen in der öffentlichen Beta](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-beta.html) im Handbuch *AWS Elastic Beanstalk -Plattformen*.
+ *Veraltet* — Ein Plattformzweig, in dem eine oder mehrere Komponenten (z. B. die Laufzeit oder das Betriebssystem) sich dem Ende des Lebenszyklus (EOL) nähern oder das EOL erreicht haben, wie von ihren Lieferanten angegeben. Während ein veralteter Plattformzweig bis zu seinem Auslaufdatum weiterhin neue Plattformversionen erhält, erhalten Komponenten, die EOL erreicht haben, keine Updates. Wenn eine Runtime-Version beispielsweise EOL erreicht, wird der Plattformzweig als veraltet markiert, erhält aber weiterhin Betriebssystemupdates, bis der Plattformzweig eingestellt wird. Der Plattformzweig erhält keine weiteren Updates für die EOL-Laufzeitversion. Die Verwendung eines veralteten Plattformzweigs wird nicht empfohlen.
+ *Im Ruhestand* — Ein Plattformzweig, der keine Updates mehr erhält. Stillgelegte Plattformbranches sind nicht verfügbar, um neue Elastic Beanstalk Beanstalk-Umgebungen mit der Elastic Beanstalk Beanstalk-Konsole zu erstellen. Wenn Ihre Umgebung einen veralteten Plattform-Branch verwendet, müssen Sie auf einen unterstützten Plattform-Branch aktualisieren, um weiterhin Updates zu erhalten. Die Verwendung eines stillgelegten Plattformzweigs wird nicht empfohlen. Weitere Informationen zu stillgelegten Plattformzweigen finden Sie unter[Support-Richtlinie für die Elastic Beanstalk-Plattform](platforms-support-policy.md). Eine Liste der Plattformfilialen, deren Stilllegung geplant ist, finden Sie unter Liste [stillgelegter Plattformfilialen](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/platforms-schedule.html#platforms-support-policy.depracation). Weitere Informationen zu stillgelegten Plattformfilialen finden Sie unter [Historie stillgelegter Plattformzweige](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/platforms-schedule.html#platforms-support-policy.retired).
Wenn Ihre Umgebung einen veralteten oder außer Betrieb genommenen Plattformzweig verwendet, sollten Sie diesen auf eine Plattformversion in einem unterstützten Plattformzweig aktualisieren. Details hierzu finden Sie unter [Aktualisieren der Plattformversion für die Elastic Beanstalk-Umgebung](using-features.platform.upgrade.md).  
Sie können den Status eines Plattformzweigs überprüfen, indem Sie den AWS-CLI-Befehl verwenden **[describe-platform-version](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/describe-platform-version.html)** und das `PlatformBranchLifecycleState` Feld überprüfen.

**Plattformaktualisierung**  
Eine Veröffentlichung einer neuen Plattformversion, die Updates für einige Komponenten der Plattform enthält — Betriebssystem-, Runtime-, Webserver-, Anwendungsserver- und Elastic Beanstalk Beanstalk-Komponenten. Wenn Elastic Beanstalk eine neue Plattformversion veröffentlicht, ersetzt die neue Version die vorherige Version und wird zur empfohlenen Plattformversion für den entsprechenden Plattformzweig. Plattform-Updates folgen der semantischen Versionstaxonomie und können drei Stufen haben:  
+ *Hauptaktualisierung* – Eine Aktualisierung, die Änderungen enthält, die mit vorhandenen Plattformversionen nicht kompatibel sind. Möglicherweise müssen Sie Ihre Anwendung ändern, damit sie auf einer neuen Hauptversion ordnungsgemäß ausgeführt wird. Eine Hauptaktualisierung besitzt eine neue Hauptversionsnummer für die Plattform.
+ *Kleineres Update* — Ein Update, das Änderungen enthält, die in den meisten Fällen abwärtskompatibel mit bestehenden Plattformversionen sind. Abhängig von Ihrer Anwendung müssen Sie Ihre Anwendung möglicherweise ändern, damit sie auf einer neuen Nebenversion ordnungsgemäß ausgeführt wird. Eine Nebenaktualisierung besitzt eine neue Nebenversionsnummer für die Plattform.
+ *Patch-Aktualisierung* – Eine Aktualisierung, die aus Wartungsveröffentlichungen (Fehlerbehebungen, Sicherheitsupdates und Leistungsverbesserungen) besteht, die mit einer vorhandenen Plattformversion abwärtskompatibel sind. Eine Patch-Aktualisierung besitzt eine neue Patch-Plattform-Versionsnummer.

**Verwaltete Aktualisierungen**  
Eine Elastic Beanstalk-Funktion, die automatisch Patch- und Nebenaktualisierungen auf Betriebssystem- (OS), Laufzeit-, Webserver-, Anwendungsserver- und Elastic Beanstalk-Komponenten für eine von Elastic Beanstalk unterstützte Plattformversion anwendet. Eine verwaltete Aktualisierung wendet eine neuere Plattformversion im selben Plattformzweig auf Ihre Umgebung an. Sie können verwaltete Aktualisierungen so konfigurieren, dass nur Patch-Aktualisierungen oder Neben- und Patch-Aktualisierungen angewendet werden. Sie können verwaltete Aktualisierungen auch vollständig deaktivieren.  
Weitere Informationen finden Sie unter [Verwaltete Plattformaktualisierungen](environment-platform-update-managed.md).

# Modell der übergreifenden Verantwortlichkeit für die Wartung der Elastic Beanstalk-Plattform
<a name="platforms-shared-responsibility"></a>

AWS und unsere Kunden sind gemeinsam dafür verantwortlich, ein hohes Maß an Sicherheit und Konformität der Softwarekomponenten zu erreichen. Dieses Modell der übergreifenden Verantwortung bedeutet für Sie eine deutliche Verringerung des Betriebsaufwands.

Einzelheiten finden Sie im [Modell der AWS geteilten Verantwortung](https://aws.amazon.com/compliance/shared-responsibility-model/).

AWS Elastic Beanstalk hilft Ihnen dabei, Ihren Teil des Modells der gemeinsamen Verantwortung umzusetzen, indem *es eine Funktion für verwaltete Updates* bereitstellt. Diese Funktion wendet automatisch Patches und kleinere Aktualisierungen für eine von Elastic Beanstalk unterstützte Plattformversion an. Wenn eine verwaltete Aktualisierung fehlschlägt, benachrichtigt Elastic Beanstalk Sie über den Ausfall, um sicherzustellen, dass Sie informiert sind und unverzüglich reagieren können.

Weitere Informationen finden Sie unter [Verwaltete Plattformaktualisierungen](environment-platform-update-managed.md).

Darüber hinaus leistet Elastic Beanstalk Folgendes:
+ Veröffentlicht seine [Richtlinie zur Plattformunterstützung](platforms-support-policy.md) und seinen Aussonderungsplan für die nächsten 12 Monate.
+ Veröffentlichung von Patch-, Minor- und Major-Updates für Betriebssystem (OS), Laufzeitumgebung, Anwendungsserver und Webserverkomponenten in der Regel innerhalb von 30 Tagen nach ihrer Verfügbarkeit. Elastic Beanstalk ist für die Erstellung von Updates für Elastic Beanstalk-Komponenten verantwortlich, die auf den unterstützten Plattformversionen vorhanden sind. Alle anderen Aktualisierungen stammen direkt von ihren Lieferanten (Eigentümern oder Community).

Wir kündigen alle Updates unserer unterstützten Plattformen in unseren [Versionshinweisen](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/relnotes.html) im Leitfaden zu *AWS Elastic Beanstalk Versionshinweisen* an. Im *Plattformleitfaden AWS Elastic Beanstalk * finden Sie auch eine Liste aller unterstützten Plattformen und ihrer Komponenten sowie einen Plattformverlauf. Weitere Informationen finden Sie unter [Unterstützte Plattformen und Komponentenverlauf](concepts.platforms.md#concepts.platforms.list).

Sie sind für Folgendes verantwortlich:
+ Aktualisieren Sie alle Komponenten, die Sie kontrollieren (im [Modell mit AWS geteilter Verantwortung](https://aws.amazon.com/compliance/shared-responsibility-model/) als **Kunde** gekennzeichnet). Dies umfasst die Gewährleistung der Sicherheit Ihrer Anwendung, Ihrer Daten und aller Komponenten, die Ihre Anwendung benötigt und die Sie heruntergeladen haben.
+ Sicherstellen, dass Ihre Elastic Beanstalk-Umgebungen auf einer unterstützte Plattformversion ausgeführt werden, und Migrieren einer jeden Umgebung, die auf einer nicht mehr unterstützten Plattformversion ausgeführt wird, auf eine unterstützte Version.
+ Wenn Sie ein benutzerdefiniertes Amazon Machine Image (AMI) für Ihre Elastic Beanstalk-Umgebung verwenden, patchen, warten und testen Sie Ihr benutzerdefiniertes AMI, damit es aktuell und kompatibel mit einer unterstützten Elastic Beanstalk-Plattformversion bleibt. Weitere Informationen zur Verwaltung von Umgebungen mit einem benutzerdefinierten AMI finden Sie unter[Verwenden eines benutzerdefinierten Amazon Machine Images (AMI) in Ihrer Elastic Beanstalk Beanstalk-Umgebung](using-features.customenv.md).
+ Lösen aller Probleme bei fehlgeschlagenen verwalteten Aktualisierungsversuchen und Neuversuchen der Aktualisierung.
+ Selbstständiges Patchen von Betriebssystem-, Laufzeit-, Anwendungsserver- und Webserver-Komponenten, wenn Sie sich gegen Elastic Beanstalk-verwaltete Aktualisierungen entschieden haben. Sie können hierzu [Plattformaktualisierungen manuell anwenden](using-features.platform.upgrade.md) oder die Komponenten auf allen relevanten Umgebungsressourcen direkt patchen.
+ Verwalte die Sicherheit und Compliance aller AWS Services, die du außerhalb von Elastic Beanstalk nutzt, gemäß dem AWS [Shared Responsibility Model](https://aws.amazon.com/compliance/shared-responsibility-model/).

# Support-Richtlinie für die Elastic Beanstalk-Plattform
<a name="platforms-support-policy"></a>

Elastic Beanstalk unterstützt Plattform-Branches, die laufende Minor- und Patch-Updates von ihren Lieferanten (Eigentümer oder Community) erhalten. Eine vollständige Definition zugehöriger Begriffe finden Sie unter [Elastic Beanstalk-Plattformen – Glossar](platforms-glossary.md).

## Ausgemusterte Plattformvarianten
<a name="platforms-support-policy.retired-platforms"></a>

Wenn eine Komponente eines unterstützten Plattformzweigs von seinem Lieferanten als End of Life (EOL) markiert wird, markiert Elastic Beanstalk den Plattformzweig als ausgemustert. Zu den Komponenten eines Plattformzweigs gehören: Betriebssystem (OS), Laufzeit-Sprachversion, Anwendungsserver oder Webserver.

Sobald ein Plattformzweig als veraltet markiert ist, gelten die folgenden Richtlinien:
+ Elastic Beanstalk stellt die Bereitstellung von Wartungsupdates, einschließlich Sicherheitsupdates, ein.
+ Elastic Beanstalk bietet keinen technischen Support mehr für stillgelegte Plattformfilialen.
+ Elastic Beanstalk stellt den Plattformzweig neuen Elastic Beanstalk-Kunden nicht mehr für Implementierungen in neuen Umgebungen zur Verfügung. Für Bestandskunden mit aktiven Umgebungen, die auf eingestellten Plattformzweigen laufen, gibt es eine 90-tägige Nachfrist ab dem angekündigten Einstellungsdatum.

**Anmerkung**  
Ein stillgelegter Plattformzweig wird in der Elastic Beanstalk Beanstalk-Konsole nicht verfügbar sein. Es wird jedoch über die EB-CLI und die AWS CLI EB-API für Kunden verfügbar sein, die über bestehende Umgebungen verfügen, die auf der stillgelegten Plattformbranche basieren. Bestandskunden können auch die [Konsolen Clone Environment](using-features.managing.clone.md) und [Rebuild Environment](environment-management-rebuild.md) verwenden.

Eine Liste der Plattformbranchen, deren Stilllegung geplant ist, finden Sie [Zeitplan für die Ausmusterung von Plattformvarianten](platforms-schedule.md#platforms-support-policy.depracation) im folgenden Thema im *Elastic Beanstalk-Plattformplan*.

Weitere Informationen darüber, was zu erwarten ist, wenn der Plattform-Branch Ihrer Umgebung eingestellt wird, finden Sie unter. [Häufig gestellte Fragen zur Einstellung von Plattformen](using-features.migration-al.FAQ.md)

## Über die 90-Tage-Nachfrist hinaus
<a name="platforms-support-policy.beyond-grace"></a>

Unsere Richtlinie für stillgelegte Plattform-Zweigstellen verhindert weder den Zugriff auf Umgebungen noch das Löschen von Ressourcen. Bestandskunden, die eine Elastic Beanstalk Beanstalk-Umgebung auf einer stillgelegten Plattformfiliale betreiben, sollten sich jedoch der damit verbundenen Risiken bewusst sein. Solche Umgebungen können in eine unvorhersehbare Situation geraten, da Elastic Beanstalk nicht in der Lage ist, Sicherheitsupdates, technischen Support oder Hotfixes für stillgelegte Plattformfilialen bereitzustellen, weil der Lieferant die Komponente als EOL markiert hat. 

Beispielsweise kann eine nachteilige und kritische Sicherheitslücke in einer Umgebung auftreten, die in einem eingestellten Plattformzweig ausgeführt wird. Es könnte auch passieren, dass eine EB-API-Aktion nicht mehr für die Umgebung funktioniert, wenn sie irgendwann nicht mehr mit dem Elastic-Beanstalk-Service kompatibel ist. Die Gefahr dafür steigt, je länger ein Umfeld auf einem eingestellten Plattformzweig aktiv bleibt. Damit Sie weiterhin von wichtigen Sicherheits-, Leistungs- und Funktionserweiterungen profitieren können, die von Komponentenlieferanten in neueren Versionen angeboten werden, empfehlen wir Ihnen dringend, alle Ihre Elastic Beanstalk-Umgebungen auf eine unterstützte Plattformversion zu aktualisieren. 

Falls bei der Ausführung Ihrer Anwendung auf einer ausrangierten Plattform Probleme auftreten und Sie sie nicht auf eine unterstützte Plattform migrieren können, müssen Sie andere Alternativen in Betracht ziehen. Eine mögliche Umgehung ist das Einkapseln der Anwendung in ein Docker-Image zum Ausführen als Docker-Container. Dies würde es einem Kunden ermöglichen, jede unserer Docker-Lösungen wie unsere Elastic Beanstalk AL2 023/ AL2 Docker-Plattformen oder andere Docker-basierte Dienste wie Amazon ECS oder Amazon EKS zu nutzen. Zu den Alternativen, die nicht zu Docker gehören, gehört unser AWS CodeDeploy Service, der eine vollständige Anpassung der von Ihnen gewünschten Laufzeiten ermöglicht. 

# Zeitplan für die Veröffentlichung der Elastic Beanstalk-Plattform
<a name="platforms-schedule"></a>

Neben der monatlichen Veröffentlichung neuer Plattformversionen umfasst unsere Release-Wartung auch die folgenden Prozesse:
+  *Veröffentlichung neuer Plattformzweige* — Diese führen in der Regel eine neue Hauptversion einer Laufzeitsprache, eines Betriebssystems oder eines Anwendungsservers ein.
+  *Außerbetriebnahme von Plattformzweigen* — Wir müssen einen Plattformzweig stilllegen, wenn eine seiner Komponenten das Ende des Lebenszyklus (EOL) erreicht. Weitere Informationen zu unseren Richtlinien für stillgelegte Filialen finden Sie unter [Support-Richtlinie für die Elastic Beanstalk-Plattform](platforms-support-policy.md)

**Topics**
+ [Ressourcen planen](#platforms-support-policy.resources)
+ [Kommende Veröffentlichungen in den Plattformbranchen](#platforms-support-policy.upcoming-releases)
+ [Zeitplan für die Ausmusterung von Plattformvarianten](#platforms-support-policy.depracation)
+ [Bisherige eingestellte Plattformzweige](#platforms-support-policy.retired)
+ [Verlauf des Servers und des Betriebssystems im Ruhestand](#platforms-support-policy.retired.components)

## Ressourcen planen
<a name="platforms-support-policy.resources"></a>

Die folgenden Ressourcen können Ihnen bei der Planung von Wartung und Support für Ihre Anwendung helfen, die auf einer Elastic Beanstalk-Plattform ausgeführt wird.
+ [AWS Elastic Beanstalk Leitfaden für Plattformen](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/welcome.html) — Dieser Leitfaden enthält eine detaillierte Komponentenliste für jeden unserer Plattformzweige. Es enthält auch einen Plattformverlauf nach Veröffentlichungsdatum mit denselben Details. Dieser Leitfaden kann Sie darüber informieren, wenn sich bestimmte Komponenten Ihres Plattformzweigs geändert haben. Wenn sich Ihre Anwendung anders verhält, können Sie auch im Plattformleitfaden auf das Datum des Vorfalls verweisen, um festzustellen, ob Plattformänderungen vorgenommen wurden, die sich auf Ihre Anwendung ausgewirkt haben könnten.
+ [AWS Elastic Beanstalk Versionshinweise](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/relnotes.html) — In unseren Versionshinweisen werden alle kleineren und größeren Plattformversionen angekündigt. Dazu gehören unsere monatlichen Plattform-Updates, Sicherheitsversionen, Hotfixes und Ankündigungen zur Einstellung unserer Website. Sie können unsere RSS-Feeds in der Dokumentation zu den Versionshinweisen abonnieren.

## Kommende Veröffentlichungen in den Plattformbranchen
<a name="platforms-support-policy.upcoming-releases"></a>

In der folgenden Tabelle sind die kommenden Elastic Beanstalk-Plattformzweige und ihr angestrebtes Veröffentlichungsdatum aufgeführt. Diese Daten sind vorläufig und können sich ändern.


|  Laufzeitversion//Plattformzweig  |  Betriebssystem  |  Angestrebtes Veröffentlichungsdatum  | 
| --- | --- | --- | 
|   Python 3.15   |  Amazon Linux 2023  |  November 2026  | 
|   Node.js 26   |  Amazon Linux 2023  |  November 2026  | 
|   .NET 11   |  Amazon Linux 2023  |  Dezember 2026  | 
|   PHP 8.6   |  Amazon Linux 2023  |  Januar 2027  | 
|   Ruby 4.1   |  Amazon Linux 2023  |  Februar 2027  | 

## Zeitplan für die Ausmusterung von Plattformvarianten
<a name="platforms-support-policy.depracation"></a>

In der folgenden Tabelle sind die Filialen der Elastic Beanstalk-Plattform aufgeführt, deren Stilllegung geplant ist, da einige ihrer Komponenten ihr Lebensende (EOL) erreichen. Alle Zweigstellen AL2 auf Plattformen mit Sitz in Betrieb genommen werden, die nicht später als 30. Juni 2026 ablaufen, wenn Amazon Linux 2 das Ende der Laufzeit erreicht. Weitere Informationen zu Amazon Linux 2 finden Sie unter [Amazon Linux FAQs 2.](https://aws.amazon.com/amazon-linux-2/faqs/)

*Eine detailliertere Liste der auslaufenden Plattformzweige, einschließlich ihrer spezifischen Komponenten, finden Sie im Plattformhandbuch unter [Plattformversionen zurückziehen](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-retiring.html).AWS Elastic Beanstalk *


|  Zweig „Laufzeitversion“/„Plattform“  |  Zieldatum für den Ruhestand  | 
| --- | --- | 
| PHP 8.1 AL2023 | 31. März 2026 | 
| PHP 8.1 AL2 | 31. März 2026 | 
| Docker AL2 | 30. Juni 2026 | 
| ECS AL2 | 30. Juni 2026 | 
| Go 1 AL2 | 30. Juni 2026 | 
| Corretto 8 AL2 | 30. Juni 2026 | 
| Corretto 11 AL2 | 30. Juni 2026 | 
| Corretto 17 AL2 | 30. Juni 2026 | 
| Corretto 8 with Tomcat 9 AL2 | 30. Juni 2026 | 
| Corretto 11 with Tomcat 9 AL2 | 30. Juni 2026 | 
| .NET Core AL2 | 30. Juni 2026 | 
| Python 3.9 AL2023 | 31. Juli 2026 | 
| Ruby 3.2 AL2023 | 31. Juli 2026 | 
| Node.js 20 AL2023 | 31. Juli 2026 | 
| IIS 10.0 on Windows Server 2016 (& Core) | 30. September 2026 | 
| PHP 8.2 AL2023 | 31. März 2027 | 
| .NET 9 AL2023 | 31. März 2027 | 
| .NET 8 AL2023 | 31. März 2027 | 

## Bisherige eingestellte Plattformzweige
<a name="platforms-support-policy.retired"></a>

In den folgenden Tabellen sind Branches der Elastic Beanstalk-Plattform aufgeführt, die sich bereits im Status „Ausmusterung“ befinden. Eine detaillierte Historie dieser Plattform-Branches und ihrer Komponenten finden Sie im Leitfaden [Plattformhistorie](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platform-history.html) der *AWS Elastic Beanstalk Plattformen*.


**Amazon Linux 2023 (AL2023)**  

|  Laufzeitversion//Plattformzweig  |  Datum der Einstellung  | 
| --- | --- | 
|   .NET 6 AL2023  |  8. April 2025  | 
|   Node.js 18 AL2023  |  11. August 2025  | 


**Amazon Linux (2AL2)**  

|  Laufzeitversion//Plattformzweig  |  Datum der Einstellung  | 
| --- | --- | 
|   Corretto 11 with Tomcat 8.5 AL2  |  10. Oktober 2024  | 
|   Corretto 8 with Tomcat 8.5 AL2   |  10. Oktober 2024  | 
|   Corretto 11 with Tomcat 7 AL2  |  29. Juni 2022  | 
|   Corretto 8 with Tomcat 7 AL2   |  29. Juni 2022  | 
|   Node.js 18 AL2   | 11. August 2025 | 
|   Node.js 16 AL2   | 10. Oktober 2024 | 
|   Node.js 14 AL2   |  10. Oktober 2024  | 
|   Node.js 12 AL2   |  23. Dezember 2022  | 
|   Node.js 10 AL2   |  29. Juni 2022  | 
|   PHP 8.0 AL2  |  10. Oktober 2024  | 
|   PHP 7.4 AL2  |  9. Juni 2023  | 
|   PHP 7.3 AL2  |  29. Juni 2022  | 
|   PHP 7.2 AL2  |  29. Juni 2022  | 
|   Python 3.8 AL2  |  8. April 2025  | 
|   Python 3.7 AL2  |  10. Oktober 2024  | 
|   Ruby 3.0 AL2  |  10. Oktober 2024  | 
|   Ruby 2.7 AL2  |  10. Oktober 2024  | 
|   Ruby 2.6 AL2  |  23. Dezember 2022  | 
|   Ruby 2.5 AL2  |  29. Juni 2022  | 


**Amazon Linux-AMI (AL1)**  

|  Laufzeitversion//Plattformzweig  |  Datum der Einstellung  | 
| --- | --- | 
|   Single Container Docker   |  18. Juli 2022  | 
|   Multicontainer Docker   |   18. Juli 2022   | 
|   Preconfigured Docker - GlassFish 5.0 with Java 8   |   18. Juli 2022   | 
|   Go 1   |   18. Juli 2022   | 
|   Java 8   |   18. Juli 2022   | 
|   Java 7   |   18. Juli 2022   | 
|   Java 8 with Tomcat 8.5   |   18. Juli 2022   | 
|   Java 7 with Tomcat 7   |   18. Juli 2022   | 
|   Node.js   |   18. Juli 2022   | 
|   PHP 7.2 - 7.3   |   18. Juli 2022   | 
|   Python 3.6   |   18. Juli 2022   | 
|  Ruby 2,4, 2.5, 2.6 with Passenger   |   18. Juli 2022   | 
|   Ruby 2.4, 2.5, 2.6 with Puma  |   18. Juli 2022   | 
| Go 1.3–1.10 | 31. Oktober 2020 | 
| Java 6 | 31. Oktober 2020 | 
| Node.js 4.x-8.x | 31. Oktober 2020 | 
| PHP 5.4–5.6 | 31. Oktober 2020 | 
| PHP 7.0–7.1 | 31. Oktober 2020 | 
| Python 2.6, 2.7, 3.4 | 31. Oktober 2020 | 
| Ruby 1.9.3 | 31. Oktober 2020 | 
| Ruby 2.0–2.3 | 31. Oktober 2020 | 

**Anmerkung**  
 [Am 18. Juli 2022](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-07-18-linux-al1-retire.html) **hat Elastic Beanstalk den Status aller Plattformbranches, die auf Amazon Linux AMI (AL1) basieren, auf eingestellt gesetzt.** Weitere Informationen finden Sie unter [Häufig gestellte Fragen zur Einstellung von Plattformen](using-features.migration-al.FAQ.md). 


**Windows Server**  

| Laufzeitversion//Plattformzweig |  Datum der Einstellung  | 
| --- | --- | 
| IIS 8.5 läuft auf 64-Bit-Windows Server (& Core) 2012 R2 | 4. Dezember 2023 | 
| IIS 8.5 unter 64 Bit Windows Server (& Core) 2012 R2 Version 0.1.0 |  29. Juni 2022  | 
| IIS 8.5 unter 64 Bit Windows Server (& Core) 2012 R2 Version 1.2.0 |  29. Juni 2022 | 
| IIS 10.0 unter 64 Bit Windows Server (& Core) 2016 Version 1.2.0 |  29. Juni 2022 | 
| IIS 8 auf Windows Server 2012 R1 mit 64 Bit Plattformzweig | 22. Juni 2022 | 
| IIS 8 unter 64 Bit Windows Server 2012 R1 Version 0.1.0  | 22. Juni 2022 | 
| IIS 8 unter 64 Bit Windows Server 2012 R1 Version 1.2.0 | 22. Juni 2022 | 

**Anmerkung**  
Weitere Informationen zur Außerbetriebnahme der *Windows-2012-R2-Plattformzweige* finden Sie in den *AWS Elastic Beanstalk -Versionshinweisen* unter [Plattformzweige von Windows Server 2012 R2 außer Betrieb genommen](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2023-12-04-windows-2012-retire.html).

## Verlauf des Servers und des Betriebssystems im Ruhestand
<a name="platforms-support-policy.retired.components"></a>

Die folgenden Tabellen enthalten eine Historie der Betriebssysteme, Anwendungsserver und Webserver, die von Elastic Beanstalk-Plattformen nicht mehr unterstützt werden. Alle Plattformzweige, die diese Komponenten nutzten, wurden inzwischen eingestellt. Die Daten spiegeln das Datum wider, an dem der letzte Zweig der Elastic Beanstalk-Plattform eingestellt wurde, der die Komponente enthielt.


**Betriebssysteme**  

|  Betriebssystemversion  |  Datum der Plattformausmusterung  | 
| --- | --- | 
|   Windows Server 2012 R2 running IIS 8.5  |  4. Dezember 2023  | 
|   Windows Server Core 2012 R2 running IIS 8.5  |  4. Dezember 2023  | 
|  Amazon Linux-AMI (AL1)  |   18. Juli 2022   | 
| Windows Server 2012 R1 | 22. Juni 2022 | 
| Windows Server 2008 R2 | 28. Oktober 2019 | 


**Anwendungsserver**  

|  Anwendungsserver-Version  |  Datum der Plattformausmusterung  | 
| --- | --- | 
| Tomcat 7 |  29. Juni 2022 für Amazon Linux 2 (AL2) -Plattformen 18. Juli 2022 für Amazon Linux AMI (AL1) -Plattformen  | 
| Tomcat 8 | 31. Oktober 2020 | 
| Tomcat 6 | 31. Oktober 2020 | 


**Web-Server**  

|  Webserver-Version  |  Datum der Plattformausmusterung  | 
| --- | --- | 
| Windows Server mit 64 Bit und IIS 8 | 22. Juni 2022 | 
| Apache HTTP Server 2.2 | 31. Oktober 2020 | 
| Nginx 1.12.2 | 31. Oktober 2020 | 

# Von Elastic Beanstalk unterstützte Plattformen
<a name="concepts.platforms"></a>

AWS Elastic Beanstalk bietet eine Vielzahl von Plattformen, auf denen Sie Ihre Anwendungen erstellen können. Sie gestalten Ihre Webanwendung auf einer dieser Plattformen und Elastic Beanstalk stellt Ihren Code auf der von Ihnen gewählte Plattformversion bereit, um eine aktive Anwendungsumgebung zu erstellen.

Elastic Beanstalk stellt die Ressourcen bereit, die für die Ausführung Ihrer Anwendung erforderlich sind, einschließlich einer oder mehrerer EC2 Amazon-Instances. Der Software-Stack, der auf den EC2 Amazon-Instances ausgeführt wird, hängt von der spezifischen Plattformversion ab, die Sie für Ihre Umgebung ausgewählt haben.

**Der Name des Lösungsstapels für einen Plattformzweig**  
[Sie können den *Namen des Lösungsstapels* für eine bestimmte Plattform-Branch-Version verwenden, um eine Umgebung mit der [EB-CLI](eb-cli3.md), der [Elastic Beanstalk Beanstalk-API](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/) oder der AWS CLI zu starten.](https://aws.amazon.com/cli/) Im *AWS Elastic Beanstalk Platforms* Guide ist der *Name des Solution Stacks* unter der Plattform-Branch-Version sowohl in den Abschnitten [Unterstützte Plattformen von Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html) als auch in der [Plattformhistorie](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platform-history.html) aufgeführt.

Um alle Namen des Lösungsstapels abzurufen, die Sie zum Erstellen einer Umgebung verwenden können, verwenden Sie die [ListAvailableSolutionStacks](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_ListAvailableSolutionStacks.html)API oder die [https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/list-available-solution-stacks.html](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/list-available-solution-stacks.html)in der AWS CLI.

Sie können die Software, von der Ihre Anwendung auf Ihrer Plattform abhängig ist, anpassen und konfigurieren. Weitere Informationen finden Sie unter [Anpassen von Software auf Linux-Servern](customize-containers-ec2.md) und [Anpassen von Software auf Windows-Servern](customize-containers-windows-ec2.md). Ausführliche Versionshinweise sind für aktuelle Versionen unter den [AWS Elastic Beanstalk -Versionshinweisen](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/) verfügbar. 

## Unterstützte Plattformen und Komponentenverlauf
<a name="concepts.platforms.list"></a>

Der *AWS Elastic Beanstalk Platforms-Leitfaden* listet alle aktuellen Plattform-Branch-Versionen im Abschnitt [Unterstützte Plattformen von Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html) auf. Der Leitfaden für *Plattformen* listet auch einen *Plattformverlauf* für jede Plattform auf, der auch eine Liste früherer Branch-Plattformversionen enthält. Wählen Sie einen der folgenden Links aus, um den *Plattformverlauf* für jede Plattform einzusehen.
+ [Docker](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platform-history-docker.html)
+ [Go](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platform-history-go.html)
+ [Java SE](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platform-history-javase.html)
+ [Tomcat (auf Java SE)](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platform-history-java.html)
+ [.NET Core auf Linux](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platform-history-dotnetlinux.html)
+ [.NET mit Windows Server ](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platform-history-dotnet.html)
+ [Node.js](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platform-history-nodejs.html)
+ [PHP](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platform-history-php.html)
+ [Python](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platform-history-python.html)
+ [Ruby](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platform-history-ruby.html)

# Elastic Beanstalk-Linux-Plattformen
<a name="platforms-linux"></a>

Die Elastic Beanstalk Linux-Plattformen bieten eine umfangreiche, sofort einsatzbereite Funktionalität. Sie können die Plattformen auf verschiedene Arten erweitern, um Ihre Anwendung zu unterstützen. Details hierzu finden Sie unter [Erweitern von Elastic Beanstalk-Linux-Plattformen](platforms-linux-extend.md).

Die meisten von Elastic Beanstalk unterstützten Plattformen basieren auf dem Linux-Betriebssystem. Insbesondere basieren diese Plattformen auf Amazon Linux, einer Linux-Distribution von AWS. Elastic Beanstalk Linux-Plattformen verwenden Amazon Elastic Compute Cloud (Amazon EC2) -Instances, und auf diesen Instances wird Amazon Linux ausgeführt.

**Topics**
+ [Unterstützte Amazon-Linux-Versionen](#platforms-linux.versions)
+ [Liste der Elastic Beanstalk-Linux-Plattformen](#platforms-linux.list)
+ [Instance-Bereitstellungs-Workflow](platforms-linux-extend.workflow.md)
+ [Workflow zur Instance-Bereitstellung für ECS auf Amazon Linux 2 und höher](platforms-linux-extend.workflow.ecs-al2.md)
+ [Plattform-Skripttools für Ihre Elastic Beanstalk Beanstalk-Umgebungen](custom-platforms-scripts.md)

## Unterstützte Amazon-Linux-Versionen
<a name="platforms-linux.versions"></a>

AWS Elastic Beanstalk unterstützt Plattformen, die auf Amazon Linux 2 und Amazon Linux 2023 basieren.

Weitere Informationen zu Paketen für Amazon Linux 2 und Amazon Linux 2023 finden Sie unter:
+ **Amazon Linux 2** — [Amazon Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/amazon-linux-ami-basics.html) im * EC2 Amazon-Benutzerhandbuch*.
+ **Amazon Linux 2023** – [Was ist Amazon Linux 2023?](https://docs.aws.amazon.com/linux/al2023/ug/what-is-amazon-linux.html) im *Benutzerhandbuch für Amazon Linux 2023*

Weitere Informationen zu unterstützten Plattformversionen finden Sie unter [Von Elastic Beanstalk unterstützte Plattformen](concepts.platforms.md).

**Anmerkung**  
Sie können Ihre Anwendung von einem Elastic Beanstalk AL1 - oder AL2 Plattformzweig auf den entsprechenden AL2 023-Plattformzweig migrieren. Weitere Informationen finden Sie unter [Migrieren der Elastic-Beanstalk-Linux-Anwendung zu Amazon Linux 2023 oder Amazon Linux 2](using-features.migration-al.md). 

### Amazon Linux 2023
<a name="platforms-linux.versions.al2023"></a>

AWS kündigte die [allgemeine Verfügbarkeit](https://aws.amazon.com//blogs/aws/amazon-linux-2023-a-cloud-optimized-linux-distribution-with-long-term-support/) von Amazon Linux 2023 im März 2023 an. Das *Benutzerhandbuch für Amazon Linux 2023* fasst die wichtigsten Unterschiede zwischen Amazon Linux 2 und Amazon Linux 2023 zusammen. Weitere Informationen finden Sie unter [Vergleich von Amazon Linux 2 und Amazon Linux 2023](https://docs.aws.amazon.com/linux/al2023/ug/compare-with-al2.html) im Benutzerhandbuch.

Es besteht ein hohes Maß an Kompatibilität zwischen den Plattformen Elastic Beanstalk Amazon Linux 2 und Amazon Linux 2023. Es gibt jedoch einige Unterschiede zu beachten:
+ **Instance Metadata Service Version 1 (IMDSv1)** — Die IMDSv1 Option „[Deaktivieren](command-options-general.md#command-options-general-autoscalinglaunchconfiguration)“ ist standardmäßig `true` auf AL2 023-Plattformen eingestellt. Die Standardeinstellung ist `false` auf Plattformen. AL2 
+ **pkg-repo-Instanztool** — Das [Pkg-Repo](custom-platforms-scripts.md#custom-platforms-scripts.pkg-repo) Tool ist nicht für Umgebungen verfügbar, die auf AL2 023-Plattformen ausgeführt werden. Sie können Paket- und Betriebssystemupdates jedoch weiterhin manuell auf eine 023-Instanz anwenden. AL2 Weitere Informationen finden Sie unter [Verwaltung von Paketen und Betriebssystem-Updates](https://docs.aws.amazon.com/linux/al2023/ug/managing-repos-os-updates.html) im *Benutzerhandbuch für Amazon Linux 2023*.
+ ** HTTPd Apache-Konfiguration** — Die `httpd.conf` Apache-Datei für AL2 023-Plattformen enthält einige Konfigurationseinstellungen, die sich von denen für folgende unterscheiden: AL2 
  + Verweigern Sie standardmäßig den Zugriff auf das gesamte Dateisystem des Servers. Diese Einstellungen werden unter *Serverdateien standardmäßig schützen* auf der Seite mit den [Sicherheitstipps](https://httpd.apache.org/docs/2.4/misc/security_tips.html) der Apache-Website beschrieben.
  + Verweigert den Zugriff auf die Einrichtung von `.htaccess` in allen Verzeichnissen, mit Ausnahme der speziell aktivierten. Diese Einstellung wird unter *Schützen von Systemeinstellungen* auf der Seite mit den [Sicherheitstipps](https://httpd.apache.org/docs/2.4/misc/security_tips.html) der Apache-Website beschrieben. Auf der Seite [Server-Tutorial für Apache HTTP: .htaccess-Dateien](https://httpd.apache.org/docs/2.4/howto/htaccess.html) heißt es, dass diese Einstellung zur Verbesserung der Leistung beitragen kann.
  + Verweigern Sie den Zugriff auf Dateien mit einem Namensmuster `.ht*`. Diese Einstellung verhindert, dass Webclients alle `.htaccess`- und `.htpasswd`-Dateien anzeigen.

  Sie können jede der oben genannten Konfigurationseinstellungen für die Umgebung ändern. Weitere Informationen finden Sie unter [Konfigurieren von Apache HTTPD](platforms-linux-extend.proxy.md#platforms-linux-extend.proxy.httpd).
+ **Unterstützung für mehrzeilige Umgebungsvariablen** — AL2 023 Plattformen unterstützen mehrzeilige Werte für Umgebungsvariablen und geheime Schlüssel in Systemd-Dienstkonfigurationen. Amazon Linux 2-Plattformen unterstützen keine mehrzeiligen Umgebungsvariablenwerte. Diese Erweiterung ermöglicht es Ihnen, mehrzeilige Geheimnisse und Konfigurationswerte auf AL2 023-Plattformen zu verwenden. Weitere Hinweise zur Verwendung von Umgebungsvariablen und Geheimnissen finden Sie unter. [Mehrzeilige Werte in Amazon Linux 2-Umgebungsvariablen](AWSHowTo.secrets.env-vars.md#AWSHowTo.secrets.multiline)
+ **CloudWatch benutzerdefinierte Protokollweiterleitung** — Der veraltete CloudWatch Logs-Agent (`awslogs`Paket) ist auf AL2 023-Plattformen nicht verfügbar. Wenn Sie über benutzerdefinierte Protokollweiterleitungskonfigurationen verfügen, die den veralteten `awslogs` Agenten installieren und verwenden, müssen Sie Ihre Konfigurationsdateien aktualisieren, um den Unified CloudWatch Agent bei der Migration von Amazon Linux 2 auf 023 zu verwenden. AL2 Weitere Informationen finden Sie unter [Benutzerdefiniertes Streaming von Protokolldateien](AWSHowTo.cloudwatchlogs.md#AWSHowTo.cloudwatchlogs.streaming.custom).

**Plattformspezifische Unterschiede**

Zusätzlich zu den grundlegenden Betriebssystemunterschieden gibt es plattformspezifische Unterschiede zwischen den Laufzeitplattformen Amazon Linux 2 und AL2 023:
+ **.NET-Plattformverzweigung** — Die Branching-Strategie für die .NET-Plattform unterscheidet sich zwischen Amazon Linux 2 und AL2 023. Auf Amazon Linux 2 unterhält die .NET Core-Plattform ein rotierendes Fenster mit den.NET-Hauptversionen innerhalb eines einzigen Plattformzweigs. Bei AL2 023 ist jeder Plattformzweig an eine bestimmte .NET-Hauptversion gebunden (z. B.. NET 9, .NET 10).

  Wenn Sie Framework-abhängige Anwendungen (Anwendungen, die auf der installierten .NET-Laufzeit der Plattform basieren) bereitstellen, müssen Sie einen Plattformzweig auswählen, der der .NET-Zielversion Ihrer Anwendung entspricht. Wenn Sie eigenständige Anwendungen (Anwendungen, die ihre eigene .NET-Laufzeit bündeln) bereitstellen, können Sie unabhängig von der.NET-Version Ihrer Anwendung einen beliebigen AL2 023-.NET-Plattformzweig verwenden, da Ihre Anwendung nicht von der installierten Laufzeit der Plattform abhängig ist. Weitere Informationen finden Sie unter [Bündelung von Anwendungen für den.NET Core auf der Linux-Plattform Elastic Beanstalk](dotnet-linux-platform-bundle-app.md).
+ **Versionsauswahl für Node.js** — Die Plattform Node.js auf Amazon Linux 2 unterstützt die Angabe einer Node.js -Version in der `package.json` Datei Ihrer Anwendung. Die Node.js -Plattform auf AL2 Version 023 unterstützt diese Funktion nicht. Sie müssen die Standardversion von Node.js verwenden, die vom Plattformzweig bereitgestellt wird. Weitere Informationen zur Versionsverwaltung von Node.js finden Sie unter[Konfiguration der Abhängigkeiten Ihrer Anwendung von Elastic Beanstalk](nodejs-platform-dependencies.md).
+ **Ruby Puma-Serverversion** — Die Ruby-Plattform auf Amazon Linux 2 ignoriert die in der `Gemfile.lock` Datei Ihrer Anwendung angegebene Puma-Version und verwendet die Puma-Standardversion der Plattform. Die Ruby-Plattform auf AL2 0.23 berücksichtigt die in angegebene Puma-Version, falls vorhanden. `Gemfile.lock` Wenn keine Version angegeben ist, installiert die Plattform die Puma-Standardversion der Plattform.
+ **Verfügbarkeit von PHP-Paketen** — Einige Pakete, die auf Amazon Linux 2 PHP-Plattformen verfügbar sind, sind auf AL2 023 PHP-Plattformen nicht verfügbar:
  + *MySQL-Client-Pakete* — Die Client-Pakete `mysql` und die `mysql-devel` Befehlszeilen-Client-Pakete sind auf AL2 023 PHP-Plattformen nicht installiert. Wenn für Ihre Anwendung eine MySQL-Datenbankverbindung erforderlich ist, verwenden Sie PHP `mysqli` oder `pdo_mysql` Erweiterungen, die auf beiden Plattformen verfügbar sind.
  + *Compass- und Ruby-Tools* — Die `ruby-devel` `rubygems` Pakete für die Compass CSS-Framework-Unterstützung sind auf AL2 023 PHP-Plattformen nicht installiert. Compass ist veraltet. Erwägen Sie die Verwendung moderner CSS-Vorverarbeitungstools als Alternative.
+ **Tools zur Go-Versionskontrolle** — Das Bazaar-Versionskontrollsystem (`bzr`) ist auf AL2 023 Go-Plattformen nicht verfügbar. Bazaar ist veraltet und nicht im 023-Paket-Repository enthalten. AL2 Verwenden Sie stattdessen Git, Mercurial oder Subversion für die Versionskontrolle, die alle auf AL2 023 Go-Plattformen verfügbar sind.

## Liste der Elastic Beanstalk-Linux-Plattformen
<a name="platforms-linux.list"></a>

In der folgenden Liste werden die Linux-Plattformen erwähnt, die Elastic Beanstalk für verschiedene Programmiersprachen sowie für Docker-Container unterstützt. Für alle davon bietet Elastic Beanstalk Plattformen an, die auf Amazon Linux 2 und Amazon Linux 2023 basieren. Um mehr über eine Plattform zu erfahren, wählen Sie den entsprechenden Link aus.
+ [Docker (und ECS Docker)](create_deploy_docker.md) 
+ [Go](create_deploy_go.md)
+ [Tomcat (auf Java SE)](create_deploy_Java.md)
+ [Java SE](create_deploy_Java.md)
+ [.NET Core auf Linux](create-deploy-dotnet-core-linux.md)
+ [Node.js](create_deploy_nodejs.md)
+ [PHP](create_deploy_PHP_eb.md)
+ [Python](create-deploy-python-apps.md)
+ [Ruby](create_deploy_Ruby.md)

# Instance-Bereitstellungs-Workflow
<a name="platforms-linux-extend.workflow"></a>

**Anmerkung**  
Die Informationen in diesem Abschnitt gelten nicht für die Plattformzweige *ECS auf Amazon Linux 2 und Amazon Linux 2023*. Weitere Informationen finden Sie im folgenden Abschnitt, [Workflow zur Instance-Bereitstellung für ECS auf Amazon Linux 2 und höherWorkflow zur Instanzbereitstellung für ECS auf AL2 und später](platforms-linux-extend.workflow.ecs-al2.md). 

Da die Plattform Ihrer Umgebung auf viele Arten erweitert werden kann, ist es hilfreich, den Ablauf zu verstehen, wenn Elastic Beanstalk eine Instance bereitstellt oder eine Bereitstellung für eine Instance ausführt. Das folgende Diagramm zeigt diesen gesamten Bereitstellungsworkflow. Es zeigt die verschiedenen Phasen in einer Bereitstellung und die Schritte, die von Elastic Beanstalk in jeder Phase durchgeführt werden.

**Hinweise**  
Das Diagramm zeigt nicht den vollständigen Satz von Schritten, die Elastic Beanstalk während der Bereitstellung auf Umgebungs-Instances ausführt. Wir stellen dieses Diagramm zur Veranschaulichung bereit, um Ihnen die Reihenfolge und den Kontext für die Ausführung Ihrer Anpassungen zu liefern.
Der Einfachheit halber zeigt das Diagramm nur die `.platform/hooks/*`-Hook-Unterverzeichnisse (für Anwendungsbereitstellungen) und nicht die `.platform/confighooks/*`-Hook-Unterverzeichnisse (für Konfigurationsbereitstellungen). Hooks in den zuletzt genannten Unterverzeichnissen werden während der gleichen Schritte ausgeführt wie die Hooks in den Unterverzeichnissen, die im Diagramm gezeigt werden.

![\[Workflow für die Reihenfolge der Ausführung von Erweiterungen auf einer Umgebungsinstanz, die auf einer Amazon Linux-basierten Plattform ausgeführt wird.\]](http://docs.aws.amazon.com/de_de/elasticbeanstalk/latest/dg/images/platforms-linux-extend-order.png)


In der folgenden Liste werden die Bereitstellungsphasen und -schritte beschrieben.

1. **Anfängliche Schritte**

   Elastic Beanstalk lädt und extrahiert Ihre Anwendung. Nach jedem dieser Schritte führt Elastic Beanstalk einen Erweiterbarkeitsschritt aus.

   1. Führt Befehle aus, die im Abschnitt [Befehle:](customize-containers-ec2.md#linux-commands) einer beliebigen Konfigurationsdatei gefunden werden.

   1. Führt alle ausführbaren Dateien im Verzeichnis `.platform/hooks/prebuild` des Quellpakets aus (`.platform/confighooks/prebuild` für eine Konfigurationsbereitstellung).

1. **Konfiguration**

   Elastic Beanstalk konfiguriert Ihre Anwendung und den Proxy-Server.

   1. Führt die Befehle aus, die in der `Buildfile` in Ihrem Quell-Bundle gefunden wurden.

   1. Kopiert Ihre benutzerdefinierten Proxy-Konfigurationsdateien, sofern sich welche im Verzeichnis `.platform/nginx` Ihres Quell-Bundles befinden, an ihrem Laufzeitspeicherort.

   1. Führt Befehle aus, die im Abschnitt [container\$1commands:](customize-containers-ec2.md#linux-container-commands) einer beliebigen Konfigurationsdatei gefunden wurden.

   1. Führt alle ausführbaren Dateien im Verzeichnis `.platform/hooks/predeploy` des Quellpakets aus (`.platform/confighooks/predeploy` für eine Konfigurationsbereitstellung).

1. **Bereitstellen**

   Elastic Beanstalk stellt Ihre Anwendung und den Proxy-Server bereit und führt sie aus.

   1. Führt den Befehl aus, der in der `Procfile`-Datei in Ihrem Quell-Bundle gefunden wurde.

   1. Führt den Proxy-Server mit den benutzerdefinierten Proxy-Konfigurationsdateien aus, falls vorhanden, oder erneut aus.

   1. Führt alle ausführbaren Dateien im Verzeichnis `.platform/hooks/postdeploy` des Quellpakets aus (`.platform/confighooks/postdeploy` für eine Konfigurationsbereitstellung).

# Workflow zur Instance-Bereitstellung für ECS auf Amazon Linux 2 und höher
<a name="platforms-linux-extend.workflow.ecs-al2"></a>

Im vorherigen Abschnitt werden die unterstützten Erweiterungsfunktionen in den Phasen des Workflows zur Anwendungsbereitstellung beschrieben. Es gibt einige Unterschiede bei den Docker-Plattformzweigen [*ECS auf Amazon Linux 2 und höher*](create_deploy_docker_ecs.md). In diesem Abschnitt wird erläutert, wie diese Konzepte für diesen spezifischen Plattformzweig gelten. 

Da die Plattform Ihrer Umgebung auf viele Arten erweitert werden kann, ist es hilfreich, den Ablauf zu verstehen, wenn Elastic Beanstalk eine Instance bereitstellt oder eine Bereitstellung für eine Instance ausführt. Das folgende Diagramm zeigt diesen gesamten Bereitstellungs-Workflow für eine Umgebung, die auf den Plattformzweigen *ECS auf Amazon Linux 2* und *ECS auf Amazon Linux 2023* basiert. Es zeigt die verschiedenen Phasen in einer Bereitstellung und die Schritte, die von Elastic Beanstalk in jeder Phase durchgeführt werden.

Im Gegensatz zu dem im vorherigen Abschnitt beschriebenen Workflow unterstützt die Bereitstellungs-Konfigurations-Phase die folgenden Erweiterungsfunktionen nicht: `Buildfile`-Befehle, `Procfile`-Befehle, Reverse-Proxy-Konfiguration. 

**Hinweise**  
Das Diagramm zeigt nicht den vollständigen Satz von Schritten, die Elastic Beanstalk während der Bereitstellung auf Umgebungs-Instances ausführt. Wir stellen dieses Diagramm zur Veranschaulichung bereit, um Ihnen die Reihenfolge und den Kontext für die Ausführung Ihrer Anpassungen zu liefern.
Der Einfachheit halber zeigt das Diagramm nur die `.platform/hooks/*`-Hook-Unterverzeichnisse (für Anwendungsbereitstellungen) und nicht die `.platform/confighooks/*`-Hook-Unterverzeichnisse (für Konfigurationsbereitstellungen). Hooks in den zuletzt genannten Unterverzeichnissen werden während der gleichen Schritte ausgeführt wie die Hooks in den Unterverzeichnissen, die im Diagramm gezeigt werden.

![\[Workflow für die Reihenfolge der Ausführung von Erweiterungen auf einer Umgebungsinstanz auf der ECS-basierten Docker-Plattform.\]](http://docs.aws.amazon.com/de_de/elasticbeanstalk/latest/dg/images/platform-ecs-al2-extended-order.png)


Die folgende Liste enthält die Schritte des Bereitstellungs-Workflows.

1. Führt alle ausführbaren Dateien aus, die im `appdeploy/pre`-Verzeichnis unter `EBhooksDir` gefunden werden.

1. Führt alle ausführbaren Dateien im Verzeichnis `.platform/hooks/prebuild` des Quellpakets aus (`.platform/confighooks/prebuild` für eine Konfigurationsbereitstellung).

1. Führt alle ausführbaren Dateien im Verzeichnis `.platform/hooks/predeploy` des Quellpakets aus (`.platform/confighooks/predeploy` für eine Konfigurationsbereitstellung).

1. Führt alle ausführbaren Dateien aus, die im `appdeploy/enact`-Verzeichnis unter `EBhooksDir` gefunden werden.

1. Führt alle ausführbaren Dateien aus, die im `appdeploy/post`-Verzeichnis unter `EBhooksDir` gefunden werden.

1. Führt alle ausführbaren Dateien im Verzeichnis `.platform/hooks/postdeploy` des Quellpakets aus (`.platform/confighooks/postdeploy` für eine Konfigurationsbereitstellung).

Der Verweis auf `EBhooksDir` repräsentiert den Pfad des Plattform-Hooks-Verzeichnisses. Verwenden Sie zum Abrufen des Verzeichnispfad-Namens das Skripttool [get-config](custom-platforms-scripts.md#custom-platforms-scripts.get-config) in der Befehlszeile Ihrer Umgebungs-Instance wie gezeigt: 

```
$ /opt/elasticbeanstalk/bin/get-config platformconfig -k EBhooksDir
```

# Plattform-Skripttools für Ihre Elastic Beanstalk Beanstalk-Umgebungen
<a name="custom-platforms-scripts"></a>

In diesem Thema werden Tools beschrieben, die AWS Elastic Beanstalk für Umgebungen bereitgestellt werden, die Amazon Linux-Plattformen verwenden. Die Tools befinden sich auf den EC2 Amazon-Instances der Elastic Beanstalk Beanstalk-Umgebungen.

## get-config
<a name="custom-platforms-scripts.get-config"></a>

Verwenden Sie das `get-config` Tool, um Werte von Umgebungsvariablen im Klartext und andere Plattform- und Instance-Informationen abzurufen. Das Tool steht unter `/opt/elasticbeanstalk/bin/get-config` zur Verfügung.

### get-config-Befehle
<a name="custom-platforms-scripts.get-config.commands"></a>

Jeder `get-config`-Tool-Befehl gibt einen bestimmten Typ von Informationen zurück. Verwenden Sie die folgende Syntax, um einen der Befehle des Tools auszuführen.

```
$ /opt/elasticbeanstalk/bin/get-config command [ options ]
```

Im folgenden Beispiel wird der Befehl `environment` ausgeführt:

```
$ /opt/elasticbeanstalk/bin/get-config environment -k PORT
```

Abhängig von dem gewählten Befehl und den gewählten Optionen gibt das Tool ein Objekt (JSON oder YAML) mit Schlüssel-Wert-Paaren oder einem einzelnen Wert zurück.

Sie können testen, `get-config` indem Sie SSH verwenden, um eine Verbindung zu einer EC2 Instance in Ihrer Elastic Beanstalk Beanstalk-Umgebung herzustellen.

**Anmerkung**  
Wenn Sie `get-config` zum Testen ausführen, benötigen einige Befehle möglicherweise Stammbenutzerrechte, um auf die zugrunde liegenden Informationen zuzugreifen. Wenn Sie einen Zugriffsberechtigungsfehler erhalten, führen Sie den Befehl unter `sudo` erneut aus.  
Sie müssen `sudo` nicht hinzufügen, wenn Sie das Tool in den Skripts verwenden, die Sie in Ihrer Umgebung bereitstellen. Elastic Beanstalk führt alle Ihre Skripte als Stammbenutzer aus.

In den folgenden Abschnitten werden die Befehle des Tools beschrieben.

#### optionsettings – Konfigurationsoptionen
<a name="custom-platforms-scripts.get-config.commands.optionsettings"></a>

Der Befehl `get-config optionsettings` gibt ein Objekt zurück, das die Konfigurationsoptionen auflistet, die für die Umgebung festgelegt und von der Plattform auf Umgebungs-Instances verwendet werden. Sie sind nach Namespace organisiert.

```
$ /opt/elasticbeanstalk/bin/get-config optionsettings
{"aws:elasticbeanstalk:application:environment":{"JDBC_CONNECTION_STRING":""},"aws:elasticbeanstalk:container:tomcat:jvmoptions":{"JVM Options":"","Xms":"256m","Xmx":"256m"},"aws:elasticbeanstalk:environment:proxy":{"ProxyServer":"nginx","StaticFiles":[""]},"aws:elasticbeanstalk:healthreporting:system":{"SystemType":"enhanced"},"aws:elasticbeanstalk:hostmanager":{"LogPublicationControl":"false"}}
```

Um einen bestimmten Wert für die Konfigurationsoption zurückzugeben, verwenden Sie die Option `--namespace` (`-n`), um einen Namespace anzugeben, und die Option `--option-name` (`-o`), um einen Optionsnamen anzugeben.

```
$ /opt/elasticbeanstalk/bin/get-config optionsettings -n aws:elasticbeanstalk:container:php:phpini -o memory_limit
256M
```

#### environment – Umgebungseigenschaften
<a name="custom-platforms-scripts.get-config.commands.environment"></a>

Der `get-config environment` Befehl gibt ein Objekt zurück, das eine Liste von Umgebungseigenschaften enthält, darunter sowohl benutzerkonfigurierte als auch von Elastic Beanstalk bereitgestellte Eigenschaften. Die vom Benutzer konfigurierten Eigenschaften werden in der [Konsole](environments-cfg-softwaresettings.md#environments-cfg-softwaresettings-console) als *Klartext* oder mit dem Namespace der Konfigurationsoption definiert. [aws:elasticbeanstalk:application:environment](command-options-general.md#command-options-general-elasticbeanstalkapplicationenvironment)

```
$ /opt/elasticbeanstalk/bin/get-config environment
{"JDBC_CONNECTION_STRING":"","RDS_PORT":"3306","RDS_HOSTNAME":"anj9aw1b0tbj6b.cijbpanmxz5u.us-west-2.rds.amazonaws.com","RDS_USERNAME":"testusername","RDS_DB_NAME":"ebdb","RDS_PASSWORD":"testpassword1923851"}
```

Beispielsweise bietet Elastic Beanstalk Umgebungseigenschaften, mit denen die Verbindung zu einer integrierten Amazon RDS-DB-Instance (zum Beispiel `RDS_HOSTNAME`) hergestellt werden kann. Diese RDS-Verbindungseigenschaften werden in der Ausgabe von `get-config environment` angezeigt. Sie werden jedoch nicht in der Ausgabe von `get-config optionsettings`angezeigt. Dies liegt daran, dass sie in Konfigurationsoptionen nicht festgelegt wurden.

Wenn Sie eine bestimmte Umgebungseigenschaft zurückzugeben möchten, verwenden Sie die Option `--key` (`-k`), um einen Eigenschaftsschlüssel anzugeben.

```
$ /opt/elasticbeanstalk/bin/get-config environment -k TESTPROPERTY
testvalue
```

**Anmerkung**  
Das `get-config` Tool kann keine [Umgebungsvariablen abrufen, die Geheimnisse speichern](AWSHowTo.secrets.env-vars.md). Weitere Hinweise zum programmgesteuerten Abrufen von Werten aus geheimen Speichern oder Parameterspeichern finden Sie unter [Verwendung von Secrets Manager](AWSHowTo.secrets.Secrets-Manager-and-Parameter-Store.md#AWSHowTo.secrets.Secrets-Manager) oder. [Verwendung des Systems Manager Parameter Store](AWSHowTo.secrets.Secrets-Manager-and-Parameter-Store.md#AWSHowTo.secrets.SSM-parmameter-store)

#### container – Konfigurationswerte auf der Instance
<a name="custom-platforms-scripts.get-config.commands.container"></a>

Der Befehl `get-config container` gibt ein Objekt zurück, das Plattform- und Umgebungskonfigurationswerte für Umgebungs-Instances auflistet. 

Das folgende Beispiel zeigt die Ausgabe des Befehls in einer Amazon Linux 2-Tomcat-Umgebung.

```
$ /opt/elasticbeanstalk/bin/get-config container
{"common_log_list":["/var/log/eb-engine.log","/var/log/eb-hooks.log"],"default_log_list":["/var/log/nginx/access.log","/var/log/nginx/error.log"],"environment_name":"myenv-1da84946","instance_port":"80","log_group_name_prefix":"/aws/elasticbeanstalk","proxy_server":"nginx","static_files":[""],"xray_enabled":"false"}
```

Um den Wert eines bestimmten Schlüssels zurückzugeben, verwenden Sie die Option `--key` (`-k`), um den Schlüssel anzugeben.

```
$ /opt/elasticbeanstalk/bin/get-config container -k environment_name
myenv-1da84946
```

#### addons – Add-On-Konfigurationswerte
<a name="custom-platforms-scripts.get-config.commands.addons"></a>

Der Befehl `get-config addons` gibt ein Objekt zurück, das Konfigurationsinformationen von Umgebungs-Add-Ons enthält. Verwenden Sie ihn, um die Konfiguration einer Amazon RDS-Datenbank abzurufen, die der Umgebung zugeordnet ist.

```
$ /opt/elasticbeanstalk/bin/get-config addons
{"rds":{"Description":"RDS Environment variables","env":{"RDS_DB_NAME":"ebdb","RDS_HOSTNAME":"ea13k2wimu1dh8i.c18mnpu5rwvg.us-east-2.rds.amazonaws.com","RDS_PASSWORD":"password","RDS_PORT":"3306","RDS_USERNAME":"user"}}}
```

Sie können das Ergebnis auf zwei Arten einschränken. Um Werte für ein bestimmtes Add-On abzurufen, geben Sie mit der Option `--add-on` (`-a`) den Namen des Add-On an.

```
$ /opt/elasticbeanstalk/bin/get-config addons -a rds
{"Description":"RDS Environment variables","env":{"RDS_DB_NAME":"ebdb","RDS_HOSTNAME":"ea13k2wimu1dh8i.c18mnpu5rwvg.us-east-2.rds.amazonaws.com","RDS_PASSWORD":"password","RDS_PORT":"3306","RDS_USERNAME":"user"}}
```

Um den Wert eines bestimmten Schlüssels in einem Add-On zurückzugeben, fügen Sie die Option `--key` (`-k`) hinzu, um den Schlüssel anzugeben.

```
$ /opt/elasticbeanstalk/bin/get-config addons -a rds -k RDS_DB_NAME
ebdb
```

#### platformconfig – Konstante Konfigurationswerte
<a name="custom-platforms-scripts.get-config.commands.platformconfig"></a>

Der Befehl `get-config platformconfig` gibt ein Objekt zurück, das Plattformkonfigurationsinformationen enthält, die mit der Plattformversion konstant sind. Die Ausgabe ist in allen Umgebungen, in denen dieselbe Plattformversion ausgeführt wird, gleich. Das Ausgabeobjekt des Befehls verfügt über zwei eingebettete Objekte:
+ `GeneralConfig` – Enthält Informationen, die in den neuesten Versionen aller Amazon-Linux-2- und Amazon-Linux-2023-Plattformzweige konstant sind.
+ `PlatformSpecificConfig` – Enthält Informationen, die für die Plattformversion konstant sind und für diese spezifisch sind.

Das folgende Beispiel zeigt die Ausgabe des Befehls in einer Umgebung, die den *Corretto 11-Plattformzweig Tomcat 8.5* verwendet.

```
$ /opt/elasticbeanstalk/bin/get-config platformconfig
{"GeneralConfig":{"AppUser":"webapp","AppDeployDir":"/var/app/current/","AppStagingDir":"/var/app/staging/","ProxyServer":"nginx","DefaultInstancePort":"80"},"PlatformSpecificConfig":{"ApplicationPort":"8080","JavaVersion":"11","TomcatVersion":"8.5"}}
```

Um den Wert eines bestimmten Schlüssels zurückzugeben, verwenden Sie die Option `--key` (`-k`), um den Schlüssel anzugeben. Diese Schlüssel sind in den beiden eingebetteten Objekten eindeutig. Sie müssen das Objekt, das den Schlüssel enthält, nicht angeben.

```
$ /opt/elasticbeanstalk/bin/get-config platformconfig -k AppStagingDir
/var/app/staging/
```

### get-config-Ausgabeoptionen
<a name="custom-platforms-scripts.get-config.global"></a>

Verwenden Sie die Option `--output`, um das Format des Ausgabeobjekts anzugeben. Gültige Werte sind `JSON` (Standard) und `YAML`. Dies ist eine globale Option. Sie müssen es vor dem Befehlsnamen angeben.

Im folgenden Beispiel werden Werte für Konfigurationsoptionen im YAML-Format zurückgegeben.

```
$ /opt/elasticbeanstalk/bin/get-config --output YAML optionsettings
aws:elasticbeanstalk:application:environment:
  JDBC_CONNECTION_STRING: ""
aws:elasticbeanstalk:container:tomcat:jvmoptions:
  JVM Options: ""
  Xms: 256m
  Xmx: 256m
aws:elasticbeanstalk:environment:proxy:
  ProxyServer: nginx
  StaticFiles:
        - ""
aws:elasticbeanstalk:healthreporting:system:
  SystemType: enhanced
aws:elasticbeanstalk:hostmanager:
  LogPublicationControl: "false"
```

## Pkg-Repo
<a name="custom-platforms-scripts.pkg-repo"></a>

**Anmerkung**  
Das `pkg-repo`-Tool ist nicht für Umgebungen verfügbar, die auf Amazon-Linux-2023-Plattformen basieren. Sie können Paket- und Betriebssystemupdates jedoch manuell auf eine AL2 023-Instanz anwenden. Weitere Informationen finden Sie unter [Verwalten von Paketen und Betriebssystem-Updates](https://docs.aws.amazon.com/linux/al2023/ug/managing-repos-os-updates.html) im *Benutzerhandbuch für Amazon Linux 2023*

In dringenden Fällen müssen Sie Ihre EC2 Amazon-Instances möglicherweise mit einem Amazon Linux 2-Sicherheitspatch aktualisieren, der noch nicht mit den erforderlichen Elastic Beanstalk-Plattformversionen veröffentlicht wurde. Sie können standardmäßig keine manuelle Aktualisierung für Ihre Elastic-Beanstalk-Umgebungen durchführen. Dies liegt daran, dass die Plattformversionen an eine bestimmte Version des Amazon Linux 2-Repositorys gesperrt sind. Diese Sperre stellt sicher, dass Instances unterstützte und konsistente Softwareversionen ausführen. Für dringende Fälle erlaubt das Tool `pkg-repo` eine Problemumgehung. Sie können Yum-Pakete in Amazon Linux 2 manuell aktualisieren, wenn Sie es in einer Umgebung installieren müssen, bevor es in einer neuen Elastic-Beanstalk-Plattformversion veröffentlicht wird.

Das Tool `pkg-repo` der Amazon Linux 2-Plattformen bietet die Möglichkeit, die `yum` Paket-Repositorys zu entsperren. Sie können dann manuell eine **yum update** für einen Sicherheitspatch durchführen. Umgekehrt können Sie der Aktualisierung folgen, indem Sie das Tool verwenden, um die Yum-Paket-Repositorys zu sperren, um weitere Aktualisierungen zu verhindern. Das `pkg-repo` Tool ist im `/opt/elasticbeanstalk/bin/pkg-repo` Verzeichnis aller EC2 Instances in Ihren Elastic Beanstalk Beanstalk-Umgebungen verfügbar.

Änderungen, die das `pkg-repo` Tool verwenden, werden nur an der EC2 Instance vorgenommen, auf der das Tool verwendet wird. Sie wirken sich nicht auf andere Instances aus und verhindern nicht zukünftige Aktualisierungen der Umgebung. Die Beispiele später in diesem Thema erklären, wie Sie die Änderungen auf alle Instances anwenden können, indem Sie die `pkg-repo`-Befehle aus Skripts und Konfigurationsdateien verwenden.

**Warnung**  
Wir empfehlen dieses Tool für die meistenBenutzer. Alle manuellen Änderungen, die auf eine Version der freigeschalteten Plattform angewendet werden, gelten als Out-of-Band. Diese Option ist nur für Benutzer unter dringenden Umständen geeignet, die die folgenden Risiken akzeptieren können:  
Für Paketversionen können nicht garantiert werden, dass sie über alle Instances hinweg in Ihren Umgebungen konsistent sind.
Wir empfehlen das Tool `pkg-repo` für die meisten Benutzer. Sie wurden nicht auf Elastic Beanstalk unterstützten Plattformen getestet und überprüft.
Wir empfehlen dringend, Best Practices anzuwenden, die Test- und Backout-Pläne beinhalten. Um Best Practices zu vereinfachen, können Sie die Elastic Beanstalk Beanstalk-Konsole und die EB-CLI verwenden, um eine Umgebung zu klonen und eine Umgebung auszutauschen. URLs Weitere Informationen zur Verwendung dieser Vorgänge finden Sie unter [BluBlue/Green-Bereitstellungen](using-features.CNAMESwap.md) im Kapitel *Managing environments* (Verwalten von Umgebungen) in diesem Handbuch.

Wenn Sie vorhaben, Yum-Repository-Konfigurationsdateien manuell zu bearbeiten, führen Sie zuerst das Tool `pkg-repo` aus. Das Tool `pkg-repo` funktioniert in einer Amazon Linux 2-Umgebung mit manuell bearbeiteten Yum-Repository-Konfigurationsdateien möglicherweise nicht wie vorgesehen. Dies liegt daran, dass das Tool die Konfigurationsänderungen möglicherweise nicht erkennt.

Weitere Informationen zum Amazon Linux-Paket-Repository finden Sie unter dem Thema [Paket-Repository](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/amazon-linux-ami-basics.html#package-repository) im * EC2 Amazon-Benutzerhandbuch*.

### pkg-repo-Befehle
<a name="custom-platforms-scripts.pkg-repo.commands"></a>

Verwenden Sie die folgende Syntax, um einen der Befehle des Tools `pkg-repo` auszuführen.

```
$ /opt/elasticbeanstalk/bin/pkg-repo command [options]
```

Folgende `pkg-repo`-Befehle müssen ausgeführt werden:
+ **lock**— Sperrt das `yum`-Paketrepositorys für eine bestimmte Version
+ **unlock**— Entsperrt das `yum`-Paketrepositorys aus einer bestimmten Version
+ **status**— Listet alle `yum`-Paket-Repositorys und ihren aktuellen Sperrstatus auf
+ **help**— Zeigt allgemeine Hilfe oder Hilfe für einen Befehl an

Die Optionen gelten für die folgenden Befehle:
+ `lock`, `unlock` und `status ` — Optionen: `-h`, `--help`oder keine (Standard).
+ `help` — Optionen: `lock`, `unlock`, `status` oder keine (Standard).



Im folgenden Beispiel wird der Befehl **unlock** ausgeführt:

```
$ sudo /opt/elasticbeanstalk/bin/pkg-repo unlock
Amazon Linux 2 core package repo successfully unlocked
Amazon Linux 2 extras package repo successfully unlocked
```

Im folgenden Beispiel wird der Befehl **lock** ausgeführt:

```
$ sudo /opt/elasticbeanstalk/bin/pkg-repo lock
Amazon Linux 2 core package repo successfully locked
Amazon Linux 2 extras package repo successfully locked
```

Im folgenden Beispiel wird der Befehl **status** ausgeführt:

```
$ sudo /opt/elasticbeanstalk/bin/pkg-repo status
Amazon Linux 2 core package repo is currently UNLOCKED
Amazon Linux 2 extras package repo is currently UNLOCKED
```

Im folgenden Beispiel wird der **help**-Befehl für den **lock**-Befehl ausgeführt.

```
$ sudo /opt/elasticbeanstalk/bin/pkg-repo help lock
```

Im folgenden Beispiel wird der **help**-Befehl für das Tool `pkg-repo` ausgeführt.

```
$ sudo /opt/elasticbeanstalk/bin/pkg-repo help
```

Sie können `pkg-repo` testen, indem Sie SSH verwenden, um eine Verbindung zu einer Instance in Ihrer Elastic Beanstalk-Umgebung herzustellen. Eine SSH-Option ist der EB CLI [**eb ssh**](eb3-ssh.md) Befehl.

**Anmerkung**  
Die Tool `pkg-repo` benötigt zum Ausführen Stammbenutzer-Berechtigungen. Wenn Sie einen Zugriffsberechtigungsfehler erhalten, führen Sie den Befehl unter `sudo` erneut aus.  
Sie müssen `sudo` nicht hinzufügen, wenn Sie das Tool in den Skripts verwenden, die Sie in Ihrer Umgebung bereitstellen. Elastic Beanstalk führt alle Ihre Skripte als Stammbenutzer aus.

### Beispiele für pkg-repo
<a name="custom-platforms-scripts.pkg-repo.examples"></a>

Der vorherige Abschnitt enthält Befehlszeilenbeispiele für Tests auf einer einzelnen EC2 Instanz einer Elastic Beanstalk Beanstalk-Umgebung. Diese Vorgehensweise kann beim Testen hilfreich sein. Es aktualisiert jedoch jeweils nur eine Instance, daher ist es nicht praktisch, Änderungen an allen Instances in einer Umgebung anzuwenden.

Ein pragmatischerer Ansatz ist die Verwendung von [Plattform-Hook](platforms-linux-extend.hooks.md)-Skripten oder einer [`.ebextensions`](ebextensions.md) Konfigurationsdatei, um die Änderungen auf alle Instances konsistent anzuwenden.

Im folgenden Beispiel wird `pkg-repo` aus einer Konfigurationsdatei im [`.ebextensions`](ebextensions.md)-Folder aufgerufen. Elastic Beanstalk führt die Befehle in der `update_package.config`-Datei aus, wenn Sie das Quell-Bundle der Anwendung bereitstellen.

```
.ebextensions
└── update_package.config
```

Um die neueste Version des *Docker*-Pakets zu erhalten, gibt diese Konfiguration das *Docker*-Paket im **yum update**-Befehl an.

```
### update_package.config ###

commands:
  update_package:
    command: |
      /opt/elasticbeanstalk/bin/pkg-repo unlock
      yum update docker -y
      /opt/elasticbeanstalk/bin/pkg-repo lock
      yum clean all -y
      rm -rf /var/cache/yum
```

Bei dieser Konfiguration werden keine Pakete im **yum update**-Befehl angegeben. Alle verfügbaren Updates werden als Ergebnis angewendet.

```
### update_package.config ###

commands:
  update_package:
    command: |
      /opt/elasticbeanstalk/bin/pkg-repo unlock
      yum update -y
      /opt/elasticbeanstalk/bin/pkg-repo lock
      yum clean all -y
      rm -rf /var/cache/yum
```

Das folgende Beispiel ruft `pkg-repo` von einem Bash-Skript als [Plattform-Hook](platforms-linux-extend.hooks.md) auf. Elastic Beanstalk führt die `update_package.sh`-Skriptdatei aus, die sich in dem Unterverzeichnis `prebuild` befindet.

```
.platform
└── hooks
    └── prebuild
        └── update_package.sh
```

Um die neueste Version des *Docker*-Pakets zu erhalten, gibt dieses Skript das *Docker*-Paket im **yum update**-Befehl an. Wenn der Paketname ausgelassen wird, werden alle verfügbaren Updates angewendet. Das vorherige Beispiel der Konfigurationsdatei zeigt dies.

```
### update_package.sh ###

#!/bin/bash

/opt/elasticbeanstalk/bin/pkg-repo unlock
yum update docker -y
/opt/elasticbeanstalk/bin/pkg-repo lock
yum clean all -y
rm -rf /var/cache/yum
```

## download-source-bundle (Nur Amazon Linux AMI)
<a name="custom-platforms-scripts.download"></a>

Auf Amazon Linux AMI-Plattformbranchen (Vorgänger von Amazon Linux 2) bietet Elastic Beanstalk ein zusätzliches Tool, `download-source-bundle`. Verwenden Sie dieses, um den Quellcode Ihrer Anwendung während der Bereitstellung Ihrer Plattform herunterzuladen. Das Tool steht unter `/opt/elasticbeanstalk/bin/download-source-bundle` zur Verfügung.

Das Beispielskript `00-unzip.sh` befindet sich auf Umgebungs-Instances im Ordner `appdeploy/pre`. Es demonstriert, wie `download-source-bundle` verwendet wird, um den Anwendungsquellcode während der Bereitstellung in den Ordner `/opt/elasticbeanstalk/deploy/appsource` herunterzuladen.

# Erweitern von Elastic Beanstalk-Linux-Plattformen
<a name="platforms-linux-extend"></a>

In diesem Thema wird beschrieben, wie Sie Ihre Linux-Plattformen mit Ihren eigenen Befehlen, Skripten, Software und Konfigurationen erweitern können. Möglicherweise müssen Sie Ihre Plattform erweitern, um den Standard-Proxyserver und die Konfiguration zu ändern. Oder Sie müssen möglicherweise anpassen, wie die Plattform Ihre Anwendung erstellt oder startet.

**Topics**
+ [Buildfile und Procfile](platforms-linux-extend.build-proc.md)
+ [Plattform-Hooks](platforms-linux-extend.hooks.md)
+ [Konfigurationsdateien](platforms-linux-extend.config-files.md)
+ [Reverse-Proxy-Konfiguration](platforms-linux-extend.proxy.md)
+ [Anwendungsbeispiel mit Erweiterungen](platforms-linux-extend.example.md)

# Buildfile und Procfile
<a name="platforms-linux-extend.build-proc"></a>

Auf einigen Plattformen können Sie anpassen, wie Sie Ihre Anwendung erstellen oder vorbereiten und die Prozesse angeben, die Ihre Anwendung ausführen. In jedem einzelnen Plattformthema wird *Buildfile and/or *Procfile** ausdrücklich erwähnt, sofern die Plattform sie unterstützt. Suchen Sie nach Ihrer spezifischen Plattform unter [Elastic Beanstalk-Plattformen](concepts-all-platforms.md).

Syntax und Semantik sind für alle unterstützenden Plattformen identisch und sind wie auf dieser Seite beschrieben. Einzelne Plattformthemen erwähnen die spezifische Verwendung dieser Dateien zum Erstellen und Ausführen von Anwendungen in ihren jeweiligen Sprachen.

## Buildfile
<a name="platforms-linux-extend.build"></a>

Um einen benutzerdefinierten Build- und Konfigurationsbefehl für Ihre Anwendung anzugeben, legen Sie eine Datei mit dem Namen `Buildfile` im Stammverzeichnis Ihrer Anwendungsquelle ab. Beachten Sie beim Dateinamen die Groß- und Kleinschreibung. Verwenden Sie die folgende Syntax für Ihre `Buildfile`.

```
<process_name>: <command>
```

Der Befehl in Ihrer `Buildfile` muss folgendem regulären Ausdruck entsprechen: `^[A-Za-z0-9_-]+:\s*[^\s].*$`

Elastic Beanstalk überwacht nicht die Anwendung, die mit einer `Buildfile` ausgeführt wird. Verwenden Sie eine `Buildfile` für Befehle, die für kurze Zeiträume ausgeführt und nach Abschluss ihrer Aufgaben beendet werden. Verwenden Sie für länger dauernde Anwendungsprozesse, die nicht beendet werden sollten, eine [Procfile](#platforms-linux-extend.proc).

Alle Pfade in der `Buildfile` sind relativ zum Stammverzeichnis des Quell-Bundle. Im folgenden Beispiel einer `Buildfile` ist `build.sh` ein Shell-Skript, das sich im Stammverzeichnis des Quell-Bundle befindet.

**Example Buildfile**  

```
make: ./build.sh
```

Wenn Sie benutzerdefinierte Build-Schritte bereitstellen möchten, empfehlen wir Ihnen, für alles, außer für die einfachsten Befehle, anstelle einer `Buildfile` `predeploy`-Plattform-Hooks zu verwenden. Plattform-Hooks ermöglichen umfangreichere Skripts und eine bessere Fehlerbehandlung. Plattformhaken werden im nächsten Abschnitt beschrieben.

## Procfile
<a name="platforms-linux-extend.proc"></a>

Um benutzerdefinierte Befehle zum Starten und Ausführen der Anwendung anzugeben, legen Sie eine Datei mit dem Namen `Procfile` im Stammverzeichnis Ihrer Anwendungsquelle ab. Beachten Sie beim Dateinamen die Groß- und Kleinschreibung. Verwenden Sie die folgende Syntax für Ihre `Procfile`. Sie können einen oder mehrere Befehle angeben.

```
<process_name1>: <command1>
<process_name2>: <command2>
...
```

Jede Zeile in Ihrer `Procfile` muss folgendem regulären Ausdruck entsprechen: `^[A-Za-z0-9_-]+:\s*[^\s].*$`

Verwenden Sie eine `Procfile` für länger dauernde Anwendungsprozesse, die nicht beendet werden sollten. Elastic Beanstalk erwartet von Prozessen, die aus der `Procfile` ausgeführt werden, dass sie kontinuierlich laufen. Elastic Beanstalk überwacht diese Prozesse und startet alle Prozesse, die beendet werden, neu. Für kurz laufende Prozesse verwenden Sie eine [Buildfile](#platforms-linux-extend.build).

Alle Pfade in der `Procfile` sind relativ zum Stammverzeichnis des Quell-Bundle. Im folgenden Beispiel definiert `Procfile` drei Prozesse. Die erste, die im Beispiel `web` genannt wird, ist die *Hauptwebanwendung*.

**Example Procfile**  

```
web: bin/myserver
cache: bin/mycache
foo: bin/fooapp
```

Elastic Beanstalk konfiguriert den Proxy-Server so, dass Anforderungen an Ihre Haupt-Web-Anwendung über Port 5000 weitergeleitet werden. Sie können diese Port-Nummer konfigurieren. Eine übliche Verwendung für `Procfile` besteht darin, diese Portnummer als Befehlsargument an Ihre Anwendung zu übergeben. Einzelheiten zur Proxykonfiguration finden Sie unter. [Reverse-Proxy-Konfiguration](platforms-linux-extend.proxy.md)

Elastic Beanstalk erfasst Standardausgabe- und Fehler-Streams von `Procfile`-Prozessen in Protokolldateien. Elastic Beanstalk benennt die Protokolldateien nach dem Prozess und speichert sie in `/var/log`. Beispielsweise generiert der `web`-Prozess aus dem vorherigen Beispiel Protokolle mit den Namen `web-1.log` und `web-1.error.log` für `stdout` bzw. `stderr`.

# Plattform-Hooks
<a name="platforms-linux-extend.hooks"></a>

Plattform-Hooks wurden speziell entwickelt, um die Plattform Ihrer Umgebung zu erweitern. Es handelt sich um benutzerdefinierte Skripts und andere benutzerdefinierte ausführbare Dateien, die Sie als Teil des Quellcodes Ihrer Anwendung bereitstellen und die von Elastic Beanstalk in verschiedenen Phasen der Instance-Bereitstellung ausgeführt werden.

**Anmerkung**  
Plattform-Hooks werden auf Amazon Linux AMI-Plattformversionen (vor Amazon Linux 2) nicht unterstützt.

## Plattform-Hooks für die Anwendungsbereitstellung
<a name="platforms-linux-extend.hooks.appdeploy"></a>

Eine *Anwendungsbereitstellung* erfolgt, wenn Sie ein neues Quellpaket zur Bereitstellung angeben oder wenn Sie eine Konfigurationsänderung ausführen, für die alle Instances der Umgebung beendet und neu erstellt werden müssen.

Um Plattform-Hooks bereitzustellen, die während einer Anwendungsbereitstellung ausgeführt werden, speichern Sie die Dateien in einem der folgenden Unterverzeichnisse des Verzeichnisses `.platform/hooks` im Quellpaket.
+ `prebuild` – Die hier aufgeführten Dateien werden ausgeführt, nachdem die Elastic Beanstalk-Plattform-Engine das Anwendungs-Quell-Bundle heruntergeladen und extrahiert hat und bevor die Anwendung und der Webserver eingerichtet und konfiguriert werden.

  Die `prebuild`-Dateien werden ausgeführt, nachdem alle Befehle ausgeführt wurden, die im Abschnitt [Commands](customize-containers-ec2.md#linux-commands) einer beliebigen Konfigurationsdatei gefunden wurden, und bevor `Buildfile`-Befehle ausgeführt werden.
+ `predeploy` – Die hier aufgeführten Dateien werden ausgeführt, nachdem die Elastic Beanstalk-Plattform-Engine die Anwendung und den Webserver eingerichtet und konfiguriert hat und bevor sie an ihrem endgültigen Laufzeitspeicherort bereitgestellt werden.

  Die `predeploy`-Dateien werden nach dem Ausführen von Befehlen im Abschnitt [container\$1commands](customize-containers-ec2.md#linux-container-commands) einer beliebigen Konfigurationsdatei und vor dem Ausführen von `Procfile`-Befehlen ausgeführt.
+ `postdeploy` – Die hier aufgeführten Dateien werden ausgeführt, nachdem die Elastic Beanstalk-Plattform-Engine die Anwendung und den Proxyserver bereitgestellt hat.

  Dies ist der letzte Schritt im Bereitstellungsworkflow.

## Plattform-Hooks für die Konfigurationsbereitstellung
<a name="platforms-linux-extend.hooks.configdeploy"></a>

Eine *Konfigurationsbereitstellung* erfolgt, wenn Sie Konfigurationsänderungen ausführen, mit denen die Instances der Umgebung aktualisiert, jedoch nicht neu erstellt werden. Die folgenden Optionsaktualisierungen führen zu einer Konfigurationsaktualisierung.
+ [Umgebungseigenschaften und plattformspezifische Einstellungen](environments-cfg-softwaresettings.md)
+ [Statische Dateien](environment-cfg-staticfiles.md)
+ [AWS X-Ray Daemon](environment-configuration-debugging.md)
+ [Protokollspeicher und Streamen](environments-cfg-logging.md)
+ Anwendungs-Port (Einzelheiten finden Sie unter[Reverse-Proxy-Konfiguration](platforms-linux-extend.proxy.md))

Um Hooks bereitzustellen, die während einer Konfigurationsbereitstellung ausgeführt werden, speichern Sie sie im Verzeichnis `.platform/confighooks` im Quellpaket. Es werden die gleichen drei Unterverzeichnisse wie für Hooks für die Anwendungsbereitstellung verwendet.

## Weitere Informationen zu Plattform-Hooks
<a name="platforms-linux-extend.hooks.more"></a>

Bei Hook-Dateien kann es sich um Binär- oder Skriptdateien handeln, die mit einer `#!`-Zeile mit dem Interpreter-Pfad beginnen, z. B. `#!/bin/bash`. Alle Dateien müssen über die Ausführungsberechtigung verfügen. Legen Sie mit `chmod +x` die Ausführungsberechtigung für Ihre Hook-Dateien fest. Für alle auf Amazon Linux 2023 und Amazon Linux 2 basierenden Plattformversionen, die am oder nach dem 29. April 2022 veröffentlicht wurden, gewährt Elastic Beanstalk automatisch Ausführungsberechtigungen für alle Plattform-Hook-Skripts. In diesem Fall müssen Sie Ausführungsberechtigungen nicht manuell erteilen. Eine Liste dieser Plattformversionen finden Sie in den Linux-Versionshinweisen vom [29. April 2022](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-04-29-linux.html#release-2022-04-29-linux.platforms) im *AWS Elastic Beanstalk -Leitfaden für Versionshinweise*.

Elastic Beanstalk führt in jedem dieser Verzeichnisse Dateien in lexikographischer Reihenfolge der Dateinamen aus. Alle Dateien werden als `root`-Benutzer ausgeführt. Das aktuelle Arbeitsverzeichnis (cwd) für Plattform-Hooks ist das Stammverzeichnis der Anwendung. Für `prebuild`- und `predeploy`-Dateien ist es das Anwendungs-Staging-Verzeichnis, und für `postdeploy`-Dateien ist es das aktuelle Anwendungsverzeichnis. Wenn eine der Dateien fehlschlägt (mit einem Exit-Code ungleich Null beendet wird), wird die Bereitstellung abgebrochen und schlägt fehl.

Ein Platform-Hooks-Textskript schlägt möglicherweise fehl, wenn es Zeilenumbruchzeichen (Windows *Carriage Return/Line Feed*, CRLF) enthält. Wenn eine Datei auf einem Windows-Host gespeichert und dann auf einen Linux-Server übertragen wurde, kann sie Windows-CRLF-Zeilenumbrüche enthalten. Für Plattformen, die am oder nach dem [29. Dezember 2022](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-12-29-linux.html) veröffentlicht wurden, konvertiert Elastic Beanstalk Windows-CRLF-Zeichen automatisch in Zeilenumbruchzeichen von *Linux-Line Feed(LF)* in Platform-Hooks-Textdateien. Wenn Ihre Anwendung auf Amazon-Linux-2-Plattformen läuft, die vor diesem Datum veröffentlicht wurden, müssen Sie die Windows-CRLF-Zeichen in Linux-LF-Zeichen konvertieren. Eine Möglichkeit, dies zu erreichen, besteht darin, die Skriptdatei auf einem Linux-Host zu erstellen und zu speichern. Tools, die diese Zeichen konvertieren, sind auch im Internet verfügbar.

Hook-Dateien können auf alle Umgebungseigenschaften zugreifen, die Sie in den Anwendungsoptionen definiert haben, sowie auf die Systemumgebungsvariablen `HOME`, `PATH` und `PORT`. 

Um die Werte von Umgebungsvariablen und anderen Konfigurationsoptionen für Ihre Skripts für Plattform-Hooks abzurufen, können Sie das `get-config`-Dienstprogramm verwenden, das Elastic Beanstalk auf Umgebungs-Instances verwendet. Details hierzu finden Sie unter [Plattform-Skripttools für Ihre Elastic Beanstalk Beanstalk-Umgebungen](custom-platforms-scripts.md).

# Konfigurationsdateien
<a name="platforms-linux-extend.config-files"></a>

Sie können [Konfigurationsdateien](ebextensions.md) zum Verzeichnis `.ebextensions` des Quellcodes Ihrer Anwendung hinzufügen, um verschiedene Aspekte Ihrer Elastic Beanstalk-Umgebung zu konfigurieren. Mit Konfigurationsdateien können Sie unter anderem Software und andere Dateien auf den Instances Ihrer Umgebung anpassen und Initialisierungsbefehle für die Instances ausführen. Weitere Informationen finden Sie unter [Anpassen von Software auf Linux-Servern](customize-containers-ec2.md).

Sie können [Konfigurationsoptionen](command-options.md) auch mithilfe von Konfigurationsdateien festlegen. Viele der Optionen steuern das Plattformverhalten, und einige dieser Optionen sind [plattformspezifisch](command-options-specific.md).

Für Plattformen, die auf Amazon Linux 2 und Amazon Linux 2023 basieren, empfiehlt sich die Verwendung von *Buildfile*, *Procfile* und *Plattform-Hooks* zum Konfigurieren und Ausführen von benutzerdefiniertem Code auf Ihren Umgebungs-Instances während der Instance-Bereitstellung. Diese Mechanismen werden in den vorherigen Abschnitten auf dieser Seite beschrieben. Sie können in `.ebextensions`-Konfigurationsdateien weiterhin Befehle und Containerbefehle verwenden, aber sie sind nicht mehr so einfach in der Verwendung. Beispielsweise kann das Schreiben von Befehlsskripts in einer YAML-Datei vom Syntaxstandpunkt her eine Herausforderung darstellen. Sie müssen weiterhin `.ebextensions` Konfigurationsdateien für jedes Skript verwenden, das einen Verweis auf eine AWS CloudFormation Ressource benötigt.

# Reverse-Proxy-Konfiguration
<a name="platforms-linux-extend.proxy"></a>

Alle Amazon-Linux-2- und Amazon-Linux-2023-Plattformversionen nutzen nginx als standardmäßigen Reverse-Proxy-Server. Die Plattformen Tomcat, Node.js, PHP und Python unterstützen ebenfalls Apache HTTPD als Alternative. Um Apache auf diesen Plattformen auszuwählen, legen Sie die Option `ProxyServer` im Namespace `aws:elasticbeanstalk:environment:proxy` auf `apache` fest. Alle Plattformen ermöglichen eine einheitliche Konfiguration des Proxy-Servers wie in diesem Abschnitt beschrieben.

**Anmerkung**  
Im Fall von Amazon Linux AMI-Plattformversionen (vor Amazon Linux 2) müssen Sie Proxy-Server möglicherweise auf eine andere Art konfigurieren. Diese Legacy-Details finden Sie in den [jeweiligen Plattform-Themen](concepts-all-platforms.md) in diesem Handbuch.

Elastic Beanstalk konfiguriert den Proxyserver auf den Instances Ihrer Umgebung, um Webdatenverkehr an die Hauptwebanwendung über die Stamm-URL der Umgebung weiterzuleiten, z. B. `http://my-env.elasticbeanstalk.com`.

Standardmäßig wird der Proxy von Elastic Beanstalk so konfiguriert, dass alle Anforderungen an Port 80 an Ihre primäre Webanwendung unter Port 5000 weitergeleitet werden. Sie können diese Portnummer konfigurieren, indem Sie die `PORT`-Umgebungseigenschaft mithilfe des Namespace [aws:elasticbeanstalk:application:environment](command-options-general.md#command-options-general-elasticbeanstalkapplicationenvironment) in einer Konfigurationsdatei festlegen, wie im folgenden Beispiel gezeigt.

```
option_settings:
  - namespace:  aws:elasticbeanstalk:application:environment
    option_name:  PORT
    value:  <main_port_number>
```

Weitere Informationen zum Festlegen von Umgebungsvariablen für Ihre Anwendung finden Sie unter [Optionseinstellungen](ebextensions-optionsettings.md).

Ihre Anwendung sollte den Port überwachen, der dafür im Proxy konfiguriert ist. Wenn Sie den Standardport mithilfe der Umgebungseigenschaft `PORT` ändern, kann der Code durch Lesen des Wertes der Umgebungsvariablen `PORT` darauf zugreifen. Rufen Sie beispielsweise `os.Getenv("PORT")` in Go oder `System.getenv("PORT")` in Java auf. Wenn Sie Ihren Proxy so konfigurieren, dass Datenverkehr an mehrere Anwendungsprozesse gesendet wird, können Sie mehrere Umgebungseigenschaften konfigurieren und deren Werte sowohl in der Proxykonfiguration als auch in Ihrem Anwendungscode verwenden. Eine weitere Möglichkeit besteht darin, den Port-Wert als Befehlsargument in der `Procfile` an den Prozess zu übergeben. Weitere Informationen finden Sie unter [Buildfile und Procfile](platforms-linux-extend.build-proc.md).

## Konfigurieren von nginx
<a name="platforms-linux-extend.proxy.nginx"></a>

Elastic Beanstalk verwendet nginx als Standard-Reverse-Proxy, um die Anwendung dem Elastic Load Balancing-Load Balancer zuzuweisen. Elastic Beanstalk bietet eine nginx-Standardkonfiguration, die Sie erweitern oder gänzlich mit einer eigenen Konfiguration überschreiben können.

**Anmerkung**  
Wenn Sie eine `.conf`-Konfigurationsdatei von nginx hinzufügen oder bearbeiten, müssen Sie sie als UTF-8 codieren.

Um die nginx-Standardkonfiguration von Elastic Beanstalk zu erweitern, fügen Sie `.conf`-Konfigurationsdateien zum Ordner `.platform/nginx/conf.d/` im Quell-Bundle der Anwendung hinzu. Die nginx-Konfiguration von Elastic Beanstalk fügt `.conf`-Dateien automatisch zu diesem Ordner hinzu.

```
~/workspace/my-app/
|-- .platform
|   `-- nginx
|       `-- conf.d
|           `-- myconf.conf
`-- other source files
```

Konfigurationsdateien in `.platform/nginx/conf.d/` sind im `http` Block der Nginx-Konfiguration enthalten. Verwenden Sie diesen Speicherort für Konfigurationen, die global gelten.

Um die standardmäßige `server` Nginx-Blockkonfiguration zu erweitern, fügen Sie `.conf` Konfigurationsdateien zu einem Ordner hinzu, der `.platform/nginx/conf.d/elasticbeanstalk/` in Ihrem Anwendungsquellpaket benannt ist. Die Elastic Beanstalk-Nginx-Konfiguration umfasst `.conf` Dateien in diesem Ordner innerhalb des Blocks. `server`

```
~/workspace/my-app/
|-- .platform
|   `-- nginx
|       `-- conf.d
|           `-- elasticbeanstalk
|               `-- server.conf
`-- other source files
```

Verwenden Sie diesen Speicherort, um serverspezifische Konfigurationen hinzuzufügen, z. B. zusätzliche Speicherortblöcke, benutzerdefinierte Fehlerseiten oder Direktiven auf Serverebene. Im folgenden Beispiel wird ein benutzerdefinierter Standortblock hinzugefügt.

**Example . platform/nginx/conf.d/elasticbeanstalk/server.conf**  

```
location /test {
    return 200 "Hello World!";
    add_header Content-Type text/plain;
}
```

Um die nginx-Standardkonfiguration von Elastic Beanstalk vollständig zu überschreiben, fügen Sie bei `.platform/nginx/nginx.conf` eine Konfiguration in das Quellpaket ein.

```
~/workspace/my-app/
|-- .platform
|   `-- nginx
|       `-- nginx.conf
`-- other source files
```

Wenn Sie die nginx-Konfiguration von Elastic Beanstalk überschreiben, fügen Sie folgende Zeile zu `nginx.conf` hinzu, damit die Elastic-Beanstalk-Konfigurationen für [Verbesserte Gesundheitsberichterstattung und Überwachung in Elastic Beanstalk](health-enhanced.md), automatische Anwendungszuweisungen und statische Dateien einbezogen werden.

```
 include conf.d/elasticbeanstalk/*.conf;
```

## Konfigurieren von Apache HTTPD
<a name="platforms-linux-extend.proxy.httpd"></a>

Die Plattformen Tomcat, Node.js, PHP und Python ermöglichen Ihnen die Auswahl des Apache-HTTPD-Proxy-Servers als Alternative zu nginx. Dies ist nicht die Standardoption. Im folgenden Beispiel wird Elastic Beanstalk für die Verwendung von Apache HTTPD konfiguriert.

**Example .ebextensions/httpd-proxy.config**  

```
option_settings:
  aws:elasticbeanstalk:environment:proxy:
    ProxyServer: apache
```
Sie können die Elastic Beanstalk-Apache-Standardkonfiguration mit Ihren zusätzlichen Konfigurationsdateien erweitern. Alternativ können Sie die Apache-Standardkonfiguration von Elastic Beanstalk vollständig überschreiben.  
Um die Apache-Standardkonfiguration von Elastic Beanstalk zu erweitern, fügen Sie `.conf`-Konfigurationsdateien zum Ordner `.platform/httpd/conf.d` im Quell-Bundle der Anwendung hinzu. Die Apache-Konfiguration von Elastic Beanstalk fügt `.conf`-Dateien automatisch zu diesem Ordner hinzu.  

```
~/workspace/my-app/
|-- .ebextensions
|   -- httpd-proxy.config
|-- .platform
|   -- httpd
|      -- conf.d
|         -- port5000.conf
|         -- ssl.conf
-- index.jsp
```
Beispielsweise wird mit der folgenden Apache 2.4-Konfiguration ein Listener auf Port 5000 hinzugefügt:  

**Example . platform/httpd/conf.d/port5000.conf**  

```
listen 5000
<VirtualHost *:5000>
  <Proxy *>
    Require all granted
  </Proxy>
  ProxyPass / http://localhost:8080/ retry=0
  ProxyPassReverse / http://localhost:8080/
  ProxyPreserveHost on

  ErrorLog /var/log/httpd/elasticbeanstalk-error_log
</VirtualHost>
```
Um die Apache-Standardkonfiguration von Elastic Beanstalk vollständig zu überschreiben, fügen Sie bei eine Konfiguration in das Quellpaket ei `.platform/httpd/conf/httpd.conf`.  

```
~/workspace/my-app/
|-- .ebextensions
|   -- httpd-proxy.config
|-- .platform
|   `-- httpd
|       `-- conf
|           `-- httpd.conf
`-- index.jsp
```
Wenn Sie die Apache-Konfiguration von Elastic Beanstalk überschreiben, fügen Sie folgende Zeilen zu `httpd.conf` hinzu, damit die Elastic-Beanstalk-Konfigurationen für [Verbesserte Gesundheitsberichterstattung und Überwachung in Elastic Beanstalk](health-enhanced.md), automatische Anwendungszuweisungen und statische Dateien einbezogen werden.  

```
IncludeOptional conf.d/elasticbeanstalk/*.conf
```

# Anwendungsbeispiel mit Erweiterungen
<a name="platforms-linux-extend.example"></a>

Im folgenden Beispiel wird ein Anwendungs-Quell-Bundle mit mehreren Erweiterungsfunktionen veranschaulicht, die von Amazon-Linux-2- und Amazon-Linux-2023-Plattformen für Elastic Beanstalk unterstützt werden: eine `Procfile`, `.ebextensions`-Konfigurationsdateien, benutzerdefinierte Hooks und Proxy-Konfigurationsdateien.

```
~/my-app/
|-- web.jar
|-- Procfile
|-- readme.md
|-- .ebextensions/
|   |-- options.config        # Option settings
|   `-- cloudwatch.config     # Other .ebextensions sections, for example files and container commands
`-- .platform/
    |-- nginx/                # Proxy configuration
    |   |-- nginx.conf
    |   `-- conf.d/
    |       |-- custom.conf
    |       `-- elasticbeanstalk/
    |           `-- server.conf
    |-- hooks/                # Application deployment hooks
    |   |-- prebuild/
    |   |   |-- 01_set_secrets.sh
    |   |   `-- 12_update_permissions.sh
    |   |-- predeploy/
    |   |   `-- 01_some_service_stop.sh
    |   `-- postdeploy/
    |       |-- 01_set_tmp_file_permissions.sh
    |       |-- 50_run_something_after_app_deployment.sh
    |       `-- 99_some_service_start.sh
    `-- confighooks/          # Configuration deployment hooks
        |-- prebuild/
        |   `-- 01_set_secrets.sh
        |-- predeploy/
        |   `-- 01_some_service_stop.sh
        `-- postdeploy/
            |-- 01_run_something_after_config_deployment.sh
            `-- 99_some_service_start.sh
```

**Anmerkung**  
Einige dieser Erweiterungen werden auf Amazon Linux AMI-Plattformversionen (vor Amazon Linux 2) nicht unterstützt.