Umgebungsvariablen an einen Amazon ECS-Container übergeben - Amazon Elastic Container Service

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.

Umgebungsvariablen an einen Amazon ECS-Container übergeben

Wichtig

Wir empfehlen, Ihre sensiblen Daten entweder in AWS Secrets Manager Secrets- oder AWS Systems Manager Parameter Store-Parametern zu speichern. Weitere Informationen finden Sie unter Übergeben Sie sensible Daten an einen Amazon ECS-Container.

Umgebungsvariablen-Dateien sind Objekte in Amazon S3, und es gelten alle Sicherheitsüberlegungen von Amazon S3.

Sie können den environmentFiles Parameter nicht für Windows-Container und Windows-Container für Fargate verwenden.

Sie können eine Umgebungsvariablendatei erstellen und in Amazon S3 speichern, um Umgebungsvariablen an Ihren Container zu übergeben.

Durch das Angeben von Umgebungsvariablen in einer Datei können Sie Umgebungsvariablen gesammelt einfügen. Geben Sie innerhalb der Containerdefinition das Objekt environmentFiles mit einer Liste von Amazon S3-Buckets an, die Ihre Umgebungsvariablendateien enthalten.

Amazon ECS erzwingt keine Größenbeschränkung für die Umgebungsvariablen, aber eine große Umgebungsvariablendatei kann den Festplattenspeicher belegen. Jede Aufgabe, die eine Umgebungsvariablendatei verwendet, bewirkt, dass eine Kopie der Datei auf den Datenträger heruntergeladen wird. Amazon ECS entfernt die Datei im Rahmen der Aufgabenbereinigung.

Informationen zu den unterstützten Umgebungsvariablen finden Sie unter Erweiterte Container-Definitionsparameter – Umgebung.

Berücksichtigen Sie Folgendes, wenn eine Umgebungsvariablendatei in einer Containerdefinition angegeben wird.

  • Für Amazon-ECS-Aufgaben auf Amazon EC2 benötigen Ihre Container-Instances die Container-Agenten-Version 1.39.0 oder höher, um dieses Feature verwenden zu können. Informationen zum Überprüfen Ihrer Agenten-Version und zum Aktualisieren auf die neueste Version finden Sie unter Überprüfen des Amazon-ECS-Container-Agenten.

  • Für Amazon ECS-Aufgaben auf AWS Fargate müssen Ihre Aufgaben die Plattformversion 1.4.0 oder höher (Linux) verwenden, um diese Funktion nutzen zu können. Weitere Informationen finden Sie unter Fargate Linux-Plattformversionen für Amazon ECS.

    Stellen Sie sicher, dass die Variable für die Betriebssystem-Plattform unterstützt wird. Weitere Informationen finden Sie unter Containerdefinitionen und Andere Parameter der Aufgabendefinition.

  • Die Datei muss die .env-Dateierweiterung und die UTF-8-Kodierung verwenden.

  • Die Rolle „Aufgabenausführung“ ist erforderlich, um diese Funktion mit den zusätzlichen Berechtigungen für Amazon S3 verwenden zu können. Auf diese Weise kann der Container-Agent die Umgebungsvariablendatei von Amazon S3 abrufen. Weitere Informationen finden Sie unter IAM-Rolle für die Amazon-ECS-Aufgabenausführung.

  • Es gibt ein Limit von 10 Dateien pro Aufgabendefinition.

  • Jede Zeile in einer Umgebungsdatei muss eine Umgebungsvariable im Format VARIABLE=VALUE enthalten. Leerzeichen oder Anführungszeichen werden als Teil der Werte für Amazon-ECS-Dateien einbezogen. Zeilen, die mit # beginnen, werden als Kommentare behandelt und ignoriert. Weitere Informationen zur Syntax der Umgebungsvariablen finden Sie unter Deklarieren von Standardumgebungsvariablen in Datei.

    Im Folgenden finden Sie die entsprechende Syntax.

    #This is a comment and will be ignored VARIABLE=VALUE ENVIRONMENT=PRODUCTION
  • Wenn Umgebungsvariablen mit dem environment-Parameter in einer Containerdefinition angegeben sind, haben sie Vorrang vor den Variablen, die in einer Umgebungsdatei enthalten sind.

  • Wenn mehrere Umgebungsdateien angegeben sind und sie dieselbe Variable enthalten, werden sie in der Reihenfolge ihres Eintrags verarbeitet. Dies bedeutet, dass der erste Wert der Variablen verwendet wird und nachfolgende Werte doppelter Variablen ignoriert werden. Es wird empfohlen, eindeutige Variablennamen zu verwenden.

  • Wenn eine Umgebungsdatei als Container-Überschreibung angegeben wird, wird sie verwendet. Darüber hinaus werden alle anderen Umgebungsdateien ignoriert, die in der Containerdefinition angegeben sind.

  • Die folgenden Regeln gelten für den Starttyp Fargate:

    • Die Datei wird ähnlich wie eine native Docker-Umgebungsdatei behandelt.

    • Containerdefinitionen, die auf Umgebungsvariablen verweisen, die leer sind und in Amazon S3 gespeichert sind, werden nicht im Container angezeigt.

    • Es gibt keine Unterstützung für Shell-Escape-Handling.

    • Der Container-Einstiegspunkt interpretiert die VARIABLE-Werte.

Beispiel

Im Folgenden finden Sie ein Ausschnitt aus einer Aufgabendefinition, in dem gezeigt wird, wie eine Umgebungsvariablendatei angegeben wird.

{ "family": "", "containerDefinitions": [ { "name": "", "image": "", ... "environmentFiles": [ { "value": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/envfile_object_name.env", "type": "s3" } ], ... } ], ... }