Die Amazon EC2-Instances Ihrer Elastic Beanstalk-Umgebung - AWS Elastic Beanstalk

Die Amazon EC2-Instances Ihrer Elastic Beanstalk-Umgebung

Wenn Sie eine Webserver-Umgebung erstellen, erstellt AWS Elastic Beanstalk eine oder mehrere virtuelle Maschinen von Amazon Elastic Compute Cloud (Amazon EC2), die als Instances bezeichnet werden.

Die Instances in Ihrer Umgebung sind so konfiguriert, dass Web-Apps auf der von Ihnen ausgewählten Plattform ausgeführt werden. Sie können Änderungen an verschiedenen Eigenschaften und Verhaltensweisen der Instances Ihrer Umgebung vornehmen, wenn Sie Ihre Umgebung erstellen oder nachdem sie bereits ausgeführt wurde. Sie können diese Änderungen auch bereits vornehmen, indem Sie den Quellcode ändern, den Sie in der Umgebung bereitstellen. Weitere Informationen finden Sie unter Konfigurationsoptionen.

Anmerkung

Die Auto Scaling-Gruppe in Ihrer Umgebung verwaltet die Amazon EC2-Instances, auf denen Ihre Anwendung ausgeführt wird. Wenn Sie die auf dieser Seite beschriebenen Konfigurationsänderungen vornehmen, ändert sich auch die Startkonfiguration. Bei der Startkonfiguration handelt es sich entweder um eine Amazon EC2-Startvorlage oder eine Startkonfigurationsressource der Auto Scaling-Gruppe. Diese Änderung erfordert den Ersatz aller Instances. Sie löst auch entweder eine Laufende Aktualisierung oder eine unveränderliche Aktualisierung aus, je nachdem was konfiguriert ist.

Elastic Beanstalk unterstützt mehrere Kaufoptionen für Amazon EC2-Instances: On-Demand-Instances, Reserved Instances und Spot-Instances. Eine On-Demand-Instance ist eine nutzungsabhängige Ressource, bei der keine langfristige Verpflichtung erforderlich ist. Eine Reserved Instance ist ein vorab erworbener Abrechnungsrabatt, der automatisch auf übereinstimmende On-Demand-Instances in Ihrer Umgebung angewendet wird. Eine Spot-Instance ist eine ungenutzte Amazon EC2-Instance, die für weniger als den On-Demand-Preis erhältlich ist. Sie können Spot-Instances in Ihrer Umgebung aktivieren, indem Sie eine einzige Option festlegen. Sie können die Verwendung von Spot-Instances, einschließlich der Mischung aus On-Demand-Instances und Spot-Instances, mithilfe zusätzlicher Optionen konfigurieren. Weitere Informationen finden Sie unter Auto Scaling-Gruppe.

Amazon EC2-Instance-Typen

Wenn Sie eine neue Umgebung erstellen, stellt Elastic Beanstalk Amazon EC2-Instances bereit, die auf den Amazon EC2Instance-Typen basieren, die Sie auswählen. Die von Ihnen ausgewählten Instance-Typen bestimmen die Host-Hardware, auf der Ihre Instances ausgeführt werden. EC2-Instanztypen können danach kategorisiert werden, auf welcher Prozessorarchitektur sie basieren. Elastic Beanstalk unterstützt Instance-Typen, die auf den folgenden Prozessorarchitekturen basieren: AWS Graviton 64-Bit Arm-Architektur (arm64), 64-Bit-Architektur (x86) und 32-Bit-Architektur (i386).

Anmerkung

Die i386 32-Bit-Architektur wird von den meisten Elastic Beanstalk-Plattformen nicht mehr unterstützt. Wir empfehlen, stattdessen die Architekturtypen x86 oder arm64 auszuwählen. Elastic Beanstalk bietet Konfigurationsoptionen für i386-Prozessor-Instance-Typen im aws:ec2:instances-Namespace.

