Configuration de l'agent de conteneur Amazon ECS - 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.

Configuration de l'agent de conteneur Amazon ECS

L'agent de conteneur Amazon ECS prend en charge un certain nombre d'options de configuration, dont la plupart sont définies par le biais de variables d'environnement. Les variables d'environnement suivantes sont disponibles, et sont toutes facultatives.

Si votre instance de conteneur a été lancée avec une variante Linux de l'AMI optimisée pour Amazon ECS, vous pouvez définir ces variables d'environnement dans le fichier /etc/ecs/ecs.config, puis redémarrer l'agent. Vous pouvez également écrire ces variables de configuration dans vos instances de conteneur avec les données utilisateur Amazon EC2 lors du lancement. Pour plus d’informations, consultez Démarrage des instances de conteneur avec les données utilisateur d'Amazon EC2.

Si votre instance de conteneur a été lancée avec une variante Windows de l'AMI optimisée pour Amazon ECS, vous pouvez définir ces variables d'environnement à l'aide de la PowerShell SetEnvironmentVariable commande, puis redémarrer l'agent. Pour plus d'informations, consultez Exécuter des commandes au lancement sur votre instance Windows dans le Guide de l'utilisateur Amazon EC2 pour les instances WIndows et Action d'amorçage des instances de conteneur Windows avec les données utilisateur d'Amazon EC2.

Si vous lancez manuellement l'agent de conteneur Amazon ECS (pour les AMI non optimisées pour Amazon ECS), vous pouvez utiliser ces variables d'environnement dans la commande docker run qui vous permet de démarrer l'agent. Utilisez ces variables avec la syntaxe --env=VARIABLE_NAME=VARIABLE_VALUE. Pour les informations sensibles, telles que les informations d'authentification des référentiels privés, vous devez stocker vos variables d'environnement d'agent dans un fichier et les transmettre toutes à la fois avec l'option --env-file path_to_env_file. Vous pouvez utiliser les commandes suivantes pour ajouter les variables.

sudo systemctl stop ecs sudo vi /etc/ecs/ecs.config # And add the environment variables with VARIABLE_NAME=VARIABLE_VALUE format. sudo systemctl start ecs

Paramètres disponibles

Pour plus d'informations sur les paramètres de configuration de l'agent de conteneur Amazon ECS disponibles, consultez Amazon ECS Container Agent on GitHub.

Stockage de la configuration d'instance de conteneur dans Simple Storage Service (Amazon S3)

La configuration de l'agent de conteneur Amazon ECS est contrôlée avec les variables d'environnement décrites à la section précédente. 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 permettre à votre rôle d'instance de conteneur d'accéder en lecture seule à Amazon S3
  1. Ouvrez la console IAM à l’adresse https://console.aws.amazon.com/iam/.

  2. Dans le panneau de navigation, choisissez Roles (Rôles), puis sélectionnez le rôle IAM à utiliser pour vos instances de conteneur. Ce rôle est probablement intitulé ecsInstanceRole. Pour plus d’informations, consultez Rôle IAM d'instance de conteneur Amazon ECS.

  3. Sous Managed Policies (Politiques gérées), choisissez Attach Policy (Attacher la politique).

  4. Pour affiner les résultats de la politique , sur la page Attach Policy (Attacher la politique), dans le champ Filtre, tapez S3.

  5. Cochez la case située à gauche de la politique d'AmazonS3 et choisissez Joindre la ReadOnlyAccess politique.

Pour stocker un fichier ecs.config dans Amazon S3
  1. 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 Authentification de registre privé pour les tâches.

    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.

  2. 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.

  3. 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 en suivant les étapes de Lancement d'une instance de conteneur Amazon ECS Linux. DansÉtape 7, utilisez l'exemple de script suivant qui installe AWS CLI et copie votre fichier de configuration dans. /etc/ecs/ecs.config

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