Tutoriel : créer un système de EFS fichiers et le monter sur une EC2 instance à l'aide du AWS CLI - Amazon Elastic File System

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Tutoriel : créer un système de EFS fichiers et le monter sur une EC2 instance à l'aide du AWS CLI

Créez un système de EFS fichiers chiffré, montez-le sur une EC2 instance de votre ordinateur VPC et testez la configuration à l'aide du AWS CLI.

Note

Dans le Premiers pas didacticiel, vous utilisez la console pour créer Amazon EC2 et EFS des ressources. Dans ce didacticiel, vous utiliserez le AWS CLI pour faire de même, principalement pour vous familiariser avec Amazon. EFS API

Dans ce didacticiel, vous allez créer les AWS ressources suivantes dans votre compte :

  • EC2Ressources Amazon :

    • Deux groupes de sécurité (pour votre EC2 instance et votre système de EFS fichiers).

      Vous ajoutez des règles à ces groupes de sécurité afin d’autoriser un accès entrant/sortant approprié. Cela vous permet EC2instance de vous connecter au système de fichiers via la cible de montage en utilisant un TCP port standard NFSv4 .1.

    • Une EC2 instance dans votreVPC.

  • EFSRessources Amazon :

    • Un système de fichiers.

    • Une cible de montage pour votre système de fichiers.

      Pour monter votre système de fichiers sur une EC2 instance, vous devez créer une cible de montage dans votreVPC. Vous pouvez créer une cible de montage dans chacune des zones de disponibilité de votreVPC. Pour plus d’informations, consultez Comment EFS fonctionne Amazon.

Ensuite, vous testez le système de fichiers sur votre EC2 instance. L'étape de nettoyage à la fin du didacticiel fournit des informations vous permettant de supprimer ces ressources.

Le didacticiel crée toutes ces ressources dans la région de l'ouest des États-Unis (Oregon) (us-west-2). Peu importe ce que Région AWS vous utilisez, assurez-vous de l'utiliser régulièrement. Toutes vos ressources (les vôtresVPC, les ressources et EC2 les ressources) EFS doivent être identiques. Région AWS

Prérequis

  • Vous pouvez utiliser vos informations d'identification root pour vous connecter Compte AWS à la console et essayer l'exercice de mise en route. Toutefois, AWS Identity and Access Management (IAM) vous recommande de ne pas utiliser les informations d'identification root de votre Compte AWS. Au lieu de cela, créez un administrateur dans votre compte et utilisez ces informations d’identification pour gérer les ressources de votre compte. Au lieu de cela, créez un administrateur dans votre compte et utilisez ces informations d’identification pour gérer les ressources de votre compte. Pour plus d'informations, voir Attribuer un Compte AWS accès à un utilisateur IAM d'Identity Center dans le guide de AWS IAM Identity Center l'utilisateur.

  • Vous pouvez utiliser une valeur par défaut VPC ou personnalisée VPC que vous avez créée dans votre compte. Pour cette procédure pas à pas, la VPC configuration par défaut fonctionne. Toutefois, si vous utilisez une option personnaliséeVPC, vérifiez les points suivants :

  • Vous devez configurer AWS CLI et ajouter le profil adminuser.

Configuration du AWS CLI

Suivez les instructions ci-dessous pour configurer le profil utilisateur AWS CLI et.

Pour configurer le AWS CLI
  1. Téléchargez et configurez l’interface AWS CLI. Pour obtenir des instructions, voir Commencer avec le AWS CLI dans le guide de AWS Command Line Interface l'utilisateur.

  2. Définissez des profils.

    Vous stockez les informations d'identification de l'utilisateur dans le AWS CLI config fichier. Les exemples de CLI commandes de ce didacticiel spécifient le profil adminuser. Créez le profil adminuser dans le fichier config. Vous pouvez également définir le profil utilisateur administrateur comme profil par défaut dans le fichier config comme illustré.

    [profile adminuser] aws_access_key_id = admin user access key ID aws_secret_access_key = admin user secret access key region = us-west-2 [default] aws_access_key_id = admin user access key ID aws_secret_access_key = admin user secret access key region = us-west-2

    Le profil précédent définit également la valeur par défaut Région AWS. Si vous ne spécifiez pas de région dans la CLI commande, c'est la région us-west-2 qui est prise en compte.

  3. Vérifiez la configuration en saisissant la commande suivante à l’invite de commande. Ces deux commandes ne fournissent pas directement d’informations d’identification, par conséquent ce sont les informations du profil par défaut qui sont utilisées.

    • Essayez les commandes d’aide

      Vous pouvez également spécifier explicitement le profil utilisateur en ajoutant le paramètre --profile.

      aws help
      aws help \ --profile adminuser