Standardmäßig wählt Elastic Beanstalk die x86-Prozessorarchitektur aus, wenn Sie eine neue Umgebung erstellen. Sie können die Prozessorarchitektur (x86, arm64) für die Instance-Typen nur auswählen, wenn Sie eine neue Umgebung erstellen. Nachdem Sie eine Umgebung erstellt haben, können Sie die Instance-Typen nur auf andere innerhalb derselben Prozessorarchitektur wie Ihre Laufumgebung ändern. Sie können die Prozessorarchitektur nicht ändern.

Alle Instance-Typen in der Konfiguration für eine bestimmte Elastic Beanstalk-Umgebung müssen dieselbe Art von Prozessorarchitektur haben. Angenommen, Sie fügen einer vorhandenen Umgebung einen neuen Instance-Typ hinzu, die bereits über einen t2.medium-Instance-Typ verfügt, der auf der x86-Architektur basiert. Sie können nur einen anderen Instance-Typ derselben Architektur hinzufügen, z. B. t2.small oder t4g.large.

Elastic Beanstalk fügt regelmäßige neue kompatible Instance-Typen hinzu, nachdem Amazon EC2 sie eingeführt hat. Weitere Informationen zu verfügbaren Instance-Typen finden Sie unter Instance-Typen im Amazon EC2-Benutzerhandbuch für Linux-Instances oder Instance-Typen im Amazon EC2-Benutzerhandbuch für Windows-Instances.

Anmerkung

Elastic Beanstalk bietet jetzt Unterstützung für Graviton auf den neuesten Amazon Linux 2-Plattformen für alle von AWS Graviton unterstützten Regionen an. Weitere Informationen zum Erstellen einer Elastic Beanstalk-Umgebung mit arm64-basierten Instance-Typen finden Sie unter Konfigurieren der Amazon EC2-Instances Ihrer Umgebung.

Erstellen Sie neue Umgebungen, in denen Amazon EC2-Instances auf der arm64-Architektur ausgeführt werden, und migrieren Sie Ihre vorhandenen Anwendungen mit den deployment options (Optionen für die Bereitstellung) in Elastic Beanstalk.

Weitere Informationen über Graviton arm64-basierte Prozessoren finden Sie in diesenAWS-Ressourcen:

Konfigurieren der Amazon EC2-Instances Ihrer Umgebung

Sie können die Konfiguration der Amazon EC2-Instance Ihrer Elastic Beanstalk-Umgebung in der Elastic Beanstalk-Konsole ändern.

Nachdem Ihre Umgebung erstellt wurde, können Sie die Prozessarchitektur Ihrer Umgebung nicht mehr bearbeiten. Sie können die Prozessorarchitektur (x86, arm64) für die Instance-Typen nur während der Umgebungserstellung auswählen.

So konfigurieren Sie Amazon EC2-Instances in der Elastic Beanstalk-Konsole

  1. Öffnen Sie die Elastic-Beanstalk-Konsole und wählen Sie in der Liste Regions (Regionen) Ihre AWS-Region aus.

  2. Wählen Sie im Navigationsbereich Environments (Umgebungen) aus.

  3. Wählen Sie Create a new environment (Neue Umgebung erstellen), um mit der Erstellung Ihrer Umgebung zu beginnen.

  4. Wählen Sie auf der Hauptseite des Assistenten zuerst Configure more options (Weitere Optionen konfigurieren) und dann Create environment (Umgebung erstellen) aus.

  5. Wählen Sie in der Konfigurationskategorie Instances die Option Edit (Bearbeiten) aus. Nehmen Sie Änderungen an den Einstellungen in dieser Kategorie vor und wählen Sie dann Apply (Übernehmen). Informationen zum Einstellen von Beschreibungen finden Sie im Abschnitt Instance-Kategorieeinstellungen auf dieser Seite.

  6. Wählen Sie in der Konfigurationskategorie Capacity (Kapazität) die Option Edit (Bearbeiten). Nehmen Sie Änderungen an den Einstellungen in dieser Kategorie vor und wählen Sie dann Continue (Weiter). Informationen zur Einstellung von Beschreibungen finden Sie im Abschnitt Einstellungen der Kapazitätskategorien auf dieser Seite.

    Auswahl der Prozessorarchitektur

    Scrollen Sie nach unten zu Processor (Prozessor), um eine Prozessorarchitektur für Ihre EC2-Instances auszuwählen. Die Konsole listet Prozessorarchitekturen auf, die von der Plattform unterstützt werden, die Sie zuvor im Bereich Create Environment (Umgebung erstellen) ausgewählt haben.

    Wenn die benötigte Prozessorarchitektur nicht angezeigt wird, kehren Sie zur Liste der Konfigurationskategorien zurück, um eine Plattform auszuwählen, die sie unterstützt. Wählen Sie in Modify Capacity (Kapazität ändern) die Option Abbrechen aus. Wählen Sie dann Change platform version (Ändern der Plattformversion), um neue Plattformeinstellungen auszuwählen. Anschließend wählen Sie in der Konfigurationskategorie Capacity (Kapazität) auswählen Edit (Bearbeiten) aus, um sich die Entscheidungen der Prozessorarchitektur noch einmal anzusehen.

    
              Einstellungen der Amazon EC2 Instance im Kapazitätskonfigurationsfenster von Elastic Beanstalk
  7. Wählen Sie Save (Speichern) aus und nehmen Sie dann alle weiteren Konfigurationsänderungen für Ihre Umgebung vor.

  8. Wählen Sie Create environment (Umgebung erstellen) aus.

