Comment puis-je augmenter l'espace disque pour mon conteneur Amazon ECS sur Fargate ?

Dernière mise à jour : 17/12/2020

Je souhaite augmenter l'espace disque pour mon conteneur Amazon Elastic Container Service (Amazon ECS) sur AWS Fargate.

Brève description

Par défaut, les tâches Fargate lancées avec la version 1.40 de la plateforme incluent une taille de stockage de tâches de 20 Go en tant que volume éphémère unique. Les tâches utilisant le type de lancement Fargate comprennent la prise en charge du système de fichiers Amazon Elastic File System (Amazon EFS) pour la plateforme version 1.4.0 ou ultérieure. Pour plus d'informations, consultez les versions disponibles de la plateforme AWS Fargate.

Si la machine hôte de conteneur sous-jacent ne dispose plus d’espace de stockage sur disque, le message d'erreur « Plus aucun espace sur le périphérique » s'affiche. Cela signifie que votre charge de travail d'application exécutée à l'intérieur du conteneur nécessite un stockage volumineux ou persistant pour traiter de grands jeux de données et fichiers. Vous pouvez résoudre cette erreur en intégrant les tâches Fargate aux volumes Amazon EFS.

Important : lorsque vous créez un volume Amazon EFS, utilisez le même VPC Amazon Virtual Private Cloud et les mêmes sous-réseaux que ceux attribués à votre service Fargate.

Résolution

1.    Créez un groupe de sécurité pour vos cibles de montage Amazon EFS, puis ajoutez une règle entrante pour accepter le trafic NFS sur le port 2049 à partir du groupe de sécurité des tâches de la source.

2.    Créez un système de fichiers Amazon EFS, puis attachez le groupe de sécurité de l'étape 1 à vos cibles de montage.

Remarque : par défaut, une cible de montage est configurée dans chaque zone de disponibilité d'une région AWS donnée. Sélectionnez toutes les zones de disponibilité où se trouvent les sous-réseaux VPC du service Fargate.

3.    Notez l'ID de votre système de fichiers (par exemple, fs-12345678).

4.    Créez ou mettez à jour une définition de tâche pour configurer un volume pour la tâche Amazon ECS qui possède votre système de fichiers Amazon EFS. Par exemple :

"volumes": [ 
   {
      "name": "efs-test-volume",
      "efsVolumeConfiguration": {
           "fileSystemId": "fs-12345678", 
           "transitEncryption": "ENABLED" 
      }
   } 
 ]

Remarque : remplacez fs-12345678 par l'ID de votre système de fichiers.

5.    Utilisez une section de définitions de conteneur pour créer un point de montage pour le volume à l'intérieur de votre conteneur. Par exemple :

"containerDefinitions": [ 
{
   "memory": 128, 
    "portMappings": [ 
       {
          "hostPort": 80, 
          "containerPort": 80, 
           "protocol": "tcp" 
        } 
     ], 
     "essential": true, 
     "mountPoints": [ 
        {
        "containerPath": "/mount/path/inside/container", 
        "sourceVolume": "efs-test-volume" 
        } 
      ], 
      "name": "nginx", 
      "image": "nginx" 
   }
]

Remarque : leContainerPath est le chemin d'accès à l'intérieur du conteneur où vous montez le volume. Le SourceVolume doit porter le même nom que celui défini à l'étape 4.

6.    Exécutez la tâche à l'aide de votre définition de tâche mise à jour.

Remarque : pour les tâches associées au service, mettez à jour le service en sélectionnant une nouvelle révision de définition de tâche.</p


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


Besoin d'aide pour une question technique ou de facturation ?