Bootstrapping von Amazon ECS-Linux-Container-Instances zur Datenübergabe - 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.

Bootstrapping von Amazon ECS-Linux-Container-Instances zur Datenübergabe

Wenn Sie eine Amazon EC2 EC2-Instance starten, können Sie Benutzerdaten an die EC2-Instance übergeben. Die Daten können für allgemeine automatisierte Konfigurationsaufgaben und sogar zur Ausführung von Skripts beim Start der Instance verwendet werden. In Amazon ECS werden Benutzerdaten hauptsächlich zur Übergabe von Konfigurationsinformationen an den Docker-Daemon und den Amazon-ECS-Container-Agenten verwendet.

Sie können mehrere Arten von Benutzerdaten an Amazon EC2 übergeben, darunter auch Cloud-Boothooks, Shell-Skripts und cloud-init-Anweisungen. Weitere Informationen zu diesen und anderen Formattypen finden Sie in der Cloud-Init-Dokumentation.

Informationen zur Weitergabe der Benutzerdaten bei der Verwendung des Amazon EC2 EC2-Startassistenten finden Sie unterStarten einer Amazon ECS Linux-Container-Instance.

Sie können die Container-Instance so konfigurieren, dass sie Daten in der Container-Agent-Konfiguration oder in der Docker-Daemon-Konfiguration weitergibt.

Amazon-ECS-Container-Agent

Die Linux-Varianten des Amazon-ECS-optimierten AMI suchen beim Start des Containeragenten nach Agenten-Konfigurationsdaten in der Datei /etc/ecs/ecs.config. Sie können diese Konfigurationsdaten beim Start mit Amazon EC2-Benutzerdaten angeben. Weitere Informationen zu den verfügbaren Konfigurationsvariablen für den Amazon-ECS-Container-Agenten finden Sie unter Konfiguration des Amazon-ECS-Container-Agenten.

Wenn Sie nur eine einzelne Agent-Konfigurationsvariable wie z. B. den Clusternamen festlegen möchten, kopieren Sie die Variable mit dem Befehl echo in die Konfigurationsdatei:

#!/bin/bash echo "ECS_CLUSTER=MyCluster" >> /etc/ecs/ecs.config

Wenn Sie mehrere Variablen in /etc/ecs/ecs.config schreiben müssen, verwenden Sie hierfür das folgende heredoc-Format. Bei Verwendung dieses Formats wird alles zwischen den Zeilen cat und EOF in die Konfigurationsdatei geschrieben.

#!/bin/bash cat <<'EOF' >> /etc/ecs/ecs.config ECS_CLUSTER=MyCluster ECS_ENGINE_AUTH_TYPE=docker ECS_ENGINE_AUTH_DATA={"https://index.docker.io/v1/":{"username":"my_name","password":"my_password","email":"email@example.com"}} ECS_LOGLEVEL=debug ECS_WARM_POOLS_CHECK=true EOF

Um benutzerdefinierte Instance-Attribute festzulegen, legen Sie die ECS_INSTANCE_ATTRIBUTES-Umgebungsvariable fest.

#!/bin/bash cat <<'EOF' >> ecs.config ECS_INSTANCE_ATTRIBUTES={"envtype":"prod"} EOF

Docker-Daemon

Sie können Docker Daemon-Konfigurationsinformationen mit Amazon EC2-Benutzerdaten angeben. Weitere Informationen zu Konfigurationsoptionen finden Sie in der Docker-Daemon-Dokumentation.

Im folgenden Beispiel werden die benutzerdefinierten Optionen zur Konfigurationsdatei des Docker-Daemons, /etc/docker/daemon.json, hinzugefügt, die dann in den Benutzerdaten angegeben wird, wenn die Instance gestartet wird.

#!/bin/bash cat <<EOF >/etc/docker/daemon.json {"debug": true} EOF systemctl restart docker --no-block

Im folgenden Beispiel werden die benutzerdefinierten Optionen zur Konfigurationsdatei des Docker-Daemons, /etc/docker/daemon.json, hinzugefügt, die dann in den Benutzerdaten angegeben wird, wenn die Instance gestartet wird. Dieses Beispiel zeigt, wie der Docker-Proxy in der Docker-Daemon-Konfigurationsdatei deaktiviert wird.

#!/bin/bash cat <<EOF >/etc/docker/daemon.json {"userland-proxy": false} EOF systemctl restart docker --no-block