So konfigurieren Sie laufende Amazon EC2-Instances der Umgebung in der Elastic Beanstalk-Konsole

  1. Öffnen Sie die Elastic-Beanstalk-Konsole und wählen Sie in der Liste Regions (Regionen) Ihre AWS-Region aus.

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

    Anmerkung

    Wenn Sie viele Umgebungen haben, verwenden Sie die Suchleiste, um die Umgebungsliste zu filtern.

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

  4. Wählen Sie in der Konfigurationskategorie Instances die Option Edit (Bearbeiten). Nehmen Sie Änderungen an den Einstellungen in dieser Kategorie vor und wählen Sie dann Apply (Übernehmen). Informationen zum Einstellen von Beschreibungen finden Sie im Abschnitt Instance-Kategorieeinstellungen auf dieser Seite.

  5. Wählen Sie in der Konfigurationskategorie Capacity (Kapazität) die Option Edit (Bearbeiten). Nehmen Sie Änderungen an den Einstellungen in dieser Kategorie vor und wählen Sie dann Continue (Weiter). Informationen zum Einstellen von Beschreibungen finden Sie im Abschnitt Einstellungen der Kapazitätskategorien auf dieser Seite.

Instance-Kategorieeinstellungen

Die folgenden Einstellungen in Bezug auf Amazon EC2-Instances sind in der Konfigurationskategorie Instances verfügbar.


          Amazon EC2-Instance-Einstellungen im Konfigurationsfenster der Elastic Beanstalk-Instances

Überwachungsintervall

Standardmäßig senden die Instances der Umgebung grundlegende Zustandsmetriken in 5-Minuten-Intervallen an Amazon CloudWatch. Dabei entstehen für Sie keine zusätzlichen Kosten.

Wenn Sie detaillierte Berichte wünschen, legen Sie den Wert von Monitoring interval (Überwachungsintervall) auf 1 Minute fest und erhöhen Sie so die Häufigkeit, mit der die Ressourcen der Umgebung die grundlegenden Zustandsmetriken in CloudWatch veröffentlichen. Für Metriken in 1-Minuten-Intervallen fallen Amazon CloudWatch-Servicegebühren an. Weitere Informationen hierzu finden Sie unter Amazon CloudWatch.

Stamm-Volume (Startgerät)

Jede Instance der Umgebung ist mit einem Stamm-Volume konfiguriert. Das Stamm-Volume ist das Amazon EBS-Blockgerät, das der Instance zugeordnet ist und auf dem das Betriebssystem, Bibliotheken, Skripts und der Anwendungsquellcode gespeichert sind. Standardmäßig verwenden alle Plattformen allgemeine SSD-Blockgeräte für die Speicherung.