Étape 1 : Création de EC2 ressources

Dans cette étape, vous effectuez les opérations suivantes :

  • Créez deux groupes de sécurité.

  • Ajoutez des règles pour les groupes de sécurité afin d’autoriser un accès supplémentaire.

  • Lancez une instance EC2. Vous allez créer et monter un système de EFS fichiers sur cette instance à l'étape suivante.

Étape 1.1 : Créer deux groupes de sécurité

Dans cette section, vous allez créer des groupes de sécurité dans votre VPC EC2 instance et EFS monter la cible. Plus loin dans le didacticiel, vous attribuerez ces groupes de sécurité à une EC2 instance et à une cible de EFS montage. Pour plus d'informations sur les groupes de sécurité, consultez la section Groupes EC2 de sécurité Amazon pour les instances Linux.

Pour créer des groupes de sécurité
  1. Créez deux groupes de sécurité à l'aide de la create-security-group CLI commande :

    1. Créez un groupe de sécurité (efs-walkthrough1-ec2-sg) pour votre EC2 instance et fournissez votre VPC identifiant.

      $ aws ec2 create-security-group \ --region us-west-2 \ --group-name efs-walkthrough1-ec2-sg \ --description "Amazon EFS walkthrough 1, SG for EC2 instance" \ --vpc-id vpc-id-in-us-west-2 \ --profile adminuser

      Notez l’ID du groupe de sécurité. Voici un exemple de réponse.

      { "GroupId": "sg-aexample" }

      Vous pouvez trouver l'VPCidentifiant à l'aide de la commande suivante.

      $ aws ec2 describe-vpcs

    2. Créez un groupe de sécurité (efs-walkthrough1-mt-sg) pour votre cible de EFS montage. Vous devez fournir votre VPC identifiant.

      $ aws ec2 create-security-group \ --region us-west-2 \ --group-name efs-walkthrough1-mt-sg \ --description "Amazon EFS walkthrough 1, SG for mount target" \ --vpc-id vpc-id-in-us-west-2 \ --profile adminuser

      Notez l’ID du groupe de sécurité. Voici un exemple de réponse.

      { "GroupId": "sg-aexample" }
  2. Vérifiez les groupes de sécurité.

    aws ec2 describe-security-groups \ --group-ids list of security group IDs separated by space \ --profile adminuser \ --region us-west-2

    Les deux doivent avoir une seule règle sortante qui autorise la sortie du trafic.

    Dans la section suivante, vous autorisez un accès supplémentaire qui permet les opérations suivantes :

    • Vous permet de vous connecter à votre EC2 instance.

    • Activez le trafic entre une EC2 instance et une cible de EFS montage (à laquelle vous associerez ces groupes de sécurité plus loin dans ce didacticiel).

Étape 1.2 : Ajouter des règles aux groupes de sécurité afin d’autoriser un accès entrant/sortant

Dans cette étape, vous ajoutez des règles aux groupes de sécurité pour autoriser un accès entrant/sortant.

