Pourquoi mon système de fichiers Amazon EFS est-il en lecture seule ?

Dernière mise à jour : 29/06/2020

Mon système de fichiers Amazon Elastic File System (Amazon EFS) est disponible et monté correctement sur mon instance Amazon Elastic Compute Cloud (Amazon EC2), mais je ne peux pas y écrire. Comment résoudre ce problème ?

Brève description

Voici deux problèmes courants qui vous empêchent d'écrire dans votre système de fichiers :

  • L'option de montage du fichier /etc/fstab est définie sur l'accès en lecture seule.
  • La politique AWS Identity and Access Management (IAM) associée indique un accès en lecture seule ou un accès racine désactivé.

Solution

Remarque : cette solution utilise l'assistant de montage Amazon EFS. L'assistant de montage Amazon EFS est préinstallé sur Amazon Linux. Si vous utilisez une autre distribution, consultez Installation du package amazon-efs-utils sur d'autres distributions Linux.

Vérifiez que les options de montage sont correctes dans le fichier /etc/fstab

1.    Exécutez la commande suivante pour vérifier les options de montage actuelles du système de fichiers :

$ mount -t nfs4

Dans l'exemple de sortie suivant, la variable ro indique que le système de fichiers autorise actuellement l'accès en lecture seule.

file-system-id.efs.region.amazonaws.com:/ on /efs type nfs4 (ro,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,noresvport,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.0.2.0,local_lock=none,addr=192.0.0.0)

2.    Remplacez le paramètre de montage par rw (accès en lecture/écriture) dans le fichier /etc/fstab à l'aide d'un outil d'édition tel que vi :

Remarque : remplacez file-system-id par l'ID de votre système de fichiers.

file-system-id:/ efs-mount-point efs rw,_netdev 0 0

3.    Exécutez la commande suivante pour démonter et remonter le système de fichiers.

$ sudo mount -o remount,rw /efs -t efs && mount -t nfs4
file-system-id.efs.region.amazonaws.com:/ on /efs type nfs4 (rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,noresvport,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=190.0.2.0,local_lock=none,addr=190.0.2.0)

4.    Créez ou modifiez un fichier dans le système de fichiers pour vérifier que vous pouvez écrire dans le système de fichiers.

Vérifier que les autorisations sont définies correctement

1.    Ouvrez la console Amazon EFS.

Remarque : assurez-vous que vous êtes dans la même région que votre système de fichiers Amazon EFS.

2.    Sélectionnez le système de fichiers à vérifier, puis choisissez Actions, Gérer l'accès client.

3.    Sous l'onglet Paramètres de la politique, désélectionnez les options suivantes, si elle sont cochées :

Désactiver l'accès racine par défaut
Appliquer l'accès en lecture seule par défaut

4.    Sélectionnez Définir une politique.

5.    Sélectionnez Enregistrer la politique.

6.    Exécutez la commande umount pour démonter le système de fichiers.

$ sudo umount /efs

7.    Exécutez la commande de mount pour monter à nouveau le système de fichiers afin d'appliquer les modifications.

Remarque : remplacez file-system-id par l'ID de votre système de fichiers.

$ sudo mount -t efs -o iam fs-file-system-id /efs

8.    Ajoutez la ligne suivante à /etc/fstab pour rendre le nouveau montage permanent après le redémarrage à l'aide d'un outil d'édition tel que vi :

Montez avec l'autorisation IAM sur une instance qui possède un profil d'instance :

file-system-id:/ efs-mount-point efs _netdev,iam 0 0

Montez avec l'autorisation IAM sur une instance Linux à l'aide d'un fichier d'informations d'identification :

file-system-id:/ efs-mount-point efs _netdev,iam,awsprofile=namedprofile 0 0

Montez à l'aide d'un point d'accès EFS :

file-system-id efs-mount-point efs _netdev,accesspoint=access-point-id 0 0

Pour plus d'informations, consultez Utilisation de /etc/fstab pour monter automatiquement.

9.    Créez ou modifiez un fichier dans le système de fichiers pour vérifier que vous pouvez écrire dans le système de fichiers.