Sie können den Root volume type (Stamm-Volume-Typ) so ändern, dass Magnetspeicher oder bereitgestellte IOPS-SSD-Volumetypen verwendet werden und bei Bedarf die Volume-Größe erhöhen. Bei bereitgestellten IOPS-Volumes müssen Sie auch die Anzahl der bereitzustellenden IOPS angeben. Durchsatz ist nur für gp3 SSD-Volume-Typen anwendbar. Sie können den gewünschten Durchsatz für die Bereitstellung eingeben. Es kann zwischen 125 und 1000 Mebibyte pro Sekunde (MIB/s) liegen. Wählen Sie den Volume-Typ aus, der Ihren Leistungsanforderungen und Kostenvorstellungen entspricht.

Weitere Informationen finden Sie unter Amazon EBS-Volume-Typen im Amazon EC2-Benutzerhandbuch für Linux-Instances und in den Amazon EBS-Produktdetails.

Instance-Metadatenservice

Der Instance-Metadatenservice (IMDS) ist eine On-Instance-Komponente, die von Code auf der Instance verwendet wird, um sicher auf Instance-Metadaten zuzugreifen. Sie können mit einer der folgenden Methoden auf Instance-Metadaten aus einer laufenden Instance zugreifen. Das sind Version 1 oder Version 2 des Instance Metadata Service (IMDSv1 oder IMDSv2). IMDSv2 ist sicherer. Deaktivieren Sie IMDSv1, um IMDSv2 zu erzwingen. Weitere Informationen finden Sie unter Konfigurieren des Instance Metadata Service für die Instances Ihrer Umgebung.

Anmerkung

Der IMDS-Abschnitt auf dieser Konfigurationsseite wird nur für Plattformversionen angezeigt, die IMDSv2 unterstützen.

Sicherheitsgruppen

Die Sicherheitsgruppen, die Ihren Instances zugewiesen sind, legen fest, welcher Datenverkehr die Instances erreichen darf. Sie bestimmen auch, welcher Datenverkehr die Instances verlassen darf. Elastic Beanstalk erstellt eine Sicherheitsgruppe, die den Datenverkehr vom Load Balancer über die Standardports für HTTP (80) und HTTPS (443) zulässt.

Sie können weitere Sicherheitsgruppen erstellen und spezifizieren, um den Datenverkehr über andere Ports oder von anderen Quellen zu erlauben. Beispielsweise können Sie eine Sicherheitsgruppe für den SSH-Zugriff erstellen, mit der eingehender Datenverkehr über Port 22 aus einem eingeschränkten IP-Adressbereich oder – für mehr Sicherheit – von einem Bastion-Host, auf den nur Sie zugreifen können, erlaubt ist. Erstellen Sie andernfalls für zusätzliche Sicherheit eine Sicherheitsgruppe, die Datenverkehr von einem Bastion-Host erlaubt, auf den nur Sie Zugriff haben.

Anmerkung

Um den Datenverkehr zwischen Instances der Umgebung A und Instances der Umgebung B zu erlauben, können Sie eine Regel zur Sicherheitsgruppe hinzufügen, die Elastic Beanstalk an Umgebung B angefügt hat. Dann können Sie die Sicherheitsgruppe bestimmen, die Elastic Beanstalk an Umgebung A angefügt hat. Das erlaubt den eingehenden und ausgehenden Datenverkehr für Instances der Umgebung A. Beachten Sie jedoch, dass dadurch eine Abhängigkeit zwischen den beiden Sicherheitsgruppen entsteht. Wenn Sie später versuchen, Umgebung A zu beenden, wird Elastic Beanstalk die Sicherheitsgruppe der Umgebung nicht löschen können, da die Sicherheitsgruppe der Umgebung B von ihr abhängt.

Daher wird empfohlen, stattdessen eine separate Sicherheitsgruppe zu erstellen. Fügen Sie sie dann der Umgebung A hinzu und geben Sie sie in einer Regel der Sicherheitsgruppe der Umgebung B an.

Weitere Informationen zu Amazon EC2-Sicherheitsgruppen finden Sie in Amazon EC2-Sicherheitsgruppen im Amazon EC2-Benutzerhandbuch für Linux-Instances.

Einstellungen der Kapazitätskategorien

