Stockage de la configuration de l'instance de conteneur Amazon ECS dans Amazon S3 - 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.

Stockage de la configuration de l'instance de conteneur Amazon ECS dans Amazon S3

La configuration de l'agent de conteneur Amazon ECS est contrôlée à l'aide de la variable d'environnement. Les variantes Linux de l'AMI optimisée pour Amazon ECS vérifient la présence de ces variables dans /etc/ecs/ecs.config lorsque l'agent de conteneur démarre et configurent l'agent en conséquence. Certaines variables d'environnement inoffensives, telles que ECS_CLUSTER, peuvent être transmises à l'instance de conteneur au moment du lancement via les données utilisateur Amazon EC2 et enregistrées dans ce fichier sans conséquence. Cependant, d'autres informations sensibles, telles que vos AWS informations d'identification ou la ECS_ENGINE_AUTH_DATA variable, ne doivent jamais être transmises à une instance /etc/ecs/ecs.config dans les données utilisateur ou écrites de manière à ce qu'elles apparaissent dans un .bash_history fichier.

Stocker les informations de configuration dans un compartiment privé d'Amazon S3 et accorder un accès en lecture seule au rôle IAM de votre instance de conteneur est un moyen pratique et sécurisé d'autoriser la configuration d'une instance de conteneur au moment du lancement. Vous pouvez stocker une copie de votre fichier ecs.config dans un compartiment privé. Vous pouvez ensuite utiliser les données utilisateur Amazon EC2 pour installer AWS CLI et copier vos informations de configuration au /etc/ecs/ecs.config moment du lancement de l'instance.

Pour stocker un fichier ecs.config dans Amazon S3
  1. Vous devez accorder au rôle d'instance de conteneur (ecsInstanceRole) des autorisations pour avoir un accès en lecture seule à Amazon S3. Vous pouvez le faire en assignant l'AmazonS3 ReadOnlyAccess au rôle. ecsInstanceRole Pour plus d'informations sur la façon d'associer une politique à un rôle, voir Modifier la politique d'autorisations d'un rôle (console) dans le guide de AWS Identity and Access Management l'utilisateur

  2. Créez un fichier ecs.config contenant des variables de configuration d'agent Amazon ECS valides en utilisant le format suivant. Cet exemple configure l'authentification de registre privé. Pour plus d’informations, consultez Utilisation d'images autres que des AWS conteneurs dans Amazon ECS.

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

    Pour obtenir la liste complète des variables de configuration des agents Amazon ECS disponibles, consultez Amazon ECS Container Agent on GitHub.

  3. Pour stocker votre fichier de configuration, créez un compartiment privé dans Amazon S3. Pour plus d'informations, consultez Création d'un compartiment dans le Guide de l'utilisateur d'Amazon Simple Storage Service.

  4. Chargez le fichier ecs.config dans votre compartiment S3. Pour plus d'informations, consultez Ajouter un objet à un compartiment dans le Guide de l'utilisateur Amazon Simple Storage Service.

Pour charger un fichier ecs.config à partir d'Amazon S3 lors du lancement
  1. Exécutez les précédentes procédures de la présente section pour autoriser l'accès en lecture seule d'Amazon S3 à vos instances de conteneur et stocker un fichier ecs.config dans un compartiment S3 privé.

  2. Lancez de nouvelles instances de conteneur et utilisez l'exemple de script suivant dans les données utilisateur EC2. Le script installe AWS CLI et copie votre fichier de configuration dans. /etc/ecs/ecs.config Pour plus d’informations, consultez Lancement d'une instance de conteneur Amazon ECS Linux.

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