

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.

# Verwenden eines benutzerdefinierten Amazon Machine Images (AMI) in Ihrer Elastic Beanstalk Beanstalk-Umgebung
<a name="using-features.customenv"></a>

In diesem Abschnitt wird erläutert, wann die Verwendung eines benutzerdefinierten AMI in Betracht gezogen werden sollte, und es werden die Verfahren zur Konfiguration und Verwaltung des benutzerdefinierten AMI in Ihrer Umgebung beschrieben. Wenn Sie eine AWS Elastic Beanstalk Umgebung erstellen, können Sie ein Amazon Machine Image (AMI) angeben, das anstelle des standardmäßigen Elastic Beanstalk Beanstalk-AMI verwendet werden soll, das in Ihrer Plattformversion enthalten ist. Ein benutzerdefiniertes AMI kann die Bereitstellungszeiten verbessern, wenn Instances in Ihrer Umgebung gestartet werden, wenn Sie viel Software installieren müssen, die nicht im Standard AMIs enthalten ist.

Die Verwendung von [Konfigurationsdateien](ebextensions.md) ist effektiv, um Ihre Umgebung schnell und konsistent anzupassen. Das Anwenden von Konfigurationen kann jedoch bei der Erstellung und Aktualisierung der Umgebung viel Zeit in Anspruch nehmen. Wenn Sie viele Server-Konfigurationen in Konfigurationsdateien vornehmen, können Sie diese Zeit verringern, indem Sie eine benutzerdefinierte AMI erstellen, die bereits über die benötigte Software und Konfiguration verfügt.

Mit einem benutzerdefinierten AMI können Sie auch Änderungen an niedrigen Komponenten vornehmen, wie z. B. dem Linux-Kernel, die schwierig zu implementieren sind oder lange für die Anwendung auf Konfigurationsdateien brauchen. Zum Erstellen eines benutzerdefinierten AMI starten Sie ein Elastic Beanstalk-AMI in Amazon EC2, passen die Software und Konfiguration an Ihre Anforderungen an, halten die Instance an und speichern ein AMI daraus.