Die folgenden Einstellungen in Bezug auf Amazon EC2-Instances sind in der Konfigurationskategorie Capacity (Kapazität) verfügbar.


          Einstellungen für Amazon EC2-Instance im Kapazitätskonfigurationsfenster von Elastic Beanstalk

Instance-Typen

Mit der Einstellung Instance type (Instance-Typ) wird der Typ der Amazon EC2-Instance ermittelt, die für die Anwendungsausführung gestartet wurde. Diese Konfigurationsseite zeigt eine Liste der Instance-Typen. Sie können einen oder mehrere Instance-Typen für Ihre Spot-Flotte auswählen. Die Elastic Beanstalk-Konsole zeigt nur die Instance-Typen an, die auf der Prozessorarchitektur basieren, die für Ihre Umgebung konfiguriert ist. Daher können Sie nur Instance-Typen derselben Prozessorarchitektur hinzufügen.

Wählen Sie eine Instance aus, die einerseits leistungsfähig genug ist, um die Anwendung auch bei voller Auslastung auszuführen und die andererseits keine ungenutzte Überkapazität darstellt. Für Entwicklungszwecke bietet die t2-Instance-Familie generell eine moderate Leistung sowie die Möglichkeit einer Leistungssteigerung für kurze Zeiträume. Verwenden Sie für große Hochverfügbarkeitsanwendungen einen Instance-Pool, um sicherzustellen, dass die Kapazität nicht zu stark beeinträchtigt wird, wenn eine einzelne Instance ausfällt. Beginnen Sie mit einem Instance-Typ, mit dem Sie fünf Instances bei moderater Auslastung während des normalen Betriebs ausführen können. Falls eine Instance ausfällt, können die verbleibenden Instances den restlichen Datenverkehr verarbeiten. Der Kapazitätspuffer bietet zudem genügend Zeit, damit die Umgebung zur Bewältigung des steigenden Datenverkehr zu Spitzenzeiten entsprechend hochskalieren kann.

Anmerkung

Sie können die Prozessorarchitektur für eine vorhandene Umgebung nicht ändern. Sie können Ihre Anwendungen jedoch in eine andere Umgebung migrieren, in der die gewünschte Prozessorarchitektur ausgeführt wird, z. B. arm64. Erstellen Sie eine neue Umgebung mit der gewünschten Prozessorarchitektur. Migrieren Sie dann Ihre Anwendungen mit einer der deplayment options (Optionen für die Bereitstellung) in Elastic Beanstalk in die neue Umgebung.

Weitere Informationen zu Amazon EC2-Instance-Familien und -Typen finden Sie unter Instance-Typen im Amazon EC2-Benutzerhandbuch für Linux-Instances oder Instance-Typen im Amazon EC2-Benutzerhandbuch für Windows-Instances. Um zu ermitteln, welche Instance-Typen Ihre Anforderungen und für die unterstützten Regionen geeignet sind, lesen Sie Verfügbare Instance-Typen im Amazon EC2-Benutzerhandbuch für Linux-Instances oder Verfügbare Instance-Typen im Amazon EC2-Benutzerhandbuch für Windows-Instances.

AMI-ID

Das Amazon Machine Image (AMI) ist das Image der Amazon Linux- oder Windows Server-Maschine, das von Elastic Beanstalk zum Starten von Amazon EC2-Instances in der Umgebung verwendet wird. Elastic Beanstalk stellt Maschinen-Images mit den für die Anwendungsausführung benötigten Tools und Ressourcen bereit.

Elastic Beanstalk wählt basierend auf der Region, der Plattform und dem Instance-Typ eine Standard-AMI für Ihre Umgebung aus. Wenn Sie ein benutzerdefiniertes AMI erstellt haben, ersetzen Sie die Standard-AMI-ID durch Ihre eigene AMI.

Konfigurieren von AWS EC2-Instances für Ihre Umgebung mit AWS CLI

Verwenden der AWS-Befehlszeilenschnittstelle (AWS CLI) um Elastic Beanstalk-Umgebungen mit Befehlen in Ihrer Befehlszeilen-Shell zu erstellen und zu konfigurieren. Dieser Abschnitt enthält Beispiele für die Befehle create-environment und update-environment.

