Pourquoi ne puis-je pas monter mes volumes Amazon EFS sur mes tâches AWS Fargate ?

Dernière mise à jour : 14/09/2022

Je reçois des erreurs lorsque je monte mes volumes Amazon Elastic File System (Amazon EFS) sur mes tâches AWS Fargate.

Résolution

Amazon EFS fournit une solution de stockage permanent pour vos tâches Fargate de sorte à vous permettre de partager des fichiers et des données sur différentes tâches.

Il se peut que vous ne puissiez pas monter vos volumes Amazon EFS sur vos tâches Fargate pour une ou plusieurs des raisons suivantes :

  • Le système de fichiers Amazon EFS n'est pas configuré correctement.
  • Le rôle IAM de la tâche Amazon Elastic Container Service (Amazon ECS) ne dispose pas des autorisations requises.
  • Certains problèmes sont liés aux configurations réseau et Amazon Virtual Private Cloud (Amazon VPC).

L'une des erreurs suivantes peut s'afficher lorsque vous tentez de monter votre volume EFS sur votre tâche Fargate.

ResourceInitializationError : échec de l'appel des commandes utils d'EFS pour configurer les volumes EFS : stderr : b'mount.nfs4 : délai de connexion expiré' : échec de l'exécution des commandes utils d'EFS ; code : 32

Cette erreur se produit lorsque votre tâche Fargate ne parvient pas à se connecter au système de fichiers EFS en raison de la synchronisation de la connexion. Afin de corriger cette erreur, suivez les étapes suivantes :

1.    Ouvrez la console Amazon EFS.

2.    Dans le panneau de navigation, sélectionnez File systems (Systèmes de fichiers).

3.    Choisissez le système de fichiers à vérifier en sélectionnant son nom ou l'ID du système de fichiers.

4.    Sélectionnez Network (Réseau) pour afficher la liste des cibles de montage existantes.

5.    Sélectionnez Manage (Gérer).
Vous pouvez afficher le groupe de sécurité et les règles de trafic entrant du groupe de sécurité pour les cibles de montage.

Assurez-vous que la règle de trafic entrant pour le groupe de sécurité autorise le trafic provenant du groupe de sécurité des tâches Fargate sur le port 2049. Assurez-vous également que le trafic réseau est autorisé au niveau du sous-réseau en vérifiant que la liste de contrôle d'accès réseau autorise le trafic entre le système de fichiers et la tâche. Si le trafic n'est pas autorisé, modifiez les règles en conséquence. Pour plus d'informations, veuillez consulter la section Sécurité de la page VPC avec sous-réseaux publics et privés (NAT) (Langue Français non garanti).

« ResourceInitializationError: failed to invoke EFS utils commands to set up EFS volumes: stderr: mount.nfs4: Connection reset by peer : unsuccessful EFS utils command execution; code: 32 » (Échec de l'appel des commandes utils d'EFS pour configurer les volumes EFS, réinitialisation de la connexion par un pair : échec de l'exécution des commandes utils d'EFS)

Vous obtenez cette erreur dans les conditions suivantes :

  • Vous avez monté le système de fichiers EFS immédiatement après la création du système de fichiers.
  • Le groupe de sécurité de la cible de montage n'autorise pas le trafic entrant en provenance des tâches Fargate sur le port 2049.

Afin de résoudre ce problème, procédez comme suit :

  • Après avoir créé une cible de montage, la propagation complète des enregistrements DNS dans une région peut prendre jusqu'à 90 secondes. Par conséquent, si vous créez et montez des systèmes de fichiers par programmation, par exemple avec un modèle AWS CloudFormation, il est recommandé d'implémenter une condition d'attente pour éviter ce problème.
  • Assurez-vous que la règle de trafic entrant pour le groupe de sécurité attaché aux cibles de montage du système de fichiers EFS autorise le trafic sur le port 2049 à partir des tâches Fargate.

ResourceInitializationError : échec de l'appel des commandes utils d'EFS pour configurer les volumes EFS : stderr : échec de la résolution de « fs-xxxxxxxxxxx.efs.us-east-1.amazonaws.com » – vérifiez que l'ID de votre système de fichiers est correct

Cette erreur s'affiche généralement dans l'une des conditions suivantes :

  • La cible de montage du système de fichiers EFS n'est pas créée ou disponible dans une zone de disponibilité où les tâches Fargate sont lancées.
  • Vous utilisez un serveur DNS personnalisé pour le VPC.
  • Les noms d'hôtes DNS de VPC sont désactivés. Notez que les noms d'hôtes DNS sont désactivés par défaut.

Afin de résoudre ce problème, suivez les étapes suivantes :

ResourceInitializationError : échec de l'appel des commandes utils d'EFS pour configurer les volumes EFS : stderr : b'mount.nfs4 : accès refusé par le serveur lors du montage de 127.0.0.1:/' : échec de l'exécution des commandes utils d'EFS ; code : 32

Cette erreur s'affiche lorsque l'accès au système de fichiers est refusé par la politique du système de fichiers, la politique de rôle de tâche ou les autorisations au niveau du système de fichiers POSIX.

L'accès à un système de fichiers EFS peut être contrôlé par des autorisations définies dans la liste de contrôle d'accès réseau, le groupe de sécurité, les politiques du système de fichiers EFS, la politique IAM du rôle de tâche ECS et le fichier POSIX. Pour plus d'informations, consultez Developers guide to using Amazon EFS with Amazon ECS and AWS Fargate – Part 2.

Pour résoudre cette erreur, vérifiez si la politique du système de fichiers ou la politique IAM du rôle de tâche ECS refuse l'accès au système de fichiers. Si ces politiques refusent des autorisations, modifiez-les afin d'accorder des autorisations d'accès au système de fichiers. Si la politique du système de fichiers n'existe pas, l'accès au système de fichiers est accordé par défaut à tous les principaux lors de la création du système de fichiers.