Comment monter un système de fichiers EFS sur un conteneur ou une tâche ECS qui s’exécute sur EC2 ?

Dernière mise à jour : 18/07/2022

Je souhaite utiliser Amazon Elastic File System (Amazon EFS) avec un conteneur Amazon Elastic Container Service (Amazon ECS) ou des tâches utilisant un type de lancement Amazon Elastic Compute Cloud (Amazon EC2). Comment procéder ?

Courte description

Vous pouvez monter un système de fichiers EFS sur une tâche ou un conteneur s'exécutant sur une instance EC2. Pour ce faire, créez une définition de tâche qui fournit l'identifiant du système de fichiers dans les paramètres de définition de tâche du volume. Cela permet au système de fichiers EFS de se monter automatiquement sur les tâches que vous spécifiez dans votre définition de tâche.

Ressources nécessaires :

Solution

Exigences réseau

  • Le système de fichiers EFS et le cluster ECS doivent se trouver dans le même VPC.
  • Les groupes de sécurité associés au système de fichiers EFS doivent autoriser les connexions entrantes sur le port 2049 (système de fichiers réseau ou NFS) à partir de l'instance de conteneur ECS et de la tâche ECS.
  • Les groupes de sécurité de l'instance ou des tâches ECS doivent autoriser les connexions sortantes sur le port 2049 vers le groupe de sécurité du système de fichiers EFS.

Créer une définition de tâche

1.    Ouvrez la console Amazon ECS et sélectionnezDéfinitions de tâches, Créer une nouvelle définition de tâche.

2.    Choisissez EC2 pour la compatibilité du type de lancement, puis sélectionnez Étape suivante.

3.    Dans Configurer les définitions de tâches et de conteneurs, entrez un nom pour votre définition de tâche.

4.    Dans la section Volumes , choisissez Ajouter un volume.

5.    Entrez le nom du volume, puis sélectionnez EFS dans le menu déroulant Types de volume.

6.    Pour l'identifiant du système de fichiers, sélectionnez l’identifiant du système de fichiers à utiliser avec les tâches ECS.

7.    (Facultatif) Spécifiez le répertoire racine, le chiffrement en transit et l'autorisation IAM EFS si nécessaire en fonction de vos besoins. Si aucune option n'est modifiée, le répertoire racine par défaut "/" est utilisé.

8.    Sélectionnez Ajouter.

9.    Lors de la création du conteneur, sous Définitions de conteneur, sélectionnez Ajouter un conteneur pour utiliser le volume précédemment créé. Ensuite, sous Stockage et journaux dans la sous-section Points de montage, sélectionnez le volume que vous avez créé à l'étape 4.

10.    Pour le chemin du conteneur, choisissez le chemin du répertoire dans le conteneur de votre application, puis choisissez Ajouter.

11.    Remplissez les champs restants de l'assistant de définition de tâche, puis choisissez Create (Créer).

Dans l'exemple suivant, la définition de tâche crée un volume de données nommé efs-ec2-test. Le conteneur nginx monte le volume de données de l'hôte sur le chemin /usr/share/nginx/html.

{
  "containerDefinitions": [
    {
      "memory": 128,
      "portMappings": [
        {
          "hostPort": 80,
          "containerPort": 80,
          "protocol": "tcp"
        }
      ],
      "essential": true,
      "mountPoints": [
        {
          "containerPath": "/usr/share/nginx/html",
          "sourceVolume": "efs-ec2-test"
        }
      ],
      "name": "nginx",
      "image": "nginx"
    }
  ],
  "volumes": [
    {
      "name": "efs-ec2-test",
      "efsVolumeConfiguration": {
        "fileSystemId": "fs-1324abcd",
        "transitEncryption": "ENABLED"
      }
    }
  ],
  "family": "efs-test"
}

Remarque : remplacez les paramètres fileSystemid, containerPath et d'autres paramètres de définition de tâche par les valeurs de votre configuration personnalisée.

Dans l'exemple précédent, vous pouvez créer un exemple de fichier index.html dans le répertoire racine du système de fichiers avec le contenu suivant :

<html>
  <body>
    <h1>You are using an Amazon EFS file system for persistent container storage.</h1>
  </body>
</html>

Exécuter une tâche ECS

1.    Exécutez la tâche ECS à l'aide de la définition de tâche créée précédemment.

2.    Assurez-vous que le système de fichiers EFS se monte correctement sur le conteneur EC2 en accédant au site Web à l'aide de l'adresse IP publique de l'instance ECS.


Cet article vous a-t-il été utile ?


Avez-vous besoin d'aide pour une question technique ou de facturation ?