Verknüpfungen zwischen Elastic Beanstalk-Umgebungen erstellen - AWS Elastic Beanstalk

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.

Verknüpfungen zwischen Elastic Beanstalk-Umgebungen erstellen

Mit zunehmender Anwendungsgröße und -komplexität kann es sinnvoll sein, sie in Komponenten mit unterschiedlichen Entwicklungs- und Betriebslebenszyklen zu untergliedern. Durch die Ausführung von kleineren Services, die über eine klar definierte Schnittstelle miteinander interagieren, können Teams unabhängig voneinander arbeiten und die Bereitstellungen repräsentieren ein geringeres Risiko. Mit AWS Elastic Beanstalk können Sie die Umgebungen verknüpfen, um Informationen zwischen Komponenten freizugeben, die voneinander abhängig sind.

Anmerkung

Derzeit unterstützt Elastic Beanstalk Umgebungslinks für alle Plattformen (außer Multicontainer Docker).

Mithilfe von Umgebungslinks können Sie die Verbindungen zwischen den Umgebungen der Anwendungskomponenten als namentliche Referenzen angeben. Wenn Sie eine Umgebung mit einer Linkdefinition erstellen, legt Elastic Beanstalk eine Umgebungsvariable mit dem gleichen Namen des Links fest. Der Variablenwert ist der Endpunkt, über den Sie die Verbindung zur anderen Komponente herstellen; dabei kann es sich um eine Webserver- oder Worker-Umgebung handeln.

Angenommen, Ihre Anwendung besteht aus einem Frontend zur Erfassung von E-Mail-Adressen und einem Worker, der Begrüßungs-E-Mails an die vom Frontend gesammelten E-Mail-Adressen sendet. Nun können Sie in Ihrem Frontend einen Link zum Worker einrichten, damit das Frontend automatisch den Endpunkt (Warteschlangen-URL) des Workers erkennt.

Definieren Sie Links zu anderen Umgebungen in einem Umgebungsmanifest. Dies ist eine Datei im YAML-Format mit dem Namen env.yaml im Stamm der Anwendungsquelle. In folgendem Manifest wird ein Link zu einer Umgebung mit dem Namen "worker" definiert:

~/workspace/my-app/frontend/env.yaml

AWSConfigurationTemplateVersion: 1.1.0.0 EnvironmentLinks: "WORKERQUEUE": "worker"

Wenn Sie eine Umgebung mit einer Anwendungsversion erstellen, in der obiges Umgebungsmanifest enthalten ist, sucht Elastic Beanstalk nach einer Umgebung mit dem Namen worker, die zu dieser Anwendung gehört. Wenn diese Umgebung vorhanden ist, erstellt Elastic Beanstalk eine Umgebungseigenschaft namens WORKERQUEUE. Der Wert von WORKERQUEUE ist die URL der Amazon SQS-Warteschlange. Die Frontend-Anwendung kann diese Eigenschaft auf dieselbe Weise lesen wie eine Umgebungsvariable. Details dazu finden Sie unter Umgebungsmanifest (env.yaml).

Um Umgebungslinks zu verwenden, fügen Sie Ihrer Anwendungsquelle ein Umgebungsmanifest hinzu und laden Sie es mit der EB-CLI AWS CLI oder einem SDK hoch. Wenn Sie das AWS CLI oder ein SDK verwenden, setzen Sie das process Flag, wenn Sie Folgendes aufrufenCreateApplicationVersion:

$ aws elasticbeanstalk create-application-version --process --application-name my-app --version-label frontend-v1 --source-bundle S3Bucket="DOC-EXAMPLE-BUCKET",S3Key="front-v1.zip"

Mit dieser Option wird Elastic Beanstalk angewiesen, das Umgebungsmanifest und die Konfigurationsdateien im Quell-Bundle zu validieren, wenn Sie die Anwendungsversion erstellen. In der EB CLI wird das Flag automatisch gesetzt, sobald sich ein Umgebungsmanifest im Projektverzeichnis befindet.

Erstellen Sie die Umgebungen ganz regulär mit einem beliebigen Client. Wenn Umgebungen beendet werden müssen, beenden Sie zuerst die Umgebung mit dem Link. Falls eine Umgebung von einer anderen Umgebung verlinkt ist, verhindert Elastic Beanstalk, dass die verlinkte Umgebung beendet wird. Diese Schutzmaßnahme setzen Sie mit dem Flag ForceTerminate außer Kraft. In der AWS CLI ist dieser Parameter als --force-terminate verfügbar:

$ aws elasticbeanstalk terminate-environment --force-terminate --environment-name worker