Ajout de règles
  1. Autorisez les connexions Secure Shell (SSH) entrantes au groupe de sécurité de votre EC2 instance (efs-walkthrough1-ec2-sg) afin de pouvoir vous connecter à votre EC2 instance SSH depuis n'importe quel hôte.

    $ aws ec2 authorize-security-group-ingress \ --group-id id of the security group created for EC2 instance \ --protocol tcp \ --port 22 \ --cidr 0.0.0.0/0 \ --profile adminuser \ --region us-west-2

    Vérifiez que le groupe de sécurité comporte la règle entrante et sortante que vous avez ajoutée.

    aws ec2 describe-security-groups \ --region us-west-2 \ --profile adminuser \ --group-id security-group-id
  2. Autorisez l'accès entrant au groupe de sécurité pour la cible de EFS montage (efs-walkthrough1-mt-sg).

    À l'invite de commande, exécutez la AWS CLI authorize-security-group-ingress commande suivante à l'aide du profil adminuser pour ajouter la règle entrante.

    $ aws ec2 authorize-security-group-ingress \ --group-id ID of the security group created for Amazon EFS mount target \ --protocol tcp \ --port 2049 \ --source-group ID of the security group created for EC2 instance \ --profile adminuser \ --region us-west-2
  3. Vérifiez que les deux groupes de sécurité autorisent maintenant l’accès entrant.

    aws ec2 describe-security-groups \ --group-names efs-walkthrough1-ec2-sg efs-walkthrough1-mt-sg \ --profile adminuser \ --region us-west-2

Étape 1.3 : Lancer une EC2 instance

Au cours de cette étape, vous lancez une EC2 instance.

Pour lancer une instance EC2
  1. Rassemblez les informations suivantes que vous devez fournir lors du lancement d'une EC2 instance :

    • Key pair name. Pour obtenir des instructions sur la création d'une paire de clés, consultez la section Créer une paire de clés pour votre EC2 instance Amazon dans le guide de EC2 l'utilisateur Amazon.

    • L'ID de l'Amazon Machine Image (AMI) que vous souhaitez lancer.

      La AWS CLI commande que vous utilisez pour lancer une EC2 instance nécessite l'ID de l'Amazon Machine Image (AMI) que vous souhaitez déployer en tant que paramètre. L'exercice utilise Amazon Linux HVMAMI.

      Note

      Vous pouvez utiliser la plupart des applications Linux AMIs à usage général. Si vous utilisez un autre système LinuxAMI, assurez-vous d'utiliser le gestionnaire de packages de votre distribution pour installer le NFS client sur l'instance. En outre, vous pouvez avoir besoin d’ajouter des packages logiciels dès que vous en avez besoin.

      Pour Amazon Linux HVMAMI, vous pouvez trouver les dernières nouveautés IDs sur Amazon Linux AMI. Vous choisissez la valeur de l'ID dans le AMI IDs tableau Amazon Linux comme suit :

      • Choisissez la région US West Oregon. Cette procédure suppose que vous créez toutes les ressources dans la région USA Ouest (Oregon) Région (us-west-2).

      • Choisissez le type HVM64 bits EBS -backed (car dans la CLI commande, vous spécifiez le type d't2.microinstance, qui ne prend pas en charge le stockage d'instance).

    • ID du groupe de sécurité que vous avez créé pour une EC2 instance.

    • Région AWS. Cette procédure utilise la région us-west-2.

    • L'ID de VPC sous-réseau dans lequel vous souhaitez lancer l'instance. Vous pouvez obtenir la liste des sous-réseaux à l’aide de la commande describe-subnets.

      $ aws ec2 describe-subnets \ --region us-west-2 \ --filters "Name=vpc-id,Values=vpc-id" \ --profile adminuser

      Après avoir choisi l’ID de sous-réseau, notez les valeurs suivantes à partir du résultat describe-subnets :

      • ID de sous-réseau – Vous avez besoin de cette valeur lorsque vous créez une cible de montage. Dans cet exercice, vous allez créer une cible de montage dans le même sous-réseau que celui dans lequel vous lancez une EC2 instance.

      • Zone de disponibilité du sous-réseau : vous avez besoin de cette valeur pour créer le DNS nom de votre cible de montage, que vous utiliserez pour monter un système de fichiers sur l'EC2instance.

  2. Exécutez la AWS CLI run-instances commande suivante pour lancer une EC2 instance.

    $ aws ec2 run-instances \ --image-id AMI ID \ --count 1 \ --instance-type t2.micro \ --associate-public-ip-address \ --key-name key-pair-name \ --security-group-ids ID of the security group created for EC2 instance \ --subnet-id VPC subnet ID \ --region us-west-2 \ --profile adminuser
  3. Notez l’ID d’instance renvoyé par la commande run-instances.

  4. L'EC2instance que vous avez créée doit avoir un DNS nom public que vous utilisez pour vous connecter à l'EC2instance et y monter le système de fichiers. Le DNS nom public est de la forme suivante :

    ec2-xx-xx-xx-xxx.compute-1.amazonaws.com

    Exécutez la CLI commande suivante et notez le DNS nom public.

    aws ec2 describe-instances \ --instance-ids EC2 instance ID \ --region us-west-2 \ --profile adminuser

    Si vous ne trouvez pas le DNS nom public, vérifiez la configuration de l'instance VPC dans laquelle vous avez lancé l'EC2instance. Pour plus d’informations, consultez Prérequis.

  5. (Facultatif) Attribuez un nom à l'EC2instance que vous avez créée. Pour ce faire, ajoutez une balise avec le nom de clé et la valeur définie sur le nom que vous souhaitez attribuer à l’instance. Pour ce faire, exécutez la AWS CLI create-tags commande suivante.

    $  aws ec2 create-tags \ --resources EC2-instance-ID \ --tags Key=Name,Value=Provide-instance-name  \ --region us-west-2 \ --profile adminuser

