Amazon Elastic File System (Amazon EFS) - Amazon Elastic Compute Cloud

Amazon Elastic File System (Amazon EFS)

Amazon EFS offre un stockage de fichiers scalable, destiné à être utilisé avec Amazon EC2. Vous pouvez créer un système de fichiers EFS et configurer vos instances afin de l'installer. Vous pouvez utiliser un système de fichiers EFS comme source de données commune aux charges de travail et applications exécutées sur plusieurs instances. Pour plus d'informations, consultez la page produit d'Amazon Elastic File System.

Dans ce didacticiel, vous créez un système de fichiers EFS et deux instances Linux qui peuvent partager des données à l'aide du système de fichiers.

Important

Amazon EFS n'est pas pris en charge par les instances Windows.

Prérequis

  • Créez un groupe de sécurité (par exemple, efs-sg) à associé aux instances EC2 et à la cible de montage EFS, puis ajoutez les règles suivantes :

    • Autoriser les connexions SSH entrantes aux instances EC2 en provenance de votre ordinateur (avec le bloc d'adresse CIDR de votre réseau comme source).

    • Autoriser les connexions NFS entrantes au système de fichiers via la cible de montage EFS depuis les instances EC2 associées à ce groupe de sécurité (avec le groupe de sécurité lui-même en tant que source). Pour plus d'informations, consultez Règles Amazon EFS et Création de groupes de sécurité dans le Amazon Elastic File System Guide de l'utilisateur.

  • Créer une paire de clé. Vous devez indiquer une paire de clés lorsque vous configurez vos instances, à défaut de quoi vous ne pourrez vous y connecter. Pour plus d'informations, consultez Création d'une paire de clés.

Étape 1 : Créer un système de fichiers EFS

Amazon EFS vous permet de créer un système de fichiers que plusieurs instances peuvent monter et auquel elles peuvent simultanément accéder. Pour plus d'informations, consultez Création de ressources pour Amazon EFS dans le Amazon Elastic File System Guide de l'utilisateur.

Pour créer un système de fichiers

  1. Ouvrez la console Amazon Elastic File System à l'adresse https://console.aws.amazon.com/efs/.

  2. Choisissez Create file system.

  3. (Facultatif) Pour Nom, tapez un nom pour le système de fichiers. Une balise ayant la clé Nom et le nom du système de fichiers comme valeur est alors créée.

  4. Pour Virtual Private Cloud, sélectionnez le VPC à utiliser pour vos instances.

  5. Sélectionnez Créer.

  6. Une fois le système de fichiers créé, notez son ID, car vous en aurez besoin dans la suite de ce didacticiel.

  7. Dans la page Systèmes de fichiers, choisissez Réseau, Créer une cible de montage. Pour chaque zone de disponibilité de vos instances, choisissez Ajouter une cible de montage et fournissez les informations demandées. Vérifiez que la valeur Groupe de sécurité correspond au groupe de sécurité que vous avez créé dans Prérequis.

Étape 2 : Monter le système de fichiers

Utilisez la procédure suivante pour lancer deux instances t2.micro. Le script de données utilisateur monte le système de fichiers sur les deux instances lors du lancement et met à jour /etc/fstab pour garantir le remontage du système de fichiers en cas de redémarrage d'une instance. Notez que les instances T2 doivent être lancées dans un sous-réseau. Vous pouvez utiliser un VPC par défaut ou un VPC personnalisé.

Note

Il existe d'autres façons de monter le volume (par exemple, sur une instance déjà en cours d'exécution). Pour plus d'informations, consultez la section Montage des systèmes de fichiers du Amazon Elastic File System Guide de l'utilisateur.

