Comment puis-je monter un volume Amazon EFS sur une instance de mon environnement Elastic Beanstalk ?

Dernière mise à jour : 25/09/2020

Je veux monter un volume Amazon Elastic File System (Amazon EFS) sur une instance de mon environnement AWS Elastic Beanstalk.

Brève description

Dans un environnement Elastic Beanstalk, vous pouvez utiliser Amazon EFS pour créer un répertoire partagé qui stocke les fichiers chargés ou modifiés par les utilisateurs de votre application. Votre application peut traiter un volume Amazon EFS monté comme un stockage local. Vous n'avez donc pas besoin de modifier le code de votre application pour mettre à l'échelle plusieurs instances.

Vous devez inclure des fichiers de configuration dans votre code source afin de pouvoir monter un volume Amazon EFS sur une instance Amazon Elastic Compute Cloud (Amazon EC2) dans votre environnement Elastic Beanstalk.

Solution

1.    Créez un système de fichiers Amazon EFS et relevez l'ID EFS et l’ID du groupe de sécurité.

2.    Pour autoriser les connexions, modifiez les règles du groupe de sécurité du système de fichiers afin d'autoriser les connexions entrantes sur le port 2049 (Network File System, ou NFS) à partir du groupe de sécurité associé aux instances de votre environnement Elastic Beanstalk.

3.    Mettez à jour le groupe de sécurité de l'instance pour autoriser les connexions sortantes sur le port 2049 vers le groupe de sécurité EFS.

Remarque : Si vous montez les cibles de montage d'un sous-réseau sur un environnement dans un autre sous-réseau, le groupe de sécurité Amazon EFS doit autoriser les connexions entrantes sur le port 2049 à partir de votre CIDR Amazon Virtual Private Cloud (Amazon VPC).

4.    Dans la racine de votre solution groupée d'application, créez un répertoire dénommé .ebextensions.

5.    Ajoutez un fichier de configuration formaté (YAML ou JSON) à votre répertoire.

Important : ajoutez l'ID du système de fichiers dans le fichier de configuration. Remplacez FILE_SYSTEM_ID: {"Ref" : "FileSystem"} par FILE_SYSTEM_ID: fs-xxxxxxxx. Le fichier de configuration inclut un script qui ajoute une entrée dans le fichier de configuration système fstab (table système de fichiers) et monte tous les systèmes de fichiers (-a) répertoriés dans le fichier fstab de type (-t) nfs4. nfs4 est toujours le type pour Amazon EFS. Les systèmes de fichiers répertoriés dans le fichier fstab sont automatiquement montés à l'aide de la commande mount -a lors du déploiement.

6.    Déployez le code source qui inclut le fichier de configuration de l'étape 5 vers votre application Elastic Beanstalk.

7.    Exécutez la commande suivante pour confirmer que votre volume Amazon EFS est monté sur votre instance sur le chemin de montage spécifié :

df -H

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


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