

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
<a name="ecs-agent-config"></a>

**S’applique à** : instances EC2

L’agent de conteneur Amazon ECS prend en charge un certain nombre d’options de configuration, dont la plupart sont définies via des variables d’environnement. 

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 de plus amples informations, veuillez consulter [Démarrage des instances de conteneurs Amazon ECS Linux pour transmettre des données](bootstrap_container_instance.md).

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 la section [Exécuter des commandes lorsque vous lancez une instance EC2 avec des données utilisateur fournies](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) dans le *Guide de l’utilisateur Amazon EC2* et [Amorçage des instances de conteneurs Windows Amazon ECS pour transmettre des données](bootstrap_windows_container_instance.md).

Si vous démarrez manuellement l'agent de conteneur Amazon ECS (pour les applications non optimisées pour Amazon ECS AMIs), vous pouvez utiliser ces variables d'environnement dans la **docker run** commande que vous utilisez pour 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
```

## Exécution de l’agent Amazon ECS avec l’espace de noms PID de l’hôte
<a name="ecs-agent-pid-namespace"></a>

Par défaut, l’agent Amazon ECS s’exécute avec son propre espace de noms PID. Dans les configurations suivantes, vous pouvez configurer l’agent Amazon ECS pour qu’il s’exécute avec l’espace de noms PID de l’hôte :
+ SELinux le mode d'application est activé.
+ La politique de SELinux sécurité de Docker est définie sur true.

Vous pouvez configurer ce comportement en définissant la variable d’environnement `ECS_AGENT_PID_NAMESPACE_HOST` sur `true` dans votre fichier `/etc/ecs/ecs.config`. Lorsque cette variable est activée, le conteneur de l'agent Amazon ECS `ecs-init` démarre avec l'espace de noms PID de l'hôte (`--pid=host`), ce qui permet à l'agent de démarrer correctement dans SELinux les environnements d'application. Ces fonctionnalités sont disponibles dans les versions `1.94.0` et ultérieures de l’agent Amazon ECS.

Pour activer cette fonctionnalité, ajoutez la ligne suivante à votre fichier `/etc/ecs/ecs.config` :

```
ECS_AGENT_PID_NAMESPACE_HOST=true
```

Après avoir effectué cette modification, redémarrez l’agent Amazon ECS pour que la modification soit prise en compte :

```
sudo systemctl restart ecs
```

Les fonctionnalités suivantes ne fonctionneront pas : le mode d' SELinux exécution est activé et la politique de sécurité Docker est définie sur true, même lorsqu'elle `ECS_AGENT_PID_NAMESPACE_HOST=true` est définie.
+ Amazon ECS Exec
+ Attacher une tâche Amazon EBS
+ Service Connect
+ FireLens pour Amazon ECS

## Paramètres disponibles
<a name="ecs-agent-availparam"></a>

Pour plus d'informations sur les paramètres de configuration de l'agent de conteneur Amazon ECS disponibles, consultez [Amazon ECS Container Agent](https://github.com/aws/amazon-ecs-agent/blob/master/README.md) on GitHub.

# Stockage de la configuration d’instance de conteneur Amazon ECS dans Amazon S3
<a name="ecs-config-s3"></a>

La configuration de l’agent de conteneur Amazon ECS est contrôlée avec les variables 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. Les variables d’environnement non sensibles, 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 manière d’associer une politique à un rôle, consultez la section [Modification des autorisations pour un rôle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-permissions.html) dans le *Guide de l’utilisateur Gestion des identités et des accès AWS *.

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 de plus amples informations, veuillez consulter [Utilisation d'images autres que des AWS conteneurs dans Amazon ECS](private-auth.md).

   ```
   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](https://github.com/aws/amazon-ecs-agent/blob/master/README.md) on GitHub.

1. Pour stocker votre fichier de configuration, créez un compartiment privé dans Amazon S3. Pour de plus amples informations, consultez la section [Création d’un compartiment](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) dans le *Guide de l’utilisateur d’Amazon Simple Storage Service*. 

1. Chargez le fichier `ecs.config` dans votre compartiment S3. Pour plus d'informations, consultez [Chargement d'objets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html) 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é.

1. 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 de plus amples informations, veuillez consulter [Lancement d'une instance de conteneur Amazon ECS Linux](launch_container_instance.md).

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