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

Dernière mise à jour : 02/08/2022

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. Si vous avez besoin de plus de 20 Gio de stockage, vous pouvez configurer davantage de stockage à l'aide de deux options :

  • Utilisez l'option de magasin éphémère de Fargate pour stocker jusqu'à 200 Gio. Le magasin éphémère est un stockage non permanent.
  • Utilisez les volumes Amazon Elastic File System (Amazon EFS) pour un stockage de fichiers évolutif. Les volumes Amazon EFS fournissent un stockage permanent.

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

Solution

Configuration du magasin éphémère

Remarque : si vous recevez des erreurs lors de l'exécution de commandes depuis l'interface de la ligne de commande AWS (AWS CLI), assurez-vous d'utiliser la version la plus récente de l'AWS CLI.

Pour plus d'exemples de configuration du magasin éphémère, veuillez consulter la section Exemples de montage lié.

Configuration du stockage avec des volumes Amazon EFS

1.    Créez un groupe de sécurité pour vos cibles de montage Amazon EFS. Ajoutez ensuite une règle de trafic entrant afin d'accepter le trafic NFS sur le port 2049 en provenance 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 : le containerPath est le chemin à l'intérieur du conteneur où vous montez le volume. Le sourceVolume est le nom de votre volume tel que 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.


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


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