Comment implémenter AWS EFS pour partager le système de fichiers entre EC2 ?
Dans le cadre d'un environnement applicatif distribué sur plusieurs serveurs, il est souvent nécessaire de mettre en place un système de fichiers partagé. Le protocole NFS (Network File System) est une solution classique pour atteindre cet objectif.
Bien que NFS permette le partage de systèmes de fichiers entre différents serveurs, sa configuration et sa gestion requièrent une certaine expertise en administration système.
Dans une infrastructure traditionnelle, la mise en œuvre de NFS peut impliquer plusieurs équipes et prendre un temps considérable. Cependant, avec AWS, il est possible de réaliser cette opération en quelques minutes grâce au service EFS (Elastic File System).
AWS EFS offre une solution de stockage de fichiers évolutive, idéale pour les instances EC2. Plus besoin de se soucier des prévisions de capacité, car l'espace de stockage s'adapte dynamiquement aux besoins.
Pour illustrer le fonctionnement d'EFS, voici un aperçu tiré de la documentation AWS :
Les avantages d'EFS sont multiples :
- Service entièrement géré par AWS.
- Facturation à l'usage, optimisant les coûts.
- Haute disponibilité et durabilité des données.
- Adaptation automatique de la capacité de stockage.
- Performances évolutives en fonction des besoins.
Ce tutoriel vous guidera à travers la création d'un système EFS et son montage sur deux instances EC2 Ubuntu.
Commençons sans plus tarder.
- Connectez-vous à la console AWS.
- Dans la section "Services", sélectionnez EFS sous la catégorie "Stockage" (lien direct).
- Cliquez sur "Créer un système de fichiers".

- AWS attribuera automatiquement une adresse IP dans une zone de disponibilité. Vous pourrez modifier cette configuration lors de l'étape suivante si nécessaire.

- Ajoutez des balises pour organiser vos ressources. Choisissez le mode de performance entre "Usage général" et "E/S max".

- Vérifiez les paramètres et cliquez sur "Créer un système de fichiers".
La création du système de fichiers peut prendre quelques instants. Une fois terminée, un message de confirmation s'affichera.
Félicitations !
Vous venez de créer un système de fichiers EFS. Il peut être monté à partir d'une instance EC2 à l'aide d'un client NFSv4.1, ou même à partir d'un serveur on-premise via une connexion AWS Direct Connect.
Votre nouveau système de fichiers élastique devrait apparaître dans la liste.

Cette étape conclut la création du système EFS. Vous êtes maintenant prêt à le monter sur vos instances EC2.
Montage d'EFS sur EC2
Avant de procéder au montage, il est nécessaire d'installer le client NFS. En déroulant la section "Instructions de montage Amazon EC2", vous trouverez les détails nécessaires.

Voyons comment effectuer le montage en pratique.
- Connectez-vous aux deux instances EC2 et installez le client NFS. La commande suivante est adaptée à Ubuntu :
apt-get install nfs-common
- Créez un répertoire dans lequel vous souhaitez monter l'EFS.
Par exemple : /apps
cd / mkdir apps
Montez le système de fichiers en utilisant la commande fournie dans les instructions.
Exemple :
mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 fs-4fd14a06.efs.us-east-1.amazonaws.com:/ apps
Important : Si vous rencontrez des difficultés lors du montage, consultez ce guide de dépannage et vérifiez les points suivants dans les groupes de sécurité:
- Le port NFS (2049) est autorisé dans les règles entrantes de l'instance EC2.
- Les groupes de sécurité de l'instance EC2 sont autorisés dans les groupes de sécurité de l'EFS.
Après quelques instants, le répertoire /apps sera monté. Vous pouvez le vérifier avec la commande df -h :
[email protected]:/# df -h | grep apps fs-4fd14a06.efs.us-east-1.amazonaws.com:/ 8.0E 0 8.0E 0% /apps [email protected]:/#
Répétez les étapes de création du répertoire et de montage sur les autres serveurs où vous souhaitez accéder au point de montage /apps.
Pour vérifier, j'ai monté l'EFS sur un second serveur. L'accès au répertoire /apps est possible depuis les deux instances.
[email protected]:/apps# df -h | grep apps fs-4fd14a06.efs.us-east-1.amazonaws.com:/ 8.0E 0 8.0E 0% /apps [email protected]:/apps#
Facile, n'est-ce pas ?
J'ai testé la création de quelques fichiers. Les performances sont globalement satisfaisantes. AWS EFS est une solution prometteuse pour le partage de systèmes de fichiers entre instances EC2. Je vous encourage à l'essayer, vous ne serez pas déçu.
Envie d'approfondir vos connaissances sur AWS? Jetez un coup d'œil à ce cours Udemy.
Cet article vous a plu ? N'hésitez pas à le partager !