Festlegen von Konfigurationsoptionen nach der Umgebungserstellung - AWS Elastic Beanstalk

Festlegen von Konfigurationsoptionen nach der Umgebungserstellung

Sie können die Optionseinstellungen in einer laufenden Umgebung ändern, indem Sie gespeicherte Konfigurationen anwenden, ein neues Quell-Bundle mit Konfigurationsdateien (.ebextensions) hochladen oder ein JSON-Dokument nutzen. Die EB-CLI und die Elastic-Beanstalk-Konsole enthalten auch Client-spezifische Funktionen für das Einrichten und Aktualisieren von Konfigurationsoptionen.

Wenn Sie eine Konfigurationsoption festlegen oder ändern, können Sie ein vollständiges Umgebungs-Update auslösen, je nach Schweregrad der Änderung. Beispiel: Änderungen an Optionen in aws:autoscaling:launchconfiguration, z. B. InstanceType, verlangen, dass die Amazon-EC2-Instances in Ihrer Umgebung neu bereitgestellt werden müssen. Dadurch wird ein fortlaufendes Update ausgelöst. Andere Konfigurationsänderungen können ohne Unterbrechung oder erneute Bereitstellung angewendet werden.

Sie können Optionseinstellungen aus einer Umgebung mit EB-CLI- oder AWS CLI-Befehlen entfernen. Wenn Sie eine Option entfernen, die direkt auf einer Umgebung auf einer API-Ebene festgelegt wurde, können Einstellungen in Konfigurationsdateien, die anderenfalls durch Einstellungen verborgen sind, die direkt auf eine Umgebung angewendet werden, eingeblendet und wirksam werden.

Einstellungen in gespeicherten Konfigurationen und Konfigurationsdateien können überschrieben werden, indem Sie diese Option mit einer der anderen Konfigurationsmethoden direkt in der Umgebung festlegen. Diese können jedoch nur vollständig entfernt werden, indem Sie eine aktualisierte gespeicherte Konfiguration oder eine Konfigurationsdatei anwenden. Wenn eine Option nicht in einer gespeicherten Konfiguration, Konfigurationsdatei oder direkt auf eine Umgebung festgelegt ist, wird der Standardwert angewendet, sofern vorhanden. Details dazu finden Sie unter Precedence.

Die Elastic-Beanstalk-Konsole.

Sie können die Einstellungen der Konfigurationsoptionen in der Elastic-Beanstalk-Konsole durch die Bereitstellung eines Anwendungsquell-Bundles mit Konfigurationsdateien aktivieren, eine gespeicherte Konfiguration zuweisen oder die Umgebung direkt mit der Seite Configuration (Konfiguration) in der Environment Management Console ändern.

Verwenden von Konfigurationsdateien (.ebextensions)

Aktualisieren Sie Konfigurationsdateien in Ihrem Quellverzeichnis, erstellen Sie ein neues Quell-Bundle und stellen Sie die neue Version in Ihrer Elastic-Beanstalk-Umgebung bereit, um die Änderungen zu übernehmen.

Weitere Informationen zu Konfigurationsdateien finden Sie unter .Ebextensions.

So stellen Sie ein Quell-Bundle bereit

  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 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 auf der Umgebungsübersichtsseite die Option Upload and deploy (Hochladen und bereitstellen).

  4. Verwenden Sie das Dialogfeld auf dem Bildschirm, um das Quellpaket hochzuladen.

  5. Wählen Sie Deploy (Bereitstellen) aus.

  6. Wenn die Bereitstellung abgeschlossen ist, wählen Sie die Website-URL, um Ihre Website in einer neuen Registerkarte zu öffnen.

Änderungen an Konfigurationsdateien überschreiben Optionseinstellungen in gespeicherten Konfigurationen oder Einstellungen, die direkt auf die Umgebung auf API-Ebene anwendet werden, nicht. Details dazu finden Sie unter Precedence.

Verwenden einer gespeicherten Konfiguration

Wenden Sie eine gespeicherte Konfiguration auf eine laufende Umgebung an, um Optionseinstellungen anzuwenden, die durch sie definiert werden.

So wenden Sie eine gespeicherte Konfiguration auf eine laufende Umgebung 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 Load (Laden).

  5. Wählen Sie eine Umgebung und anschließend Load (Laden) aus.

