

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 des systèmes de fichiers Amazon EFS pour Amazon ECS à l’aide de la console
<a name="tutorial-efs-volumes"></a>

Découvrez comment utiliser les systèmes de fichiers Amazon Elastic File System (Amazon EFS) avec Amazon ECS.

## Étape 1 : Créer un cluster Amazon ECS
<a name="efs-create-cluster"></a>

Pour créer un cluster Amazon ECS, effectuez les étapes suivantes. 

**Pour créer un nouveau cluster (console Amazon ECS)**

Avant de commencer, attribuez l'autorisation IAM adéquate. Pour de plus amples informations, veuillez consulter [Exemples de cluster Amazon ECS](security_iam_id-based-policy-examples.md#IAM_cluster_policies).

1. Ouvrez la console à la [https://console.aws.amazon.com/ecs/version 2](https://console.aws.amazon.com/ecs/v2).

1. Dans la barre de navigation, sélectionnez la région à utiliser.

1. Dans le panneau de navigation, choisissez **Clusters**.

1. Sur la page **Clusters**, choisissez **Create Cluster** (Créer un cluster).

1. Sous **Cluster configuration** (Configuration de cluster), dans **Cluster name** (Nom du cluster), saisissez `EFS-tutorial`.

1. (Facultatif) Pour modifier le VPC et les sous-réseaux d'où vos tâches et services se lancent, sous **Networking** (Réseaux), effectuez l'une des opérations suivantes :
   + Pour supprimer un sous-réseau, sous **Subnets** (Sous-réseaux), choisissez **X** pour chaque sous-réseau que vous souhaitez supprimer.
   + Pour passer à un VPC autre celui par **défaut**, sous **VPC**, choisissez un **VPC** existant, puis sous **Subnets** (Sous-réseaux), sélectionnez chaque sous-réseau.

1.  Pour ajouter des instances Amazon EC2 à votre cluster, développez **Infrastructure**, puis sélectionnez **Instances Amazon EC2**. Ensuite, configurez le groupe Auto Scaling qui agit en tant que fournisseur de capacité :

   1. Pour créer un groupe Auto Scaling, depuis **Auto Scaling group (ASG)** (Groupe Auto Scaling [ASG]), sélectionnez **Create new group** (Créer un nouveau groupe), puis fournissez les détails suivants sur le groupe :
     + Pour **Operating system/Architecture** (Système d'exploitation/Architecture), choisissez Amazon Linux 2.
     + Dans **EC2 instance type** (Type d'instance EC2), choisissez `t2.micro`.

        Pour **SSH key pair** (Paire de clés SSH), choisissez la paire qui prouve votre identité lorsque vous connectez à l'instance.
     + Dans le champ **Capacité**, entrez `1`.

1. Choisissez **Créer**.

## Étape 2 : créer un groupe de sécurité pour des instances Amazon EC2 et le système de fichiers Amazon EFS
<a name="efs-security-group"></a>

Lors de cette étape, vous créez un groupe de sécurité pour vos instances Amazon EC2 autorisant le trafic réseau entrant sur le port 80 et pour votre système de fichiers Amazon EFS autorisant l'accès entrant depuis vos instances de conteneur. 

Créez un groupe de sécurité pour vos instances Amazon EC2 avec les options suivantes :
+ **Nom du groupe de sécurité** : un nom unique pour votre groupe de sécurité.
+ **VPC** : le VPC identifié précédemment pour votre cluster.
+ **Règle entrante**
  + **Type** : **HTTP**.
  + **Source** : **0.0.0.0/0**.

Créez un groupe de sécurité pour votre système de fichiers Amazon EFS avec les options suivantes :
+ **Nom du groupe de sécurité** : un nom unique pour votre groupe de sécurité. Par exemple, `EFS-access-for-sg-dc025fa2`.
+ **VPC** : le VPC identifié précédemment pour votre cluster.
+ **Règle entrante**
  + **Type** : **NFS**.
  + **Source** : **personnalisée** avec l'ID du groupe de sécurité que vous avez créé pour vos instances.

Pour plus d’informations sur la création d’un groupe de sécurité, consultez la section [Création d’un groupe de sécurité pour votre instance Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-security-group.html) dans le *Guide de l’utilisateur Amazon EC2*.

## Étape 3 : Créer un système de fichiers Amazon EFS
<a name="efs-create-filesystem"></a>

Dans cette étape, vous créez un système de fichiers Amazon EFS.

**Pour créer un système de fichiers Amazon EFS pour des tâches Amazon ECS.**

1. Ouvrez la console Amazon Elastic File System à l'adresse [https://console.aws.amazon.com/efs/](https://console.aws.amazon.com/efs/).

1. Choisissez **Create file system** (Créer un système de fichiers).

1. Saisissez un nom pour votre système de fichiers, puis choisissez le VPC dans lequel vos instances de conteneur sont hébergées. Par défaut, chaque sous-réseau du VPC spécifié reçoit une cible de montage qui utilise le groupe de sécurité par défaut de ce VPC. Choisissez ensuite **Personnaliser**.
**Note**  
Ce didacticiel part du principe que votre système de fichiers Amazon EFS, votre cluster Amazon ECS, vos instances de conteneur et vos tâches se trouvent dans le même VPC. Pour plus d’informations sur le montage d’un système de fichiers à partir d’un autre VPC, consultez la section [Procédure pas à pas : montage d’un système de fichiers à partir d’un autre VPC](https://docs.aws.amazon.com/efs/latest/ug/efs-different-vpc.html) dans le *Guide de l’utilisateur Amazon EFS*.

1. Sur la page **Paramètres du système de fichiers**, configurez les paramètres facultatifs, puis sous **Paramètres de performance**, choisissez le mode de débit **Transmission en rafales** pour votre système de fichiers. Après avoir configuré les paramètres, sélectionnez **Suivant**.

   1. (Facultatif) Ajoutez des étiquettes pour votre système de fichiers. Par exemple, vous pouvez spécifier un nom unique pour le système de fichiers en entrant ce nom dans la colonne **Valeur** en regard de la clé **Nom**.

   1. (Facultatif) Activez la gestion du cycle de vie pour économiser de l'argent sur un stockage rarement utilisé. Pour en savoir plus, consultez la section [Gestion du cycle de vie EFS](https://docs.aws.amazon.com/efs/latest/ug/lifecycle-management-efs.html) du *Amazon Elastic File System User Guide*.

   1. (Facultatif) Activez le chiffrement. Cochez la case pour activer le chiffrement de votre système de fichiers Amazon EFS au repos.

1. Sur la page **Accès réseau**, sous **Monter les cibles**, remplacez la configuration de groupe de sécurité existante de chaque zone de disponibilité par le groupe de sécurité que vous avez créé pour le système de fichiers dans [Étape 2 : créer un groupe de sécurité pour des instances Amazon EC2 et le système de fichiers Amazon EFS](#efs-security-group), puis choisissez **Suivant**.

1.  Il n'est pas nécessaire de configurer la **Stratégie de système de fichiers** pour ce didacticiel. Vous pouvez donc ignorer la section en choisissant **Suivant**.

1. Vérifiez les options de votre système de fichiers et choisissez **Créer** pour terminer le processus.

1. Sur l'écran **Systèmes de fichiers**, enregistrez l'**ID du système de fichiers**. À l'étape suivante, vous référencerez cette valeur dans votre définition de tâche Amazon ECS.

## Étape 4 : Ajouter du contenu au système de fichiers Amazon EFS
<a name="efs-add-content"></a>

Au cours de cette étape, vous monterez le système de fichiers Amazon EFS sur une instance Amazon EC2 et y ajouterez du contenu. Cette opération servira à tester la nature persistante des données dans ce didacticiel. Lorsque vous utilisez cette fonction, vous avez normalement votre application ou une autre méthode d'écriture de données dans votre système de fichiers Amazon EFS.

**Pour créer une instance Amazon EC2 et monter le système de fichiers Amazon EFS**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Choisissez **Launch Instances** (Lancer les instances).

1. Sous **Images d'applications et de systèmes d'exploitation (Amazon Machine Image)**, sélectionnez l'**AMI Amazon Linux 2 (HVM)**.

1. Sous **Type d'instance**, conservez le type d'instance par défaut `t2.micro`.

1.  Sous **Paire de clés (connexion)**, sélectionnez une paire de clés pour l'accès SSH à l'instance.

1. Sous **Paramètres réseau**, sélectionnez le VPC que vous avez spécifié pour votre système de fichiers Amazon EFS et votre cluster Amazon ECS. Sélectionnez un sous-réseau et le groupe de sécurité d'instance créé dans [Étape 2 : créer un groupe de sécurité pour des instances Amazon EC2 et le système de fichiers Amazon EFS](#efs-security-group). Configurez le groupe de sécurité de l'instance. Assurez-vous que **Attribuer automatiquement l'adresse IP publique** est activé.

1. Sous **Configurer le stockage**, cliquez sur le bouton **Modifier** pour les systèmes de fichiers, puis choisissez **EFS**. Sélectionnez le système de fichiers créé dans [Étape 3 : Créer un système de fichiers Amazon EFS](#efs-create-filesystem). Vous pouvez éventuellement modifier le point du montage ou conserver la valeur par défaut.
**Important**  
Vous devez sélectionner un sous-réseau avant de pouvoir ajouter un système de fichiers à l'instance.

1. Désactivez **Créer et associer automatiquement des groupes de sécurité**. Laissez l'autre case cochée. Choisissez **Add shared file system** (Ajouter un système de fichiers partagé).

1. Sous **Advanced Details (Détails avancés)**, assurez-vous que le script de données utilisateur est renseigné automatiquement avec les étapes de montage du système de fichiers Amazon EFS.

1.  Sous **Récapitulatif**, assurez-vous que le **Nombre d'instances** est égal à **1**. Choisissez **Launch instance** (Lancer une instance).

1. Sur la page **Lancer une instance**, choisissez **Afficher toutes les instances** pour afficher l'état de vos instances. Initialement, le statut d'**État de l'instance** est `PENDING`. Une fois que l'état est passé à `RUNNING` et que l'instance a réussi toutes les vérifications de statut, celle-ci est prête à être utilisée.

Maintenant, connectez-vous à l'instance Amazon EC2 et ajoutez du contenu au système de fichiers Amazon EFS.

**Pour vous connecter à l'instance Amazon EC2 et ajouter du contenu au système de fichiers Amazon EFS**

1. Envoyez une requête SSH à l'instance Amazon EC2 que vous avez créée. Pour plus d’informations, consultez la section [Connexion à votre instance Linux à l’aide de SSH](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-to-linux-instance.html) dans le *Guide de l’utilisateur Amazon EC2*.

1. Dans la fenêtre du terminal, exécutez la commande **df -T** pour vérifier que le système de fichiers Amazon EFS est bien monté. Dans la sortie suivante, nous avons mis en évidence le montage du système de fichiers Amazon EFS.

   ```
   $ df -T
   Filesystem     Type            1K-blocks    Used        Available Use% Mounted on
   devtmpfs       devtmpfs           485468       0           485468   0% /dev
   tmpfs          tmpfs              503480       0           503480   0% /dev/shm
   tmpfs          tmpfs              503480     424           503056   1% /run
   tmpfs          tmpfs              503480       0           503480   0% /sys/fs/cgroup
   /dev/xvda1     xfs               8376300 1310952          7065348  16% /
   127.0.0.1:/    nfs4     9007199254739968       0 9007199254739968   0% /mnt/efs/fs1
   tmpfs          tmpfs              100700       0           100700   0% /run/user/1000
   ```

1. Accédez au répertoire dans lequel le système de fichiers Amazon EFS est monté. Dans l'exemple ci-dessus, il s'agit de `/mnt/efs/fs1`.

1. Créez un fichier nommé `index.html` avec le contenu suivant:

   ```
   <html>
       <body>
           <h1>It Works!</h1>
           <p>You are using an Amazon EFS file system for persistent container storage.</p>
       </body>
   </html>
   ```

## Étape 5 : Créer une définition de tâche
<a name="efs-task-def"></a>

La définition de tâche suivante crée un volume de données nommé `efs-html`. Le conteneur `nginx` monte le volume de données de l'hôte à la racine NGINX, `/usr/share/nginx/html`.

**Pour créer une nouvelle définition de tâche à l'aide de la console Amazon ECS**

1. Ouvrez la console à la [https://console.aws.amazon.com/ecs/version 2](https://console.aws.amazon.com/ecs/v2).

1. Dans le panneau de navigation, choisissez **Task definitions** (Définition des tâches).

1. Choisissez **Create new task definition** (Créer une nouvelle définition de tâche), puis **Create new task definition with JSON** (Créer une nouvelle définition de tâche avec JSON).

1. Dans la zone de l'éditeur JSON, copiez et collez le texte JSON suivant, en remplaçant `fileSystemId` par l'ID de votre système de fichiers Amazon EFS.

   ```
   {
       "containerDefinitions": [
           {
               "memory": 128,
               "portMappings": [
                   {
                       "hostPort": 80,
                       "containerPort": 80,
                       "protocol": "tcp"
                   }
               ],
               "essential": true,
               "mountPoints": [
                   {
                       "containerPath": "/usr/share/nginx/html",
                       "sourceVolume": "efs-html"
                   }
               ],
               "name": "nginx",
               "image": "public.ecr.aws/docker/library/nginx:latest"
           }
       ],
       "volumes": [
           {
               "name": "efs-html",
               "efsVolumeConfiguration": {
                   "fileSystemId": "fs-1324abcd",
                   "transitEncryption": "ENABLED"
               }
           }
       ],
       "family": "efs-tutorial",
       "executionRoleArn":"arn:aws:iam::111122223333:role/ecsTaskExecutionRole"
   }
   ```
**Note**  
Le rôle IAM d’exécution de tâche Amazon ECS ne nécessite aucune autorisation spécifique liée à Amazon EFS pour monter un système de fichiers Amazon EFS. Par défaut, s’il n’existe aucune politique basée sur les ressources Amazon EFS, l’accès est accordé à tous les principaux (\$1) lors de la création du système de fichiers.  
Le rôle de tâche Amazon ECS n’est requis que si l’option « Autorisation IAM EFS » est activée dans la définition de tâche Amazon ECS. Lorsque cette option est activée, l’identité du rôle de la tâche doit être autorisée à accéder au système de fichiers Amazon EFS conformément à la politique basée sur les ressources Amazon EFS, et l’accès anonyme doit être désactivé.

1. Choisissez **Créer**.

## Étape 6 : Exécuter une tâche et afficher les résultats
<a name="efs-run-task"></a>

Maintenant que votre système de fichiers Amazon EFS est créé et qu'il existe du contenu web pour le conteneur NGINX à diffuser, vous pouvez exécuter une tâche à l'aide de la définition de tâche que vous avez créée. Le serveur web NGINX diffuse votre page HTML simple. Si vous mettez à jour le contenu de votre système de fichiers Amazon EFS, ces changements sont propagés vers tous les conteneurs qui ont également monté ce système de fichiers.

La tâche s'exécute dans le sous-réseau que vous avez défini pour le cluster.

**Pour exécuter une tâche et afficher les résultats à l'aide de la console**

1. Ouvrez la console à la [https://console.aws.amazon.com/ecs/version 2](https://console.aws.amazon.com/ecs/v2).

1. Sur la page **Clusters**, sélectionnez le cluster dans lequel la tâche autonome doit s'exécuter.

   Déterminez la ressource à partir de laquelle vous lancez le service.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonECS/latest/developerguide/tutorial-efs-volumes.html)

1. (Facultatif) Choisissez comment votre tâche planifiée est distribuée dans votre infrastructure de cluster. Développer **Compute configuration** (Configuration de calcul), puis procédez comme suit :    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonECS/latest/developerguide/tutorial-efs-volumes.html)

1. Pour **Application type (Type d'application)**, choisissez **Task (Tâche)**.

1. Pour **Task Definition** (Définition de tâche), choisissez la définition de tâche `efs-tutorial` que vous avez créée précédemment.

1. Pour **Desired tasks** (Tâches souhaitées), saisissez `1`.

1. Choisissez **Créer**.

1. Sur la page **Cluster**, choisissez **Infrastructure**.

1. Sous **Instances de conteneur**, sélectionnez l'instance de conteneur à laquelle vous connecter.

1. Sur la page **Container Instance** (Instance de conteneur), sous **Networking** (Mise en réseau), enregistrez **Public IP** (IP publique) pour votre instance.

1. Ouvrez un navigateur et saisissez l'adresse IP publique. Vous devez voir le message suivant :

   ```
   It works!
   You are using an Amazon EFS file system for persistent container storage.
   ```
**Note**  
Si le message ne s'affiche pas, assurez-vous que le groupe de sécurité de votre instance de conteneur autorise le trafic réseau entrant sur le port 80 et que le groupe de sécurité de votre système de fichiers autorise l'accès entrant depuis l'instance de conteneur.