Étape 2 : Créer des ressources EFS

Dans cette étape, vous effectuez les opérations suivantes :

  • Créez un système de EFS fichiers chiffré.

  • Activez la gestion du cycle de vie.

  • Créez une cible de montage dans la zone de disponibilité où vous avez lancé votre EFS instance.

Étape 2.1 : Création d'un système de EFS fichiers

Au cours de cette étape, vous allez créer un système de EFS fichiers. Notez le FileSystemId à utiliser plus tard lorsque vous créez des cibles de montage pour le système de fichiers à l’étape suivante.

Pour créer un système de fichiers
  • Créez un système de fichiers avec la balise Name en option.

    1. À l'invite de commande, exécutez la AWS CLI create-file-system commande suivante.

      $ aws efs create-file-system \ --encrypted \ --creation-token FileSystemForWalkthrough1 \ --tags Key=Name,Value=SomeExampleNameValue \ --region us-west-2 \ --profile adminuser

      Vous recevez la réponse suivante.

      { "OwnerId": "111122223333", "CreationToken": "FileSystemForWalkthrough1", "FileSystemId": "fs-c657c8bf", "CreationTime": 1548950706.0, "LifeCycleState": "creating", "NumberOfMountTargets": 0, "SizeInBytes": { "Value": 0, "ValueInIA": 0, "ValueInStandard": 0 }, "PerformanceMode": "generalPurpose", "Encrypted": true, "KmsKeyId": "arn:aws:kms:us-west-2:111122223333:a5c11222-7a99-43c8-9dcc-abcdef123456", "ThroughputMode": "bursting", "Tags": [ { "Key": "Name", "Value": "SomeExampleNameValue" } ] }
    2. Notez la valeur FileSystemId. Vous avez besoin de cette valeur lorsque vous créez une cible de montage pour ce système de fichiers dans Étape 2.3 : Créer une cible de montage.

Étape 2.2 : Activer la gestion du cycle de vie

Au cours de cette étape, vous activez la gestion du cycle de vie de votre système de fichiers afin d'utiliser la classe de EFS stockage Infrequent Access (IA). Pour en savoir plus, consultez Gestion du cycle de vie du stockage pour les systèmes de EFS fichiers et Classes de stockage EFS.

Pour activer la gestion du cycle de vie
  • À l'invite de commande, exécutez la AWS CLI put-lifecycle-configuration commande suivante.

    $ aws efs put-lifecycle-configuration \ --file-system-id fs-c657c8bf \ --lifecycle-policies TransitionToIA=AFTER_30_DAYS \ --region us-west-2 \ --profile adminuser

    Vous recevez la réponse suivante.

    { "LifecyclePolicies": [ { "TransitionToIA": "AFTER_30_DAYS" } ] }

Étape 2.3 : Créer une cible de montage

