Festlegen von Konfigurationsoptionen während der Umgebungserstellung - AWS Elastic Beanstalk

Festlegen von Konfigurationsoptionen während der Umgebungserstellung

Wenn Sie eine AWS Elastic Beanstalk Umgebung mithilfe der Elastic-Beanstalk-Konsole, EB-CLI, AWS CLI, eines SDK oder der Elastic-Beanstalk-API erstellen, können Sie Werte für Konfigurationsoptionen bereitstellen, um Ihre Umgebung und die darin gestarteten AWS Ressourcen anzupassen.

Konfigurationsänderungen, die nicht einmalig sind, können Sie in Konfigurationsdateien speichern, und zwar lokal, im Quell-Bundle oder in Amazon-S3.

In diesem Thema werden die Verfahren aller Methoden zum Festlegen von Konfigurationsoptionen während der Umgebungserstellung dargelegt.

In der Elastic-Beanstalk-Konsole

Wenn Sie eine Elastic-Beanstalk-Umgebung in der Elastic-Beanstalk-Konsole erstellen, können Sie Konfigurationsoptionen mit Konfigurationsdateien, gespeicherten Konfigurationen und Formularen im Assistenten Create New Environment (Neue Umgebung erstellen) bereitstellen.

Verwenden von Konfigurationsdateien (.ebextensions)

Binden Sie .config-Dateien in den Ordner .ebextensions im Quell-Bundle der Anwendung ein.

Weitere Informationen zu Konfigurationsdateien finden Sie unter .Ebextensions.

~/workspace/my-app-v1.zip |-- .ebextensions | |-- environmentvariables.config | `-- healthcheckurl.config |-- index.php `-- styles.css

Laden Sie das Quell-Bundle wie üblich während der Umgebungserstellung in Elastic Beanstalk hoch.

Die Elastic-Beanstalk-Konsole weist einigen Konfigurationsoptionen empfohlene Werte zu und stellt für andere Optionen Formularfelder bereit. Über die Elastic-Beanstalk-Konsole konfigurierte Optionen werden direkt in der Umgebung bereitgestellt und überschreiben die Einstellungen in den Konfigurationsdateien.

Verwenden einer gespeicherten Konfiguration

Beim Erstellen einer neuen Umgebung mit der Elastic-Beanstalk-Konsole besteht einer der ersten Schritte darin, eine Konfiguration auszuwählen. Bei der Konfiguration kann es sich um eine predefined configuration (vordefinierte Konfiguration) (in der Regel die neueste Version einer Plattform wie PHP oder Tomcat) oder um eine saved configuration (gespeicherte Konfiguration) handeln.

So wenden Sie eine gespeicherte Konfiguration während der Umgebungserstellung an (Elastic-Beanstalk-Konsole)

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

  2. Wählen Sie im Navigationsbereich Anwendungen und wählen Sie dann den Namen Ihrer Anwendung in der Liste aus.

    Anmerkung

    Wenn Sie viele Anwendungen haben, verwenden Sie die Suchleiste, um die Anwendungsliste zu filtern.

  3. Suchen Sie im Navigationsbereich den Namen Ihrer Anwendung und wählen Sie Saved configurations (Gespeicherte Konfigurationen) aus.

  4. Wählen Sie die gespeicherte Konfiguration aus, die Sie anwenden möchten, und wählen Sie dann Launch environment (Umgebung starten).

  5. Führen Sie die Schritte im Assistenten aus, um die Umgebung zu erstellen.

Gespeicherte Konfigurationen sind anwendungsspezifisch. Weitere Informationen zum Erstellen von gespeicherten Konfigurationen finden Sie unter Gespeicherte Konfigurationen.

Verwenden des Assistenten für die neue Umgebung

Die meisten standardmäßigen Konfigurationsoptionen finden Sie auf der Seite Configure more options (Weitere Optionen konfigurieren) des Create New Environment-Assistenten. Wenn Sie eine Amazon-RDS-Datenbank erstellen oder eine VPC für die Umgebung konfigurieren, stehen für diese Ressourcen zusätzliche Konfigurationsoptionen zur Verfügung.

