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

Dernière mise à jour : 29-01-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.

Résolution

Configuration du magasin éphémère

  1. Accédez à la console Amazon ECS.
  2. Modifiez une définition de tâche existante ou créez-en une nouvelle.
  3. Sous Volumes, sélectionnez Configurer via JSON.
  4. Dans le fichier JSON de définition de tâche, définissez un objet ephemeralStorage. La valeur sizeInGiB doit être un nombre entier compris entre 21 et 200. Par exemple :
"ephemeralStorage": {    "sizeInGiB": integer}

Remarque : remplacez le nombre entier par le nombre de Gio de stockage nécessaire. Pour plus d'exemples de configuration du magasin éphémère, consultez Exemples de montage Bind.

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 pour 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.

  • 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 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.
  • 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 ?


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