Einstellungen in einer gespeicherten Konfiguration überschreiben Einstellungen in Konfigurationsdateien und werden von Einstellungen überschrieben, die mit der Environment Management Console konfiguriert werden.

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

Elastic-Beanstalk-Konsole verwenden

Die Elastic-Beanstalk-Konsole stellt viele Konfigurationsoptionen für jede Umgebung auf der Seite Configuration (Konfiguration) bereit.

So ändern Sie die Konfigurationsoptionen in einer laufenden Umgebung (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 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. Suchen Sie die Konfigurationsseite, die Sie bearbeiten möchten:

    • Wenn Sie die Option sehen, an der Sie interessiert sind, oder Sie wissen, in welcher Konfigurationskategorie sie sich befindet, wählen Sie in der Konfigurationskategorie für sie die Option Edit (Bearbeiten).

    • Um eine Option zu suchen, aktivieren Sie Table View (Tabellenansicht) und geben Sie dann Suchbegriffe in das Suchfeld ein. Während der Eingabe wird die Liste auf die Optionen verkürzt, die mit Ihren Suchbegriffen übereinstimmen.

      Wenn Sie die Option sehen, nach der Sie suchen, wählen Sie in der Konfigurationskategorie, in der sie enthalten ist, die Option Edit (Bearbeiten).

      
                  Tabellarische Darstellung der Konfigurationsübersichtsseite in der Elastic-Beanstalk-Konsole mit einer Optionssuche
  5. Ändern Sie die Einstellungen und wählen Sie anschließend Save (Speichern) aus.

  6. Wiederholen Sie bei Bedarf die vorherigen beiden Schritte in weiteren Konfigurationskategorien.

  7. Wählen Sie Apply (Anwenden) aus.

Änderungen an den Konfigurationsoptionen in der Environment Management Console werden direkt auf die Umgebung angewendet. Diese Änderungen überschreiben die Einstellungen für dieselben Optionen in Konfigurationsdateien oder gespeicherten Konfigurationen. Details dazu finden Sie unter Precedence.

Weitere Informationen zum Ändern von Konfigurationsoptionen für eine ausgeführte Umgebung mit der Elastic-Beanstalk-Konsole finden Sie in den entsprechenden Themen unter Konfigurieren von Elastic-Beanstalk-Umgebungen.

Die EB-CLI

Sie können die Einstellungen der Konfigurationsoptionen mit der EB-CLI durch die Bereitstellung eines Quellcodes mit Konfigurationsdateien aktivieren, Einstellungen aus einer gespeicherten Konfiguration anwenden oder die Umgebungskonfiguration direkt mit dem eb config-Befehl ändern.

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

Stellen Sie Ihren Quellcode mit bereit eb deploy.

~/workspace/my-app$ eb deploy

Verwenden einer gespeicherten Konfiguration

Um eine gespeicherte Konfiguration auf eine laufende Umgebung anzuwenden, nutzen Sie den Befehl eb config. Verwenden Sie die --cfg-Option mit dem Namen der gespeicherten Konfiguration, um die Einstellungen auf Ihre Umgebung anzuwenden.

$ eb config --cfg v1

In diesem Beispiel ist v1 der Name einer zuvor erstellten und gespeicherten Konfigurationsdatei.

Einstellungen, die mit diesem Befehl auf eine Umgebung angewendet wurden, überschreiben Einstellungen, die während der Umgebungserstellung angewendet wurden, sowie Einstellungen, die in den Konfigurationsdateien in Ihrem Quell-Bundle der Anwendung definiert sind.

benutze eb config

Mit dem EB-CLI-eb config-Befehl können Sie Optionseinstellungen direkt auf einer Umgebung festlegen und entfernen, indem Sie einen Text-Editor verwenden.

Wenn Sie eb config ausführen, zeigt die EB-CLI Einstellungen in Ihrer Umgebung aus allen Quellen, einschließlich Konfigurationsdateien, gespeicherte Konfigurationen, empfohlene Werte, Optionen, die direkt auf der Umgebung festgelegt sind, und API-Standardeinstellungen.

Anmerkung

eb config zeigt keine Umgebungseigenschaften. Zum Festlegen von Umgebungseigenschaften, die Sie in Ihrer Anwendung lesen können, verwenden Sie eb setenv.

Das folgende Beispiel zeigt Einstellungen, die im aws:autoscaling:launchconfiguration-Namespace angewendet wurden. Diese Einstellungen umfassen Folgendes:

  • Zwei empfohlene Werte für IamInstanceProfile und InstanceType, die von der EB-CLI während der Umgebungserstellung angewendet wurden.

  • Die Option EC2KeyName, die während der Erstellung basierend auf der Repository-Konfiguration direkt auf der Umgebung festgelegt wurde.

  • API-Standardwerte für andere Optionen.

ApplicationName: tomcat DateUpdated: 2015-09-30 22:51:07+00:00 EnvironmentName: tomcat SolutionStackName: 64bit Amazon Linux 2015.03 v2.0.1 running Tomcat 8 Java 8 settings: ... aws:autoscaling:launchconfiguration: BlockDeviceMappings: null EC2KeyName: my-key IamInstanceProfile: aws-elasticbeanstalk-ec2-role ImageId: ami-1f316660 InstanceType: t2.micro ...

Sie legen Sie Konfigurationsoptionen mit fest oder ändern Sie eb config

  1. Führen Sie eb config aus, um die Umgebungskonfiguration anzuzeigen.

    ~/workspace/my-app/$ eb config
  2. Ändern der Einstellungswerte mit dem Standard-Text-Editor.

    aws:autoscaling:launchconfiguration: BlockDeviceMappings: null EC2KeyName: my-key IamInstanceProfile: aws-elasticbeanstalk-ec2-role ImageId: ami-1f316660 InstanceType: t2.medium
  3. Speichern Sie die vorübergehende Konfigurationsdatei und beenden Sie sie.

  4. Die EB-CLI aktualisiert Ihre Umgebungskonfiguration.

Das Einrichten der Konfigurationsoptionen mit eb config überschreibt Einstellungen aus allen anderen Quellen.

Sie können auch Optionen aus Ihrer Umgebung mit entfernen eb config.

So entfernen Sie Konfigurationsoptionen (EB-CLI)

  1. Führen Sie eb config aus, um die Umgebungskonfiguration anzuzeigen.

    ~/workspace/my-app/$ eb config
  2. Ersetzen Sie gezeigte Werte mit der Zeichenfolge null. Sie können auch die gesamte Zeile mit der Option, die Sie entfernen möchten, löschen.

    aws:autoscaling:launchconfiguration: BlockDeviceMappings: null EC2KeyName: my-key IamInstanceProfile: aws-elasticbeanstalk-ec2-role ImageId: ami-1f316660 InstanceType: null
  3. Speichern Sie die vorübergehende Konfigurationsdatei und beenden Sie sie.

  4. Die EB-CLI aktualisiert Ihre Umgebungskonfiguration.

Durch das Entfernen von Optionen aus Ihrer Umgebung mit eb config sind Einstellungen für dieselben Optionen möglich, die aus den Konfigurationsdateien im Quell-Bundle Ihrer Anwendung ermittelt werden. Details dazu finden Sie unter Precedence.

benutze eb setenv

Zum Festlegen von Umgebungseigenschaften mit der EB-CLI verwenden Sie eb setenv.

~/workspace/my-app/$ eb setenv ENVVAR=TEST INFO: Environment update is starting. INFO: Updating environment my-env's configuration settings. INFO: Environment health has transitioned from Ok to Info. Command is executing on all instances. INFO: Successfully deployed new configuration to environment.

Mit diesem Befehl werden Umgebungseigenschaften im aws:elasticbeanstalk:application:environment-Namespace festgelegt. Nach einer kurzen Aktualisierung stehen die mit eb setenv definierten Umgebungseigenschaften für die Anwendung zur Verfügung.

Zeigen Sie die Umgebungseigenschaften für Ihre Umgebung mit a eb printenv.

~/workspace/my-app/$ eb printenv Environment Variables: ENVVAR = TEST

Der AWS CLI

Sie können die Einstellungen der Konfigurationsoptionen mit der AWS CLI durch die Bereitstellung eines Quell-Bundles mit Konfigurationsdateien aktivieren, eine remote gespeicherte Konfiguration anwenden oder die Umgebungskonfiguration direkt mit dem aws elasticbeanstalk update-environment Befehl ändern.

Verwenden von Konfigurationsdateien (.ebextensions)

Um Konfigurationsdateien auf eine ausgeführte Umgebung mit der AWS CLI bereitzustellen, 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 wenden es auf eine ausgeführte Umgebung an (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 sourcebundlev2.zip s3://elasticbeanstalk-us-west-2-123456789012/my-app/sourcebundlev2.zip
  3. Erstellen Sie die Anwendungsversion.

    $ aws elasticbeanstalk create-application-version --application-name my-app --version-label v2 --description MyAppv2 --source-bundle S3Bucket="elasticbeanstalk-us-west-2-123456789012",S3Key="my-app/sourcebundlev2.zip"
  4. Aktualisieren Sie die Umgebung.

    $ aws elasticbeanstalk update-environment --environment-name my-env --version-label v2

Verwenden einer gespeicherten Konfiguration

Sie können eine gespeicherte Konfiguration auf eine laufende Umgebung mit der --template-name-Option auf dem aws elasticbeanstalk update-environment-Befehl anwenden.

Die gespeicherte Konfiguration muss sich in Ihrem Elastic-Beanstalk-Bucket in einem Pfad mit dem Namen Ihrer Anwendung unter befinde resources/templates. Beispiel: Die Vorlage v1 für die Anwendung my-app in der Region USA West (Oregon) (us-west-2) für Konto 123456789012 befindet sich unter s3://elasticbeanstalk-us-west-2-123456789012/resources/templates/my-app/v1.

So wenden Sie eine gespeicherte Konfiguration auf eine laufende Umgebung an (AWS CLI)

  • Geben Sie die gespeicherte Konfiguration in einem update-environment-Aufruf mit der Option --template-name an.

    $ aws elasticbeanstalk update-environment --environment-name my-env --template-name v1

Elastic Beanstalk platziert Konfigurationen in diesem Speicherort, wenn sie mit erstellt wurde aws elasticbeanstalk create-configuration-template. Sie können auch gespeicherte Konfigurationen lokal ändern und sie selbst an diesem Speicherort ablegen.

Verwenden von Befehlszeilenoptionen

So ändern Sie Konfigurationsoptionen mit einem JSON-Dokument (AWS CLI)

  1. Definieren Sie die Optionseinstellungen im JSON-Format in einer lokalen Datei.

  2. Führen Sie update-environment mit der --option-settings-Option aus.

    $ aws elasticbeanstalk update-environment --environment-name my-env --option-settings file://~/ebconfigs/as-zero.json

In diesem Beispiel definiert as-zero.json Optionen, die die Umgebung mit einem Minimum und Maximum an Null-Instances konfigurieren. Dies stoppt die Instances in der Umgebung, ohne die Umgebung zu beenden.

~/ebconfigs/as-zero.json

[ { "Namespace": "aws:autoscaling:asg", "OptionName": "MinSize", "Value": "0" }, { "Namespace": "aws:autoscaling:asg", "OptionName": "MaxSize", "Value": "0" }, { "Namespace": "aws:autoscaling:updatepolicy:rollingupdate", "OptionName": "RollingUpdateEnabled", "Value": "false" } ]
Anmerkung

Das Einrichten der Konfigurationsoptionen mit update-environment überschreibt Einstellungen aus allen anderen Quellen.

Sie können auch Optionen aus Ihrer Umgebung mit entfernen update-environment.

So entfernen Sie Konfigurationsoptionen (AWS CLI)

  • Führen Sie den Befehl update-environment mit der Option --options-to-remove aus.

    $ aws elasticbeanstalk update-environment --environment-name my-env --options-to-remove Namespace=aws:autoscaling:launchconfiguration,OptionName=InstanceType

Durch das Entfernen von Optionen aus Ihrer Umgebung mit update-environment sind Einstellungen für dieselben Optionen möglich, die aus den Konfigurationsdateien im Quell-Bundle Ihrer Anwendung ermittelt werden. Wenn eine Option nicht mit einer der folgenden Methoden konfiguriert ist, wird der API-Standardwert angewendet, falls vorhanden. Details dazu finden Sie unter Precedence.