## Erstellen eines benutzerdefinierten AMI
<a name="using-features.customenv.create"></a>

 AMIs Als Alternative zu diesen Verfahren können Sie [EC2 Image Builder](https://aws.amazon.com/image-builder) verwenden, um benutzerdefinierte zu erstellen und zu verwalten. Weitere Informationen finden Sie im [Image Builder Builder-Benutzerhandbuch](https://docs.aws.amazon.com/imagebuilder/latest/userguide/what-is-image-builder.html).

**So identifizieren Sie das Basis-AMI von Elastic Beanstalk**

1. Führen Sie in einem Befehlsfenster einen ähnlichen Befehl wie den folgenden aus. Weitere Informationen finden Sie unter [describe-platform-version](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/describe-platform-version.html) in der Referenz zum *AWS CLI -Befehl*. 

   Geben Sie die AWS Region an, in der Sie Ihr benutzerdefiniertes AMI verwenden möchten, und ersetzen Sie den Plattform-ARN und die Versionsnummer durch die Elastic Beanstalk-Plattform, auf der Ihre Anwendung basiert.

     
**Example - Mac OS/Linux OS**  

   ```
   $ aws elasticbeanstalk describe-platform-version --region us-east-2 \
         --platform-arn "arn:aws:elasticbeanstalk:us-east-2::platform/Node.js 20 running on 64bit Amazon Linux 2023/6.1.7" \
         --query PlatformDescription.CustomAmiList
   [
       {
           "VirtualizationType": "pv",
           "ImageId": ""
       },
       {
           "VirtualizationType": "hvm",
           "ImageId": "ami-020ae06fdda6a0f66"
       }
   ]
   ```  
**Example - Windows OS**  

   ```
   C:\> aws elasticbeanstalk describe-platform-version --region us-east-2 --platform-arn"arn:aws:elasticbeanstalk:us-east-2::platform/
   IIS 10.0 running on 64bit Windows Server 2022/2.15.3" --query PlatformDescription.CustomAmiList
   [
       {
           "VirtualizationType": "pv",
           "ImageId": ""
       },
       {
           "VirtualizationType": "hvm",
           "ImageId": "ami-020ae06fdda6a0f66"
       }
   ]
   ```

1. Notieren Sie sich den `ImageId`-Wert, der im Ergebnis wie `ami-020ae06fdda6a0f66` aussieht.

Der Wert ist das standardmäßige Elastic Beanstalk Beanstalk-AMI für die Plattformversion, die EC2-Instance-Architektur und die AWS Region, die für Ihre Anwendung relevant sind. Wenn Sie AMIs für mehrere Plattformen, Architekturen oder AWS Regionen erstellen müssen, wiederholen Sie diesen Vorgang, um das richtige Basis-AMI für jede Kombination zu ermitteln.

**Anmerkung**  
Erstellen Sie kein AMI aus einer Instance, die in einer Elastic Beanstalk-Umgebung gestartet wurde. Elastic Beanstalk nimmt Änderungen an Instances während der Bereitstellung vor, die zu Problemen im gespeicherten AMI führen können. Durch das Speichern eines Image von einer Instance in einer Elastic Beanstalk-Umgebung wird auch die Version Ihrer Anwendung, die für die Instance bereitgestellt wurde, zu einem festen Teil des Image.

Für Linux ist es auch möglich, ein benutzerdefiniertes AMI von einem Community-AMI zu erstellen, dass nicht von Elastic Beanstalk veröffentlicht wurde. Sie können das neueste [Amazon Linux](https://aws.amazon.com/amazon-linux-ami/)-AMI als Ausgangspunkt verwenden. Wenn Sie eine Umgebung mit einem Linux AMI starten, das nicht von Elastic Beanstalk verwaltet wird, versucht Elastic Beanstalk die Plattformsoftware (Sprache, Framework, Proxy-Server usw.) und zusätzliche Komponenten zur Unterstützung von Funktionen, wie [Erweiterte Zustandsberichte](health-enhanced.md) zu installieren. 

**Anmerkung**  
Benutzerdefiniert, die auf Windows Server AMIs basieren, erfordern das standardmäßige Elastic Beanstalk AMI`describe-platform-version`, von dem zurückgegeben wurde, wie zuvor in Schritt 1 gezeigt.

Obwohl Elastic Beanstalk ein AMI verwenden kann, das nicht von Elastic Beanstalk verwaltet wird, kann die erhöhte Bereitstellungszeit, die sich daraus ergibt, dass Elastic Beanstalk fehlende Komponenten installiert, die Vorteile der Erstellung eines benutzerdefinierten AMI im Vorhinein verringern oder aufheben. Andere Linux-Distributionen könnten mit einiger Fehlerbehebung funktionieren, werden aber nicht offiziell unterstützt. Wenn Ihre Anwendung eine spezifische Linux-Distribution erfordert, ist es alternativ auch möglich, ein Docker-Image zu erstellen und es auf der [Docker-Plattform](docker.md) oder [Multicontainer Docker-Plattform](create_deploy_docker_ecs.md) von Elastic Beanstalk auszuführen.

**So erstellen Sie ein benutzerdefiniertes AMI**

1. Öffnen Sie die Amazon-EC2-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Wählen Sie **Launch Instance** aus.

1. Wenn Sie ein Basis-AMI von Elastic Beanstalk (unter Verwendung von `describe-platform-version`) oder ein Amazon Linux-AMI identifiziert haben, geben Sie die AMI-ID in das Suchfeld ein. Drücken Sie anschließend die **Eingabetaste**.

   Sie können auch die Liste für eine andere Community-AMI durchsuchen, die Ihren Anforderungen entspricht.
**Anmerkung**  
Wir empfehlen, dass Sie eine AMI mit HVM-Virtualisierung verwenden. In ihrer AMIs Beschreibung wird der **Virtualisierungstyp: hvm angegeben**.  
Weitere Informationen finden Sie unter [Virtualisierungstypen](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#virtualization_types) im *Amazon EC2 EC2-Benutzerhandbuch*.

1. Wählen Sie **Select (Auswählen)** zum Auswählen des AMI aus.

1. Wählen Sie einen Instance-Typen und danach **Weiter: Instance-Details konfigurieren** aus.

1. **(Für veraltete Amazon Linux AMI (AL1) -Plattformen)** Überspringen Sie diesen Schritt, wenn Ihre Umgebung auf einer unterstützten Linux-basierten Plattform oder auf einer Windows-Plattform läuft.

   Erweitern Sie den Abschnitt **Erweiterte Details** und fügen Sie den folgenden Text in das Feld **Benutzerdaten** ein.

   ```
   #cloud-config
     repo_releasever: repository version number
     repo_upgrade: none
   ```

   Die *Repository-Versionsnummer* ist das Jahr und der Monat der Version im AMI-Namen. AMIs Basierend auf der Version von Amazon Linux vom März 2015 haben Sie beispielsweise eine Repository-Versionsnummer`2015.03`. Bei einem Elastic Beanstalk-Image entspricht dies dem Datum, das im Namen des Lösungs-Stacks für Ihre [Plattformversion](concepts.platforms.md) auf der Basis von Amazon Linux AMI (Vorgängerversion von Amazon Linux 2) angegeben ist.
**Anmerkung**  
Die `repo_releasever` Einstellung konfiguriert die lock-on-launch Funktion für ein Amazon Linux AMI. Dies bewirkt, dass das AMI beim Start eine feste, spezifische Repository-Version verwendet. Diese Funktion wird unter Amazon Linux 2 nicht unterstützt . Geben Sie sie nicht an, wenn Ihre Umgebung einen aktuellen Amazon Linux 2-Plattformzweig verwendet. Die Einstellung ist erforderlich, wenn Sie ein benutzerdefiniertes AMI mit Elastic Beanstalk ausschließlich auf Amazon Linux AMI-Plattformzweigen verwenden (vor Amazon Linux 2).  
Die Einstellung `repo_upgrade` deaktiviert die automatische Installation von Sicherheitsupdates. Dies ist für die Verwendung eines benutzerdefinierten AMI mit Elastic Beanstalk erforderlich.

1. Führen Sie die Schritte im Assistenten aus, um die [EC2-Instance zu starten](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/launching-an-instance.html). Wenn Sie dazu aufgefordert werden, wählen Sie ein Schlüsselpaar, auf das Sie Zugriff haben, um die Verbindung zur Instance für die nächsten Schritte herzustellen.

1.  [Stellen Sie eine Verbindung mit der Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstances.html) über SSH oder RDP her.

1. Führen Sie alle gewünschten Anpassungen durch.

1. **(Windows-Plattformen)** Führen Sie den EC2 Config-Dienst Sysprep aus. Informationen zu EC2 Config finden Sie unter [Konfiguration einer Windows-Instanz mithilfe des EC2 Config-Dienstes](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/UsingConfig_WinAMI.html). Stellen Sie sicher, dass Sysprep konfiguriert ist, um ein zufälliges Passwort zu generieren, das von der AWS-Managementkonsole abgerufen werden kann.

1. Stoppen Sie in der Amazon EC2-Konsole die EC2-Instance. Anschließend wählen Sie im Menü **Instance Actions (Instance-Aktionen)** die Option **Create Image (EBS AMI) (Image erstellen (EBS AMI))** aus.

1. Um zusätzliche AWS Gebühren zu vermeiden, [beenden Sie die EC2-Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html).

**So verwenden Sie Ihr benutzerdefiniertes AMI in einer Elastic Beanstalk-Umgebung**

1. Öffnen Sie die [Elastic Beanstalk Beanstalk-Konsole](https://console.aws.amazon.com/elasticbeanstalk) und wählen Sie in der Liste **Regionen** Ihre aus. AWS-Region

1. Wählen Sie im Navigationsbereich **Environments (Umgebungen)** aus und wählen Sie dann in der Liste den Namen Ihrer Umgebung aus.

1. Wählen Sie im Navigationsbereich **Configuration (Konfiguration)** aus.

1. Wählen Sie in der Konfigurationskategorie **Capacity (Kapazität)** die Option **Edit (Bearbeiten)**.

1. Geben Sie bei **AMI-ID** Ihre benutzerdefinierte AMI-ID ein.

1. Wählen Sie unten auf der Seite die Option **Apply** (Anwenden) aus, um die Änderungen zu speichern.

Wenn Sie eine neue Umgebung mit dem benutzerdefinierten AMI erstellen, sollten Sie dieselbe Plattformversion verwenden, die Sie als Grundlage für das Erstellen des AMI verwendet haben. 

## Verwaltung einer Umgebung mit einem benutzerdefinierten AMI
<a name="using-features.customenv.managing"></a>

### Plattformaktualisierungen
<a name="using-features.customenv.platform-updates."></a>

Bei Verwendung eines benutzerdefinierten AMI verwendet Elastic Beanstalk weiterhin dasselbe benutzerdefinierte AMI in einer Umgebung, wenn die Plattformversion aktualisiert wird, unabhängig davon, ob das Update manuell oder über verwaltete Plattformupdates angewendet wird. Die Umgebung wird **nicht** zurückgesetzt, um das Standard-AMI der neuen Plattformversion zu verwenden.

Wir empfehlen, dass Sie ein neues benutzerdefiniertes AMI erstellen, das auf dem Standard-AMI der neuen Plattformversion basiert. Dadurch werden die in der neuen Plattformversion verfügbaren Patches angewendet und außerdem werden Bereitstellungsfehler aufgrund inkompatibler Paket- oder Bibliotheksversionen minimiert.

Weitere Informationen zum Erstellen eines neuen benutzerdefinierten AMI finden Sie weiter [Erstellen eines benutzerdefinierten AMI](#using-features.customenv.create) oben in diesem Thema.

### Ein benutzerdefiniertes AMI entfernen
<a name="using-features.customenv.platform-updates."></a>

Wenn Sie ein benutzerdefiniertes AMI aus einer Umgebung entfernen und es so zurücksetzen möchten, dass es das Standard-AMI für die Plattformversion der Umgebung verwendet, verwenden Sie den folgenden CLI-Befehl.

```
aws elasticbeanstalk update-environment \
  --application-name my-application \
  --environment-name my-environment \
  --region us-east-1 \
  --options-to-remove Namespace=aws:autoscaling:launchconfiguration,OptionName=ImageId
```

**Anmerkung**  
Um Betriebsunterbrechungen zu vermeiden, testen Sie Ihre Anwendung mit einem Standard-AMI, bevor Sie diese Änderung auf Ihre Produktionsumgebung anwenden.

## Bereinigen eines benutzerdefinierten AMI
<a name="using-features.customenv.cleanup"></a>

Wenn Sie mit einem benutzerdefinierten AMI fertig sind und dieses nicht mehr benötigen, um Elastic Beanstalk-Umgebungen zu starten, sollten Sie in Betracht ziehen, es zu bereinigen, um die Speicherkosten zu minimieren. Die Bereinigung eines benutzerdefinierten AMI beinhaltet dessen Abmeldung von Amazon EC2 und das Löschen anderer zugehöriger Ressourcen. Weitere Informationen finden Sie unter [Abmelden Ihres Linux AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/deregister-ami.html) oder [Abmelden Ihres Windows AMI](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/deregister-ami.html).