Pour lancer deux instances et monter un système de fichiers EFS

  1. Ouvrez la console Amazon EC2 à l'adresse https://console.aws.amazon.com/ec2/.

  2. Choisissez Launch Instances.

  3. Sur la page Choose an Amazon Machine Image, sélectionnez une AMI Amazon Linux avec le type de virtualisation HVM.

  4. Sur la page Choose an Instance Type, conservez le type d'instance par défaut t2.micro et choisissez Next: Configure Instance Details.

  5. Sur la page Configure Instance Details, procédez de la façon suivante :

    1. Pour Number of instances, saisissez 2.

    2. [VPC par défaut] Si vous avez un VPC par défaut, il correspond à la valeur par défaut du champ Network. Conservez le VPC par défaut et la valeur par défaut du champ Subnet pour utiliser le sous-réseau par défaut dans la zone de disponibilité choisie par Amazon EC2 pour vos instances.

      [VPC personnalisé] Sélectionnez votre VPC dans le champ Network et un sous-réseau public dans Subnet.

    3. [VPC personnalisé] Dans Auto-assign Public IP, choisissez Enable. Dans le cas contraire, vos instances n'obtiennent pas d'adresses IP publiques ni de noms DNS publics.

    4. Sous Advanced Details, sélectionnez As text et collez le script suivant dans le champ User data. Mettez à jour la valeur FILE_SYSTEM_ID en indiquant l'ID de votre système de fichiers. Le cas échéant, vous pouvez indiquer un répertoire pour votre système de fichiers monté dans MOUNT_POINT.

      IMDSv2
      #!/bin/bash yum update -y yum install -y nfs-utils FILE_SYSTEM_ID=fs-xxxxxxxx TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` AVAILABILITY_ZONE=$(curl -H "X-aws-ec2-metadata-token: $TOKEN" -s http://169.254.169.254/latest/meta-data/placement/availability-zone) REGION=${AVAILABILITY_ZONE:0:-1} MOUNT_POINT=/mnt/efs mkdir -p ${MOUNT_POINT} chown ec2-user:ec2-user ${MOUNT_POINT} echo ${FILE_SYSTEM_ID}.efs.${REGION}.amazonaws.com:/ ${MOUNT_POINT} nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,_netdev 0 0 >> /etc/fstab mount -a -t nfs4
      IMDSv1
      #!/bin/bash yum update -y yum install -y nfs-utils FILE_SYSTEM_ID=fs-xxxxxxxx AVAILABILITY_ZONE=$(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone ) REGION=${AVAILABILITY_ZONE:0:-1} MOUNT_POINT=/mnt/efs mkdir -p ${MOUNT_POINT} chown ec2-user:ec2-user ${MOUNT_POINT} echo ${FILE_SYSTEM_ID}.efs.${REGION}.amazonaws.com:/ ${MOUNT_POINT} nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,_netdev 0 0 >> /etc/fstab mount -a -t nfs4
    5. Passez à l'étape 6 de l'assistant.

  6. Sur la page Configure Security Group, cliquez sur Select an existing security group et sélectionnez le groupe de sécurité créé dans la section Prérequis, puis sélectionnez Review and Launch.

  7. Sur la page Review Instance Launch, sélectionnez Launch.

  8. Dans la boîte de dialogue Select an existing key pair or create a new key pair, sélectionnez Choose an existing key pair, puis choisissez votre paire de clés. Cochez la case de confirmation, puis sélectionnez Launch Instances.

  9. Dans le panneau de navigation, choisissez Instances pour voir l'état de vos instances. Leur état d'origine est pending. Lorsqu'elles passent à l'état running, vos instances sont prêtes à être utilisées.

Étape 3 : Tester le système de fichiers

Vous pouvez vous connecter à vos instances et vérifier que le système de fichiers est bien monté dans le répertoire que vous avez indiqué (par exemple, /mnt/efs).

Pour vérifier que le système de fichiers est bien monté

  1. Connectez-vous à vos instances. Pour plus d'informations, consultez Connectez-vous à votre instance Linux.

  2. Dans la fenêtre du terminal de chaque instance, exécutez la commande df -T pour vérifier que le système de fichiers EFS est bien monté.

    $ df -T Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/xvda1 ext4 8123812 1949800 6073764 25% / devtmpfs devtmpfs 4078468 56 4078412 1% /dev tmpfs tmpfs 4089312 0 4089312 0% /dev/shm efs-dns nfs4 9007199254740992 0 9007199254740992 0% /mnt/efs

    Notez que le nom du système de fichiers, qui s'affiche comme efs-dns dans l'exemple de résultat, est au format suivant :

    file-system-id.efs.aws-region.amazonaws.com:/
  3. (Facultatif) Créez un fichier dans le système de fichiers à partir d'une instance, et vérifiez ensuite que vous pouvez consulter ce fichier à partir de l'autre instance.

    1. Dans la première instance, exécutez la commande suivante pour créer le fichier :

      $ sudo touch /mnt/efs/test-file.txt
    2. Dans la deuxième instance, exécutez la commande suivante pour afficher le fichier :

      $ ls /mnt/efs test-file.txt

Étape 4 : Nettoyage

Lorsque vous avez terminé ce didacticiel, vous pouvez résilier les instances et supprimer le système de fichiers.

Pour résilier les instances

  1. Ouvrez la console Amazon EC2 à l'adresse https://console.aws.amazon.com/ec2/.

  2. Dans le panneau de navigation, choisissez Instances.

  3. Sélectionnez les instances à résilier.

  4. Choisissez Actions, Instance State, Terminate.

  5. Sélectionnez Oui, résilier lorsque vous êtes invité à confirmer l'opération.

Pour supprimer le système de fichiers

  1. Ouvrez la console Amazon Elastic File System à l'adresse https://console.aws.amazon.com/efs/.

  2. Sélectionnez le système de fichiers à supprimer.

  3. Choisissez Actions, Delete file system.

  4. À l'invite de confirmation, saisissez l'ID du système de fichiers et sélectionnez Delete File System.