Démarrage des instances de conteneur Amazon ECS Linux 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 Amazon ECS Linux pour transmettre des données

Lorsque vous lancez une EC2 instance Amazon, vous pouvez lui transmettre des EC2 données utilisateur. 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 AmazonECS, les cas d'utilisation les plus courants des données utilisateur sont la transmission d'informations de configuration au daemon Docker et à l'agent de ECS conteneur Amazon.

Vous pouvez transmettre plusieurs types de données utilisateur à AmazonEC2, notamment des boothooks cloud, des scripts shell et cloud-init des directives. 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 EC2 lancement Amazon, consultezLancement 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 ECS conteneurs Amazon

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

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 les informations de configuration du démon Docker à l'aide des données EC2 utilisateur Amazon. 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