Die ersten beiden Beispiele erstellen eine neue Umgebung. Der Befehl gibt einen Amazon EC2-Instance-Typ, t4g.small, der auf der arm64-Prozessorarchitektur basiert, an. Elastic Beanstalk verwendet die Image ID (AMI) für die EC2-Instances basierend auf Region, Plattformversion und Instance-Typ standardmäßig. Der Instance-Typ entspricht einer Prozessorarchitektur. Der solution-stack-name-Parameter gilt für die Plattformversion.

Beispiel 1 — Erstellen Sie eine neue arm64-basierte Umgebung (eingebundene Namespace-Optionen)

aws elasticbeanstalk create-environment \ --region us-east-1 \ --application-name my-app \ --environment-name my-env \ --solution-stack-name "64bit Amazon Linux 2 v3.4.7 running Docker" \ --option-settings \ Namespace=aws:autoscaling:launchconfiguration,OptionName=IamInstanceProfile,Value=aws-elasticbeanstalk-ec2-role \ Namespace=aws:ec2:instances,OptionName=InstanceTypes,Value=t4g.small

Verwenden Sie alternativ eineoptions.json-Datei, um die Namespace-Optionen anzugeben, anstatt sie einzubinden.

Beispiel 2 — Erstellen Sie eine neue arm64-basierte Umgebung (Namespace-Optionen in options.json-Datei)

aws elasticbeanstalk create-environment \ --region us-east-1 \ --application-name my-app \ --environment-name my-env \ --solution-stack-name "64bit Amazon Linux 2 v3.4.7 running Docker" \ --option-settings file://options.json
### example options.json ### [ { "Namespace": "aws:autoscaling:launchconfiguration", "OptionName": "IamInstanceProfile", "Value": "aws-elasticbeanstalk-ec2-role" }, { "Namespace": "aws:ec2:instances", "OptionName": "InstanceTypes", "Value": "t4g.small" } ]

Die nächsten beiden Beispiele aktualisieren die Konfiguration für eine vorhandene Umgebung mit dem Befehl update-environment. In diesem Beispiel fügen wir einen weiteren Instance-Typ hinzu, der auch auf der arm64-Prozessorarchitektur basiert. Für vorhandene Umgebungen müssen alle hinzugefügten Instance-Typen dieselbe Prozessorarchitektur haben. Sie wählen die Prozessorarchitektur für eine neue Umgebung aus, wenn Sie sie erstellen. Die Prozessorarchitektur kann nicht mehr geändert werden, nachdem Sie die Umgebung erstellt haben.

Beispiel 3 — aktualisiert eine vorhandene arm64-basierte Umgebung (eingebundene Namespace-Optionen)

aws elasticbeanstalk update-environment \ --region us-east-1 \ --application-name my-app \ --environment-name my-env \ --solution-stack-name "64bit Amazon Linux 2 v3.4.7 running Docker" \ --option-settings \ Namespace=aws:autoscaling:launchconfiguration,OptionName=IamInstanceProfile,Value=aws-elasticbeanstalk-ec2-role \ Namespace=aws:ec2:instances,OptionName=InstanceTypes,Value=t4g.small,t4g.micro

Verwenden Sie alternativ eineoptions.json-Datei, um die Namespace-Optionen anzugeben, anstatt sie einzubinden.

Beispiel 4 — aktualisiert eine vorhandene arm64-basierte Umgebung (Namespace-Optionen in options.json-Datei)

aws elasticbeanstalk update-environment \ --region us-east-1 \ --application-name my-app \ --environment-name my-env \ --solution-stack-name "64bit Amazon Linux 2 v3.4.7 running Docker" \ --option-settings file://options.json
### example options.json ### [ { "Namespace": "aws:autoscaling:launchconfiguration", "OptionName": "IamInstanceProfile", "Value": "aws-elasticbeanstalk-ec2-role" }, { "Namespace": "aws:ec2:instances", "OptionName": "InstanceTypes", "Value": "t4g.small, t4g.micro" } ]

