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

Date de la dernière mise à jour : 15/06/2021

Je souhaite monter un volume Amazon Elastic File System (Amazon EFS) sur une instance Amazon Elastic Compute Cloud (Amazon EC2). L'instance se trouve dans 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 téléchargés ou modifiés par les utilisateurs de votre application. Votre application peut traiter un volume Amazon EFS monté comme un stockage local. Par conséquent, il n'est pas nécessaire de modifier le code de votre application pour augmenter la capacité à 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 EC2 dans votre environnement Elastic Beanstalk.

Résolution

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

2.    Modifiez les règles du groupe de sécurité du système de fichiers pour autoriser les connexions. Les règles doivent autoriser les connexions entrantes sur le port 2049 (Network File System, ou NFS) à partir du groupe de sécurité pour les 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é Amazon.EFS.

Remarque : le groupe de sécurité Amazon EFS doit autoriser les connexions entrantes lorsque vous montez les cibles de montage d'un sous-réseau sur un environnement dans un sous-réseau différent. Il s'agit des connexions entrantes sur le port 2049 depuis 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 monte le système de fichiers Amazon EFS sur l'instance pendant le 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 ?