So legen Sie Konfigurationsoptionen während der Umgebungserstellung fest (Elastic-Beanstalk-Konsole)

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

  2. Wählen Sie im Navigationsbereich Applications (Anwendungen).

  3. Wählen Sie eine Anwendung aus oder erstellen Sie eine.

  4. Wählen Sie Actions (Aktionen) und dann Create Environment (Umgebung erstellen).

  5. Fahren Sie mithilfe des Assistenten fort und wählen Sie Configure more options (Weitere Optionen konfigurieren) aus.

  6. Wählen Sie in einer oder mehreren Konfigurationskategorien die configuration presets (Konfigurationsvoreinstellungen) und dann Edit (Bearbeiten), um eine Gruppe verwandter Konfigurationsoptionen zu ändern.

  7. Wählen Sie nach der Optionsauswahl Create environment (Umgebung erstellen) aus.

Alle Optionen, die Sie im Assistenten für die neue Umgebung festgelegt haben, werden direkt in die Umgebung übernommen und überschreiben alle Optionseinstellungen aus den von Ihnen angewendeten gespeicherten Konfigurationen oder Konfigurationsdateien (.ebextensions). Sie können Einstellungen entfernen, nachdem die Umgebung mithilfe der EB-CLI erstellt wurde, oder AWS CLI um die Einstellungen in gespeicherten Konfigurationen oder Konfigurationsdateien anzuzeigen.

Weitere Informationen über den neuen Umgebungsassistenten finden Sie unter Der Assistent zum Erstellen einer neuen Umgebung.

Verwenden der EB-CLI

Verwenden von Konfigurationsdateien (.ebextensions)

Binden Sie .config-Dateien unter .ebextensions in den Projektordner ein, um sie mit dem Anwendungscode bereitzustellen.

Weitere Informationen zu Konfigurationsdateien finden Sie unter .Ebextensions.

