Speichern der Amazon ECS-Container-Instance-Konfiguration in Amazon S3 - 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.

Speichern der Amazon ECS-Container-Instance-Konfiguration in Amazon S3

Die Konfiguration des Amazon ECS-Container-Agenten wird mit der Umgebungsvariablen gesteuert. Die Linux-Varianten des Amazon-ECS-optimierten AMI suchen nach diesen Variablen in /etc/ecs/ecs.config, wenn der Containeragent startet, und konfigurieren den Agenten entsprechend. Bestimmte unverfängliche Umgebungsvariablen, beispielsweise ECS_CLUSTER, können beim Starten durch Amazon EC2-Benutzerdaten an die Container-Instance übergeben und folgenlos in diese Datei geschrieben werden. Andere vertrauliche Informationen, wie Ihre AWS Anmeldeinformationen oder die ECS_ENGINE_AUTH_DATA Variable, sollten jedoch niemals in Form von Benutzerdaten an eine Instance weitergegeben oder so geschrieben werden, dass sie in einer .bash_history Datei angezeigt werden können. /etc/ecs/ecs.config

Das Speichern von Konfigurationsinformationen in einem privaten Amazon S3-Bucket und das Erteilen der schreibgeschützten Zugriffsberechtigung Ihrer IAM-Rolle der Container-Instance ist eine sichere und bequeme Art, die Konfiguration der Container-Instance zur Startzeit zu ermöglichen. Sie können eine Kopie Ihrer ecs.config-Datei in einem privaten Bucket speichern. Sie können dann Amazon EC2 EC2-Benutzerdaten verwenden, um die Instance zu installieren AWS CLI und Ihre Konfigurationsinformationen zu kopieren, /etc/ecs/ecs.config wenn die Instance gestartet wird.

So speichern Sie eine ecs.config-Datei in Amazon S3
  1. Sie müssen der Container-Instance-Rolle (ecs InstanceRole) Berechtigungen erteilen, um nur Lesezugriff auf Amazon S3 zu haben. Sie können dies tun, indem Sie der Rolle den ReadOnlyAmazonS3-Zugriff zuweisen. ecsInstanceRole Informationen zum Anhängen einer Richtlinie an eine Rolle finden Sie unter Ändern einer Rollenberechtigungsrichtlinie (Konsole) im Benutzerhandbuch AWS Identity and Access Management

  2. Erstellen Sie eine ecs.config-Datei mit gültigen Amazon-ECS-Agenten-Konfigurationsvariablen im folgenden Format. Dieses Beispiel konfiguriert private Registry-Authentifizierung. Weitere Informationen finden Sie unter Verwenden von AWS Nicht-Container-Images in Amazon ECS.

    ECS_ENGINE_AUTH_TYPE=dockercfg ECS_ENGINE_AUTH_DATA={"https://index.docker.io/v1/":{"auth":"zq212MzEXAMPLE7o6T25Dk0i","email":"email@example.com"}}
    Anmerkung

    Eine vollständige Liste der verfügbaren Amazon ECS-Agenten-Konfigurationsvariablen finden Sie unter Amazon ECS Container Agent on GitHub.

  3. Um Ihre Konfigurationsdatei zu speichern, erstellen Sie in Amazon S3 einen privaten Bucket. Weitere Informationen finden Sie unter Erstellen eines Buckets im Benutzerhandbuch zu Amazon Simple Storage Service.

  4. Laden Sie die Datei ecs.config in Ihren S3-Bucket hoch. Anleitungen finden Sie unter Hinzufügen eines Objekts zu einem Bucket im Benutzerhandbuch zu Amazon Simple Storage Service.

So laden Sie eine ecs.config-Datei beim Start von Amazon S3
  1. Führen Sie in diesem Bereich die zuvor genannten Verfahren aus, um schreibgeschützten Amazon S3-Zugriff auf Ihre Container-Instances zu ermöglichen und eine ecs.config-Datei in einem privaten S3-Bucket zu speichern.

  2. Starten Sie neue Container-Instances und verwenden Sie das folgende Beispielskript in den EC2-Benutzerdaten. Das Skript installiert die AWS CLI und kopiert Ihre Konfigurationsdatei nach/etc/ecs/ecs.config. Weitere Informationen finden Sie unter Starten einer Amazon ECS Linux-Container-Instance.

    #!/bin/bash yum install -y aws-cli aws s3 cp s3://your_bucket_name/ecs.config /etc/ecs/ecs.config