Démarrage des instances de conteneur Linux Amazon ECS pour transmettre des données - Amazon Elastic Container Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Démarrage des instances de conteneur Linux Amazon ECS pour transmettre des données

Lorsque vous lancez une instance Amazon EC2, vous pouvez transmettre des données utilisateur à l'instance EC2. Ces données peuvent être utilisées afin d'effectuer des tâches de configuration automatisées courantes, voire d'exécuter des scripts lors du démarrage de l'instance. Pour Amazon ECS, les données utilisateur sont le plus souvent utilisées pour transmettre les informations de configuration au démon Docker et à l'agent de conteneur Amazon ECS.

Vous pouvez transmettre plusieurs types de données utilisateur à Amazon EC2, notamment des boothooks de cloud, des scripts shell et des directives cloud-init. Pour plus d'informations sur ce point et sur d'autres types de format, consultez la documentation sur Cloud-Init.

Pour transmettre les données utilisateur lors de l'utilisation de l'assistant de lancement d'Amazon EC2, consultez. Lancement d'une instance de conteneur Amazon ECS Linux

Vous pouvez configurer l'instance de conteneur pour transmettre des données dans la configuration de l'agent de conteneur ou dans la configuration du daemon Docker.

Agent de conteneur Amazon ECS

Les variantes Linux de l'AMI optimisée pour Amazon ECS recherchent les données de configuration de l'agent dans le fichier /etc/ecs/ecs.config au démarrage de l'agent de conteneur. Vous pouvez spécifier ces données de configuration lors du lancement avec les données utilisateur Amazon EC2. Pour plus d'informations sur les variables de configuration d'agent de conteneur Amazon ECS disponibles, veuillez consulter Configuration de l'agent de conteneur Amazon ECS.

Pour définir une seule variable de configuration d'agent, par exemple le nom du cluster, utilisez echo afin de copier la variable dans le fichier de configuration :

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

Si vous devez écrire plusieurs variables dans /etc/ecs/ecs.config, utilisez le format heredoc suivant. Ce format écrit tout entre les lignes commençant par cat et EOF dans le fichier de configuration.

#!/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

Pour définir des attributs d'instance personnalisés, définissez la variable d'environnement ECS_INSTANCE_ATTRIBUTES.

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

Démon Docker

Vous pouvez spécifier des informations de configuration du démon Docker avec les données utilisateur Amazon EC2. Pour plus d'informations sur les options de configuration , consultez la documentation sur le démon Docker.

Dans l'exemple ci-dessous, les options personnalisées sont ajoutées au fichier de configuration du démon Docker, /etc/docker/daemon.json, qui est ensuite spécifié dans les données utilisateur lors du lancement de l'instance.

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

Dans l'exemple ci-dessous, les options personnalisées sont ajoutées au fichier de configuration du démon Docker, /etc/docker/daemon.json, qui est ensuite spécifié dans les données utilisateur lors du lancement de l'instance. Cet exemple montre comment désactiver le proxy Docker dans le fichier de configuration du démon Docker.

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