Au cours de cette étape, vous créez une cible de montage pour votre système de fichiers dans la zone de disponibilité où vous avez lancé votre EC2 instance.

  1. Assurez-vous de disposer des informations suivantes :

    • ID du système de fichiers (par exemple, fs-example) pour lequel vous créez la cible de montage.

    • VPCID de sous-réseau dans lequel vous avez lancé l'EC2instance. Étape 1 : Création de EC2 ressources

      Pour ce didacticiel, vous créez la cible de montage dans le même sous-réseau dans lequel vous avez lancé l'EC2instance. Vous avez donc besoin de l'ID du sous-réseau (par exemple,subnet-example).

    • ID du groupe de sécurité que vous avez créé pour la cible de montage à l’étape précédente.

  2. À l'invite de commande, exécutez la AWS CLI create-mount-target commande suivante.

    $ aws efs create-mount-target \ --file-system-id file-system-id \ --subnet-id subnet-id \ --security-group ID-of-the security-group-created-for-mount-target \ --region us-west-2 \ --profile adminuser

    Vous recevez la réponse suivante.

    { "MountTargetId": "fsmt-example", "NetworkInterfaceId": "eni-example", "FileSystemId": "fs-example", "PerformanceMode" : "generalPurpose", "LifeCycleState": "available", "SubnetId": "fs-subnet-example", "OwnerId": "account-id", "IpAddress": "xxx.xx.xx.xxx" }
  3. Vous pouvez également utiliser la commande describe-mount-targets pour obtenir les descriptions des cibles de montage que vous avez créées sur un système de fichiers.

    $ aws efs describe-mount-targets \ --file-system-id file-system-id \ --region us-west-2 \ --profile adminuser

Étape 3 : monter le système de fichiers sur l'EC2instance et tester

Dans cette étape, vous effectuez les opérations suivantes :

  • Rassemblez les informations requises.

  • Installez le NFS client sur votre EC2 instance.

  • Montez le système de fichiers sur votre EC2 instance et testez-le.

Étape 3.1 : Collecter des informations

Assurez-vous de disposer des informations suivantes avant de suivre les étapes de cette section:

  • DNSNom public de votre EC2 instance au format suivant :

    ec2-xx-xxx-xxx-xx.aws-region.compute.amazonaws.com
  • DNSnom de votre système de fichiers. Vous pouvez construire ce DNS nom à l'aide de la forme générique suivante :

    file-system-id.efs.aws-region.amazonaws.com

    L'EC2instance sur laquelle vous montez le système de fichiers à l'aide de la cible de montage peut convertir le DNS nom du système de fichiers en adresse IP de la cible de montage.

Note

Amazon EFS n'exige pas que votre EC2 instance possède une adresse IP ou un DNS nom public. Les exigences répertoriées ci-dessus concernent uniquement cet exemple de procédure pas à pas afin de garantir que vous pouvez vous connecter SSH en utilisant l'instance depuis l'VPCextérieur de.

Étape 3.2 : Installation du NFS client sur votre EC2 instance

Vous pouvez vous connecter à votre EC2 instance depuis Windows ou depuis un ordinateur exécutant Linux, macOS X ou toute autre variante d'Unix.

Pour installer un NFS client
  1. Connectez-vous à votre instance EC2. Pour plus d'informations, consultez Connect to your EC2 instance dans le guide de EC2 l'utilisateur Amazon.

  2. Exécutez les commandes suivantes sur l'EC2instance à l'aide de la SSH session :

    1. (Facultatif) Obtenez les mises à jour et redémarrez.

      $ sudo yum -y update $ sudo reboot

      Après le redémarrage, reconnectez-vous à votre EC2 instance.

    2. Installez le NFS client.

      $ sudo yum -y install nfs-utils
      Note

      Si vous choisissez Amazon Linux AMI 2016.03.0 Amazon AMI Linux lors du lancement de EC2 votre instance, vous n'avez pas besoin de l'nfs-utilsinstaller car il est déjà inclus dans AMI l'instance par défaut.

Étape 3.3 : monter le système de fichiers sur votre EC2 instance et tester

