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 EC2 Amazon-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. Für Amazon bestehen die häufigsten Anwendungsfälle für Benutzerdaten darinECS, Konfigurationsinformationen an den Docker-Daemon und den ECS Amazon-Container-Agenten zu übergeben.

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

Informationen zur Weitergabe der Benutzerdaten bei der Verwendung des EC2 Amazon-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.

ECSAmazon-Containeragent

Die für Amazon ECS optimierten Linux-Varianten AMI suchen in der /etc/ecs/ecs.config Datei nach Agentenkonfigurationsdaten, wenn der Container-Agent gestartet wird. Sie können diese Konfigurationsdaten beim Start mit EC2 Amazon-Benutzerdaten angeben. Weitere Informationen zu verfügbaren Konfigurationsvariablen für ECS Amazon-Container-Agenten finden Sie unterKonfiguration des ECS Amazon-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 die Konfigurationsinformationen des Docker-Daemons mit EC2 Amazon-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