~/workspace/my-app/ |-- .ebextensions | |-- environmentvariables.config | `-- healthcheckurl.config |-- .elasticbeanstalk | `-- config.yml |-- index.php `-- styles.css

Erstellen Sie die Umgebung und stellen Sie den entsprechenden Quellcode mit berei eb create.

~/workspace/my-app$ eb create my-env

Verwenden von gespeicherten Konfigurationen

Um eine gespeicherte Konfiguration bei der Umgebungserstellung mit eb create anzuwenden, verwenden Sie die Option --cfg.

~/workspace/my-app$ eb create --cfg savedconfig

Sie können die gespeicherte Konfiguration in Ihrem Projektordner oder in Ihrem Elastic-Beanstalk-Speicherort auf Amazon-S3 speichern. In vorherigem Beispiel sucht die EB-CLI zunächst nach einer gespeicherten Konfigurationsdatei mit dem Namen savedconfig.cfg.yml im Ordner .elasticbeanstalk/saved_configs/. Geben Sie keine Dateinamenerweiterungen (.cfg.yml) an, wenn Sie eine gespeicherte Konfiguration mit --cfg übernehmen.

~/workspace/my-app/ |-- .ebextensions | `-- healthcheckurl.config |-- .elasticbeanstalk | |-- saved_configs | | `-- savedconfig.cfg.yml | `-- config.yml |-- index.php `-- styles.css

Wenn die EB-CLI die Konfiguration nicht lokal findet, sucht sie im Elastic Beanstalk-Speicherort in Amazon-S3. Weitere Informationen zum Erstellen, Bearbeiten und Hochladen gespeicherter Konfigurationen finden Sie unter Gespeicherte Konfigurationen.

Verwenden von Befehlszeilenoptionen

Der eb create-Befehl der EB-CLI bietet mehrere Optionen, mit denen sich während der Umgebungserstellung Konfigurationsoptionen festlegen lassen. Mithilfe dieser Optionen können Sie eine RDS-Datenbank zur Umgebung hinzufügen, eine VPC konfigurieren oder empfohlene Werte überschreiben.

Beispielsweise verwendet die EB-CLI standardmäßig den Instance-Typ t2.micro. Mit der Option --instance_type können Sie einen anderen Instance-Typ auswählen.

$ eb create my-env --instance_type t2.medium

Verwenden Sie die --database-Optionen, um eine Amazon-RDS-DB-Instance zu erstellen und mit der Umgebung zu verknüpfen.

$ eb create --database.engine postgres --database.username dbuser

Falls Sie den Umgebungsnamen, das Datenbankpasswort oder andere Parameter nicht angeben, die zur Umgebungserstellung benötigt werden, werden Sie von der EB-CLI zur Eingabe aufgefordert.

Eine vollständige Liste der verfügbaren Optionen sowie Anwendungsbeispiele finden Sie unter eb create.

Verwendung der AWS CLI

Wenn Sie den Befehl create-environment verwenden, um eine Elastic-Beanstalk-Umgebung mit der AWS CLI zu erstellen, werden von der AWS CLI keine empfohlenen Werte übernommen. Alle Konfigurationsoptionen werden in den Konfigurationsdateien im von Ihnen vorgegebenen Quell-Bundle definiert.

Verwenden von Konfigurationsdateien (.ebextensions)

Um Konfigurationsdateien für eine mit der AWS CLI erstellten Umgebung zu nutzen, binden Sie die Dateien in das Quell-Bundle der Anwendung ein, das Sie in Amazon S3 hochladen.

Weitere Informationen zu Konfigurationsdateien finden Sie unter .Ebextensions.

~/workspace/my-app-v1.zip |-- .ebextensions | |-- environmentvariables.config | `-- healthcheckurl.config |-- index.php `-- styles.css

So laden Sie das Quell-Bundle der Anwendung hoch und erstellen eine Umgebung mit der AWS CLI

  1. Wenn Sie noch keinen Elastic-Beanstalk-Bucket in Amazon S3 haben, erstellen Sie einen mit create-storage-location.

    $ aws elasticbeanstalk create-storage-location { "S3Bucket": "elasticbeanstalk-us-west-2-123456789012" }
  2. Laden Sie das Quell-Bundle der Anwendung in Amazon S3 hoch.

    $ aws s3 cp sourcebundle.zip s3://elasticbeanstalk-us-west-2-123456789012/my-app/sourcebundle.zip
  3. Erstellen Sie die Anwendungsversion.

    $ aws elasticbeanstalk create-application-version --application-name my-app --version-label v1 --description MyAppv1 --source-bundle S3Bucket="elasticbeanstalk-us-west-2-123456789012",S3Key="my-app/sourcebundle.zip" --auto-create-application
  4. Erstellen Sie die Umgebung.

    $ aws elasticbeanstalk create-environment --application-name my-app --environment-name my-env --version-label v1 --solution-stack-name "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8"

Verwenden einer gespeicherten Konfiguration

Um eine gespeicherte Konfiguration während der Erstellung für eine Umgebung zu verwenden, nutzen Sie den Parameter --template-name.

$ aws elasticbeanstalk create-environment --application-name my-app --environment-name my-env --template-name savedconfig --version-label v1

Wenn Sie eine gespeicherte Konfiguration angeben, müssen Sie keinen Lösungs-Stack-Namen spezifizieren. In den gespeicherten Konfigurationen ist bereits ein Lösungs-Stack definiert, sodass Elastic Beanstalk eine Fehlermeldung ausgibt, wenn Sie beide Optionen angeben.

Verwenden von Befehlszeilenoptionen

Mit dem Parameter --option-settings können Sie Konfigurationsoptionen im JSON-Format angeben.

$ aws elasticbeanstalk create-environment --application-name my-app --environment-name my-env --version-label v1 --template-name savedconfig --option-settings '[ { "Namespace": "aws:elasticbeanstalk:application", "OptionName": "Application Healthcheck URL", "Value": "/health" } ]

Laden Sie JSON mit dem Präfix file:// aus einer Datei.

$ aws elasticbeanstalk create-environment --application-name my-app --environment-name my-env --version-label v1 --template-name savedconfig --option-settings file://healthcheckurl.json

Elastic Beanstalk übernimmt Optionseinstellungen, die Sie mit der Option --option-settings spezifiziert haben, direkt in die Umgebung. Falls dieselben Optionen in einer gespeicherten Konfiguration oder Konfigurationsdatei angegeben sind, werden die Werte von --option-settings überschrieben.