Die nächsten beiden Beispiele zeigen weitere Befehle create-environment. Diese Beispiele enthalten keine Werte für InstanceTypes. WannInstanceTypes-Werte werden nicht angegeben, Elastic Beanstalk verwendet standardmäßige die x86-basierte Prozessorarchitektur. Die Image-ID (AMI) für die EC2-Instances der Umgebung wird gemäß der Region, der Plattformversion und dem Standard-Instance-Typ standardmäßig ausgeführt. Der Instance-Typ entspricht einer Prozessorarchitektur.

Beispiel 5 — Erstellen Sie eine neue x86-basierte Umgebung (eingebundene Namespace-Optionen)

aws elasticbeanstalk create-environment \ --region us-east-1 \ --application-name my-app \ --environment-name my-env \ --solution-stack-name "64bit Amazon Linux 2 v3.4.7 running Docker" \ --option-settings \ Namespace=aws:autoscaling:launchconfiguration,OptionName=IamInstanceProfile,Value=aws-elasticbeanstalk-ec2-role

Verwenden Sie alternativ eineoptions.json-Datei, um die Namespace-Optionen anzugeben, anstatt sie einzubinden.

Beispiel 6 — Erstellen Sie eine neue x86-basierte Umgebung (Namespace-Optionen in options.json-Datei)

aws elasticbeanstalk create-environment \ --region us-east-1 \ --application-name my-app \ --environment-name my-env \ --solution-stack-name "64bit Amazon Linux 2 v3.4.7 running Docker" \ --option-settings file://options.json
### example options.json ### [ { "Namespace": "aws:autoscaling:launchconfiguration", "OptionName": "IamInstanceProfile", "Value": "aws-elasticbeanstalk-ec2-role" } ]

Empfehlungen für First Wave-Umgebungen mit Graviton arm64

Anmerkung

Dieser Abschnitt gilt nur für eine bestimmte Kundengruppe. Wenn Sie vor dem 24. November 2021 eine neue Umgebung mit Graviton arm64-basierten Instance-Typen erstellt haben, gelten die Informationen in diesem Abschnitt möglicherweise für Sie.

Ab Oktober und November 2021 begann Elastic Beanstalk, in einigen Regionen und für einige Plattformversionen in Wellen die Unterstützung für Graviton arm64-Prozessoren einzuführen. Diese erste Welle wurde in den AWS Elastic BeanstalkVersionshinweisen vom 13. Oktober, 21. Oktober und 19. November von 2021 angekündigt. Wenn Sie arm64-basierte Umgebungen erstellt haben, werden Sie in der Anleitung dazu aufgefordert, die Instances mit den in den Versionshinweisen genannten benutzerdefinierten AMIs zu konfigurieren. Jetzt, da die erweiterte Unterstützung für Graviton arm64 verfügbar ist, stellt Elastic Beanstalk die AMIs für die arm64-Instance-Typen in den neuesten Plattformversionen standardmäßig bereit.

Wenn Sie Umgebungen mit den in den ersten Versionshinweisen genannten benutzerdefinierten AMIs erstellt haben, empfehlen wir Ihnen, Folgendes zu tun, um eine gesunde Arbeitsumgebung aufrechtzuerhalten.

  1. Entfernen Sie die benutzerdefinierten AMIs aus Ihrer Umgebung.

  2. Aktualisieren Sie die Umgebung auf die neueste Plattformversion.

  3. Mit verwalteten Plattformaktualisierungen können Sie die Umgebung so konfigurieren, dass während eines geplanten Wartungsfensters automatisch eine Aktualisierung auf die neueste Version einer Plattform durchgeführt wird.

Anmerkung

Elastic Beanstalk ersetzt die benutzerdefinierten AMIs nicht automatisch. Sie müssen die benutzerdefinierten AMIs in Schritt 1 löschen, damit die nächste Plattformaktualisierung sie in Schritt 2 aktualisiert.

Das folgende Verfahren führt Sie durch diese Schritte. Die AWS CLI Beispiele gelten für eine Umgebung, die mit den folgenden Informationen erstellt wurde.