Vous devez maintenant monter le système de fichiers sur votre EC2 instance.

  1. Créez un répertoire (» efs-mount-point «).

    $ mkdir ~/efs-mount-point
  2. Montez le système de fichiers EFS.

    $ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-DNS:/ ~/efs-mount-point

    L'EC2instance peut convertir le DNS nom de la cible de montage en adresse IP. Vous pouvez éventuellement spécifier l’adresse IP de la cible de montage directement.

    $ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-ip:/  ~/efs-mount-point
  3. Maintenant que le système de EFS fichiers est monté sur votre EC2 instance, vous pouvez créer des fichiers.

    1. Changez de répertoire.

      $ cd ~/efs-mount-point
    2. Affichez le contenu du répertoire.

      $ ls -al

      Il doit être vide.

      drwxr-xr-x 2 root root 4096 Dec 29 22:33 . drwx------ 4 ec2-user ec2-user 4096 Dec 29 22:54 ..

    3. Le répertoire racine d’un système de fichiers, une fois créé, appartient à l’utilisateur racine et ce dernier peut y écrire. Il n’est donc pas nécessaire de modifier les autorisations pour ajouter des fichiers.

      $ sudo chmod go+rw .

      À présent, si vous essayez la commande ls -al, vous constatez que les autorisations ont changé.

      drwxrwxrwx 2 root root 4096 Dec 29 22:33 . drwx------ 4 ec2-user ec2-user 4096 Dec 29 22:54 ..
    4. Créez un fichier texte .

      $ touch test-file.txt
    5. Affichez le contenu du répertoire.

      $ ls -l

Vous avez maintenant créé et monté avec succès un système de EFS fichiers sur votre EC2 instance dans votreVPC.

Le système de fichiers que vous avez monté n’est pas persistant d’un redémarrage à l’autre. Pour remonter automatiquement le répertoire, vous pouvez utiliser le fichier fstab. Si vous utilisez un groupe Auto Scaling pour lancer EC2 des instances, vous pouvez également définir des scripts dans une configuration de lancement.

Étape 4 : Nettoyer

Si vous n’avez plus besoin des ressources que vous avez créées, vous devez les supprimer. Vous pouvez le faire avec leCLI.

  • Supprimez les EC2 ressources (l'EC2instance et les deux groupes de sécurité). Amazon EFS supprime l'interface réseau lorsque vous supprimez la cible de montage.

  • Supprimez les EFS ressources (système de fichiers, cible de montage).

Pour supprimer les AWS ressources créées lors de cette procédure pas à pas
  1. Mettez fin à l'EC2instance que vous avez créée pour ce didacticiel.

    $ aws ec2 terminate-instances \ --instance-ids instance-id \ --profile adminuser

    Vous pouvez également supprimer EC2 des ressources à l'aide de la console. Pour plus d'informations, consultez Mise hors service d'une instance.

  2. Supprimez la cible de montage.

    Vous devez supprimer les cibles de montage créées pour le système de fichiers avant de supprimer ce dernier. Vous pouvez obtenir une liste des cibles de montage à l'aide de la describe-mount-targets CLI commande.

    $ aws efs describe-mount-targets \ --file-system-id file-system-ID \ --profile adminuser \ --region aws-region

    Supprimez ensuite la cible de montage à l'aide de la delete-mount-target CLI commande.

    $ aws efs delete-mount-target \ --mount-target-id ID-of-mount-target-to-delete \ --profile adminuser \ --region aws-region
  3. (Facultatif) Supprimez les deux groupes de sécurité que vous avez créés. Vous ne payez pas pour la création des groupes de sécurité.

    Vous devez d'abord supprimer le groupe de sécurité de la cible de montage, avant de supprimer le groupe de sécurité de l'EC2instance. Le groupe de sécurité de la cible de montage possède une règle qui fait référence au groupe EC2 de sécurité. Par conséquent, vous ne pouvez pas d'abord supprimer le groupe de sécurité de l'EC2instance.

    Pour obtenir des instructions, consultez Supprimer votre groupe de sécurité dans le guide de EC2 l'utilisateur Amazon.

  4. Supprimez le système de fichiers à l'aide de la delete-file-system CLI commande. Vous pouvez obtenir la liste de vos systèmes de fichiers à l'aide de la describe-file-systems CLI commande. Vous pouvez obtenir l’ID de système de fichiers à partir de la réponse.

    aws efs describe-file-systems \ --profile adminuser \ --region aws-region

    Supprimez le système de fichiers en fournissant l’ID du système de fichiers.

    $ aws efs delete-file-system \ --file-system-id ID-of-file-system-to-delete \ --region aws-region \ --profile adminuser