aws elasticbeanstalk create-environment \ --region us-east-1 \ --application-name my-app \ --environment-name my-env \ --solution-stack-name "64bit Amazon Linux 2 v3.4.7 running Docker" \ --option-settings \ Namespace=aws:autoscaling:launchconfiguration,OptionName=IamInstanceProfile,Value=aws-elasticbeanstalk-ec2-role \ Namespace=aws:ec2:instances,OptionName=InstanceTypes,Value=t4g.small \ Namespace=aws:autoscaling:launchconfiguration,OptionName=ImageId,Value=ami-0fbdb88ce139244bf

So aktualisieren Sie arm64-Umgebungen, die während der ersten Welle der Graviton arm64-Unterstützung erstellt wurden

  1. Führen Sie update-environment aus, um die benutzerdefinierten AMI-Einstellungen zu entfernen.

    aws elasticbeanstalk update-environment \ --region us-east-1 \ --environment-name my-env \ --options-to-remove \ Namespace=aws:autoscaling:launchconfiguration,OptionName=ImageId
  2. Aktualisieren Sie die Umgebung auf die neueste Plattformversion. Wählen Sie eine der folgenden Optionen aus.

    • Konsolenoption — Verwenden Sie die Elastic Beanstalk-Konsole, um die Plattformversion zu aktualisieren. Weitere Informationen finden Sie unter environment's platform version (Aktualisieren der Plattformversion Ihrer Umgebung).

    • AWS CLIOption— Führen Sie den Befehl AWS update-environment aus und Sie die zuletzt verfügbare Plattformversion an.

      aws elasticbeanstalk update-environment \ --region us-east-1 \ --environment-name my-env \ --solution-stack-name "64bit Amazon Linux 2 v3.4.9 running Docker"
      Anmerkung

      Der Befehl list-available-solution-stacks enthält eine Liste der Plattformversionen, die für Ihr Konto in einer AWS-Region verfügbar sind.

      aws elasticbeanstalk list-available-solution-stacks --region us-east-1 --query SolutionStacks
  3. Richten Sie mit der Elastic Beanstalk-Konsole, die verwaltete Plattformaktualisierungen für Ihre Umgebung ein. Mit verwalteten Plattformaktualisierungen können Sie die Umgebung so konfigurieren, dass während eines geplanten Wartungsfensters automatisch eine Aktualisierung auf die neueste Version einer Plattform durchgeführt wird. Die Anwendung bleibt während der Aktualisierung aktiv. Weitere Informationen finden Sie unter managed platform updates (Aktualisierungen für verwaltete Plattformen).

Der aws:autoscaling:launchconfiguration-Namespace

Sie können die Konfigurationsoptionen im aws:autoscaling:launchconfiguration-Namespace zur Konfiguration Ihrer Umgebungs-Instances verwenden, einschließlich zusätzlicher Optionen, die in der Konsole nicht verfügbar sind.

Im folgenden Beispiel einer Konfigurationsdatei werden die grundlegenden Konfigurationsoptionen verwendet, die in diesem Thema gezeigt werden. Zum Beispiel die Option DisableIMDSv1, die in IMDS besprochen wird. Es verwendet auch die Optionen EC2KeyName und IamInstanceProfile, die in Sicherheit besprochen werden und die Option BlockDeviceMappings, die in der Konsole nicht verfügbar ist.

option_settings: aws:autoscaling:launchconfiguration: SecurityGroups: my-securitygroup MonitoringInterval: "1 minute" DisableIMDSv1: false EC2KeyName: my-keypair IamInstanceProfile: "aws-elasticbeanstalk-ec2-role" BlockDeviceMappings: "/dev/sdj=:100,/dev/sdh=snap-51eef269,/dev/sdb=ephemeral0"

Mit BlockDeviceMappings können Sie zusätzliche Blockgeräte für Ihre Instances konfigurieren. Weitere Informationen finden Sie unter Block Device Mapping (Blockgerät-Mapping) im Amazon EC2-Benutzerhandbuch für Linux-Instances.

Die EB CLI und Elastic-Beanstalk-Konsole wenden die für die vorhergehenden Optionen empfohlenen Werte an. Diese Einstellungen müssen entfernt werden, wenn Sie Konfigurationsdateien zum Konfigurieren dieser Einstellungen verwenden möchten. Details dazu finden Sie unter Empfohlene Werte.