Tutorial: creare un EFS file system e montarlo su un'EC2istanza utilizzando il AWS CLI - Amazon Elastic File System

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Tutorial: creare un EFS file system e montarlo su un'EC2istanza utilizzando il AWS CLI

Create un EFS file system crittografato, montatelo su un'EC2istanza del vostro VPC sistema e testate la configurazione utilizzando AWS CLI.

Nota

Nel Nozioni di base tutorial, usi la console per creare Amazon EC2 e EFS risorse. In questo tutorial, usi il AWS CLI per fare lo stesso, principalmente per familiarizzare con Amazon. EFS API

In questo tutorial, crei le seguenti AWS risorse nel tuo account:

  • EC2Risorse Amazon:

    • Due gruppi di sicurezza (per l'EC2istanza e EFS il file system).

      È possibile aggiungere regole a questi gruppi di sicurezza per autorizzare un accesso in ingresso e in uscita appropriato. In questo modo è possibile EC2instance connettersi al file system tramite la destinazione di montaggio utilizzando una TCP porta NFSv4 1.1 standard.

    • Un'EC2istanza nel tuo. VPC

  • EFSRisorse Amazon:

    • Un file system.

    • Una destinazione di montaggio per il file system.

      Per montare il tuo file system su un'EC2istanza devi creare una destinazione di montaggio nel tuoVPC. Puoi creare un target di montaggio in ciascuna delle zone di disponibilità del tuoVPC. Per ulteriori informazioni, consulta Come EFS funziona Amazon.

Quindi, testate il file system sulla vostra EC2 istanza. La fase di pulizia alla fine del tutorial fornisce informazioni per rimuovere queste risorse.

Il tutorial crea tutte queste risorse nella regione degli Stati Uniti occidentali (Oregon) (us-west-2). Qualunque cosa Regione AWS tu usi, assicurati di usarla in modo coerente. Tutte le tue risorse, le tue e EFS le tue EC2 risorseVPC, devono trovarsi nella stessa stanza. Regione AWS

Prerequisiti

  • Puoi utilizzare le tue credenziali root Account AWS per accedere alla console e provare l'esercizio introduttivo. Tuttavia, AWS Identity and Access Management (IAM) consiglia di non utilizzare le credenziali root del proprio. Account AWS Al contrario, è necessario creare un utente amministratore nell'account e utilizzare tali credenziali per gestire le risorse nel proprio account. Al contrario, è necessario creare un utente amministratore nell'account e utilizzare tali credenziali per gestire le risorse nel proprio account. Per ulteriori informazioni, consulta Assegnare Account AWS l'accesso a un utente di IAM Identity Center nella Guida per l'AWS IAM Identity Center utente.

  • Puoi utilizzare un'impostazione predefinita VPC o personalizzata VPC che hai creato nel tuo account. Per questa procedura dettagliata, la VPC configurazione predefinita funziona. Tuttavia, se utilizzi una configurazione personalizzataVPC, verifica quanto segue:

    • DNSi nomi host sono abilitati. Per ulteriori informazioni, consulta DNSgli attributi VPC nella Amazon VPC User Guide.

    • Il gateway Internet è collegato al tuoVPC. Per ulteriori informazioni, consulta Connect a Internet utilizzando un gateway Internet nella Amazon VPC User Guide.

    • Le VPC sottoreti sono configurate per richiedere indirizzi IP pubblici per le istanze avviate nelle sottoreti. VPC Per ulteriori informazioni, consulta la sezione Indirizzamento IP per le tue sottoreti VPCs e subnet nella Amazon VPC User Guide.

    • La tabella di VPC routing include una regola per inviare tutto il traffico diretto a Internet al gateway Internet.

  • È necessario configurare AWS CLI e aggiungere il profilo adminuser.

Configurare il AWS CLI

Utilizzare le seguenti istruzioni per configurare il profilo utente AWS CLI and.

Per configurare il AWS CLI
  1. Scarica e configura la AWS CLI. Per istruzioni, consulta la Guida introduttiva AWS CLI alla Guida AWS Command Line Interface per l'utente.

  2. Impostazione dei profili.

    Le credenziali utente vengono memorizzate nel AWS CLI config file. I CLI comandi di esempio in questo tutorial specificano il profilo adminuser. Creare il profilo adminuser nel file config. È anche possibile impostare il profilo utente amministratore come predefinito nel file config come mostrato.

    [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

    Il profilo precedente imposta anche il valore predefinito. Regione AWS Se non si specifica una regione nel CLI comando, si presuppone la regione us-west-2.

  3. Verificare la configurazione digitando i comandi riportati di seguito al prompt dei comandi. Poiché entrambi questi comandi non forniscono credenziali in modo esplicito, vengono utilizzate le credenziali del profilo di default.

    • Provare a utilizzare il comando help

      È anche possibile specificare il profilo utente in modo esplicito aggiungendo il parametro --profile.

      aws help
      aws help \ --profile adminuser

Fase 1: Creare risorse EC2

In questa fase si effettuano le operazioni seguenti:

  • Creare due gruppi di sicurezza.

  • Aggiungere le regole ai gruppi di sicurezza per autorizzare un accesso aggiuntivo.

  • Avviare un'istanza EC2. Nel passaggio successivo si crea e si monta un EFS file system su questa istanza.

Fase 1.1. Creazione di due gruppi di sicurezza

In questa sezione, crei gruppi di sicurezza nella tua VPC EC2 istanza e EFS monti la destinazione. Più avanti nel tutorial, assegnerai questi gruppi di sicurezza a un'EC2istanza e a un target di EFS montaggio. Per informazioni sui gruppi di sicurezza, consulta Gruppi EC2 di sicurezza Amazon per istanze Linux.

Per creare i gruppi di sicurezza
  1. Crea due gruppi di sicurezza usando il create-security-group CLI comando:

    1. Crea un gruppo di sicurezza (efs-walkthrough1-ec2-sg) per la tua EC2 istanza e fornisci il tuo VPC ID.

      $ 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

      Annotare l'ID del gruppo di sicurezza. Di seguito è riportata una risposta di esempio.

      { "GroupId": "sg-aexample" }

      Puoi trovare l'VPCID usando il seguente comando.

      $ aws ec2 describe-vpcs

    2. Crea un gruppo di sicurezza (efs-walkthrough1-mt-sg) per il tuo target di EFS montaggio. Devi fornire il tuo VPC ID.

      $ 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

      Annotare l'ID del gruppo di sicurezza. Di seguito è riportata una risposta di esempio.

      { "GroupId": "sg-aexample" }
  2. Verifica dei gruppi di sicurezza.

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

    Entrambi i gruppi di sicurezza dovrebbero avere solo una regola in uscita che consenta l'uscita di tutto il traffico.

    Nella sezione successiva è necessario autorizzare un accesso aggiuntivo che consenta quanto segue:

    • Consentirti di connetterti alla tua EC2 istanza.

    • Abilita il traffico tra un'EC2istanza e un target di EFS montaggio (a cui assocerai questi gruppi di sicurezza più avanti in questo tutorial).

Fase 1.2: Aggiungere le regole ai gruppi di sicurezza per autorizzare un accesso in ingresso/uscita

In questa fase sia aggiungono le regole ai gruppi di sicurezza per autorizzare un accesso in ingresso/uscita.

Per aggiungere le regole
  1. Autorizzate le connessioni Secure Shell (SSH) in entrata al gruppo di sicurezza della vostra EC2 istanza (efs-walkthrough1-ec2-sg) in modo SSH da potervi connettere all'EC2istanza utilizzando qualsiasi host.

    $ 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

    Verificare che il gruppo di sicurezza includa la regola in ingresso e in uscita che è stata aggiunta.

    aws ec2 describe-security-groups \ --region us-west-2 \ --profile adminuser \ --group-id security-group-id
  2. Autorizzate l'accesso in entrata al gruppo di sicurezza per il EFS mount target (). efs-walkthrough1-mt-sg

    Al prompt dei comandi, esegui il AWS CLI authorize-security-group-ingress comando seguente utilizzando il profilo adminuser per aggiungere la regola in entrata.

    $ 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. Verificare che entrambi i gruppi di sicurezza autorizzino l'accesso in ingresso.

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

Passaggio 1.3: Avviare un'istanza EC2

In questo passaggio, si avvia un'EC2istanza.

Per avviare un'istanza EC2
  1. Raccogli le seguenti informazioni che devi fornire all'avvio di un'EC2istanza:

    • Nome della coppia di chiavi. Per istruzioni su come creare una coppia di chiavi, consulta Create a key pair for your Amazon EC2 istance nella Amazon EC2 User Guide.

    • L'ID dell'Amazon Machine Image (AMI) che desideri avviare.

      Il AWS CLI comando che usi per avviare un'EC2istanza richiede l'ID dell'Amazon Machine Image (AMI) che desideri distribuire come parametro. L'esercizio utilizza Amazon Linux HVMAMI.

      Nota

      È possibile utilizzare la maggior parte dei sistemi basati su Linux AMIs per scopi generici. Se usi un altro LinuxAMI, assicurati di usare il gestore di pacchetti della tua distribuzione per installare il NFS client sull'istanza. Inoltre, è possibile aggiungere pacchetti software quando se ne ha bisogno.

      Per Amazon Linux HVMAMI, puoi trovare le ultime novità IDs su Amazon Linux AMI. Scegli il valore ID dalla AMI IDs tabella Amazon Linux come segue:

      • Scegli la regione US West Oregon (Stati Uniti occidentali Oregon). Questo scenario presuppone la creazione di tutte le risorse nella regione Stati Uniti occidentali (Oregon) (us-west-2).

      • Scegli il tipo EBS-backed HVM a 64 bit (perché nel CLI comando specifichi il tipo di t2.micro istanza, che non supporta l'instance store).

    • ID del gruppo di sicurezza che hai creato per un'EC2istanza.

    • Regione AWS. Questo scenario è basato sulla regione us-west-2.

    • Il tuo ID di VPC sottorete in cui desideri avviare l'istanza. È possibile ottenere un elenco delle sottoreti utilizzando il comando describe-subnets.

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

      Dopo aver scelto l'ID della sottorete, annotare i seguenti valori del risultato di describe-subnets:

      • ID sottorete - Questo valore è necessario per la creazione della destinazione di montaggio. In questo esercizio, creerete un target di montaggio nella stessa sottorete in cui lanciate un'EC2istanza.

      • Zona di disponibilità della sottorete: questo valore è necessario per creare il DNS nome della destinazione di montaggio, da utilizzare per montare un file system sull'istanza. EC2

  2. Esegui il AWS CLI run-instances comando seguente per avviare un'EC2istanza.

    $ 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. Annotare l'ID dell'istanza ritornato dal comando run-instances.

  4. L'EC2istanza che hai creato deve avere un DNS nome pubblico che utilizzi per connetterti all'EC2istanza e montare il file system su di essa. Il DNS nome pubblico ha il seguente formato:

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

    Esegui il CLI comando seguente e annota il DNS nome pubblico.

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

    Se non trovi il DNS nome pubblico, controlla la configurazione del nome VPC in cui hai avviato l'EC2istanza. Per ulteriori informazioni, consulta Prerequisiti.

  5. (Facoltativo) Assegna un nome all'EC2istanza che hai creato. A tale scopo, aggiungere un tag con il nome della chiave e il valore impostato sul nome che si desidera assegnare all'istanza. A tale scopo, eseguite il AWS CLI create-tags comando seguente.

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

Fase 2: creazione delle risorse EFS

In questa fase si effettuano le operazioni seguenti:

  • Crea un EFS file system crittografato.

  • Abilitare la gestione del ciclo di vita.

  • Crea un target di montaggio nella zona di disponibilità in cui è stata lanciata l'EFSistanza.

Passaggio 2.1: Creare un EFS file system

In questo passaggio, si crea un EFS file system. Annotare il FileSystemId da utilizzare nella fase successiva durante la creazione delle destinazioni di montaggio del file system.

Per creare un file system
  • Creare un file system con il tag facoltativo Name.

    1. Al prompt dei comandi, esegui il AWS CLI create-file-system comando seguente.

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

      Si ottiene la risposta seguente.

      { "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. Annotare il valore FileSystemId. Questo valore è necessario durante la creazione di una destinazione di montaggio per questo file system in Fase 2.3: creazione di una destinazione di montaggio.

Fase 2.2: abilitare la gestione del ciclo di vita

In questo passaggio, si abilita la gestione del ciclo di vita sul file system per utilizzare la classe di storage EFS Infrequent Access (IA). Per ulteriori informazioni, consultare Gestione del ciclo di vita dello storage per i file system EFS e Classi di storage EFS.

Come abilitare la gestione del ciclo di vita
  • Al prompt dei comandi, esegui il comando seguente. AWS CLI put-lifecycle-configuration

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

    Si ottiene la risposta seguente.

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

Fase 2.3: creazione di una destinazione di montaggio

In questo passaggio, crei una destinazione di montaggio per il file system nella zona di disponibilità in cui è stata lanciata l'EC2istanza.

  1. Assicurarsi di disporre delle informazioni riportate qui di seguito:

    • L'ID del file system (ad esempio, fs-example) per il quale si sta creando la destinazione di montaggio.

    • VPCID di sottorete in cui è stata avviata l'EC2istanza. Fase 1: Creare risorse EC2

      Per questo tutorial, crei il target di montaggio nella stessa sottorete in cui hai lanciato l'EC2istanza, quindi hai bisogno dell'ID di sottorete (ad esempio,). subnet-example

    • L'ID del gruppo di sicurezza creato per la destinazione di montaggio nella fase precedente.

  2. Al prompt dei comandi, esegui il comando seguente. AWS CLI create-mount-target

    $ 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

    Si ottiene la risposta seguente.

    { "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. È inoltre possibile utilizzare il comando describe-mount-targets per ottenere le descrizioni delle destinazioni di montaggio create su un file system.

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

Passaggio 3: Montare il file system sull'EC2istanza ed eseguire il test

In questa fase si effettuano le operazioni seguenti:

  • Raccogli le informazioni richieste.

  • Installa il NFS client sulla tua EC2 istanza.

  • Installa il file system sull'EC2istanza ed esegui il test.

Fase 3.1: raccolta delle informazioni

Assicurarsi di disporre delle seguenti informazioni per procedere con le fasi di questa sezione:

  • DNSNome pubblico dell'EC2istanza nel seguente formato:

    ec2-xx-xxx-xxx-xx.aws-region.compute.amazonaws.com
  • DNSnome del file system. È possibile creare questo DNS nome utilizzando il seguente formato generico:

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

    L'EC2istanza su cui si monta il file system utilizzando la destinazione di montaggio può risolvere il DNS nome del file system nell'indirizzo IP della destinazione di montaggio.

Nota

Amazon EFS non richiede che la tua EC2 istanza abbia un indirizzo IP o un DNS nome pubblico. I requisiti sopra elencati si riferiscono solo a questo esempio dettagliato per garantire la possibilità di connettersi utilizzando SSH l'istanza dall'esterno di. VPC

Passaggio 3.2: Installa il NFS client sulla tua istanza EC2

Puoi connetterti alla tua EC2 istanza da Windows o da un computer che esegue Linux, macOS X o qualsiasi altra variante di Unix.

Per installare un client NFS
  1. Eseguire la connessione all'istanza di EC2. Per ulteriori informazioni, consulta Connect to your EC2 istance nella Amazon EC2 User Guide.

  2. Esegui i seguenti comandi sull'EC2istanza utilizzando la SSH sessione:

    1. (Facoltativo) Scaricare gli aggiornamenti e riavviare.

      $ sudo yum -y update $ sudo reboot

      Dopo il riavvio, riconnettiti all'istanza. EC2

    2. Installa il client. NFS

      $ sudo yum -y install nfs-utils
      Nota

      Se scegli Amazon Linux AMI 2016.03.0 Amazon AMI Linux all'avvio EC2 dell'istanza, non è necessario nfs-utils installarlo perché è già incluso per impostazione predefinita. AMI

Passaggio 3.3: installa il file system sull'istanza ed esegui il test EC2

Ora monti il file system sulla tua EC2 istanza.

  1. Crea una directory (» efs-mount-point «).

    $ mkdir ~/efs-mount-point
  2. Montare il file system 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'EC2istanza può risolvere il DNS nome del target di montaggio nell'indirizzo IP. È possibile specificare direttamente l'indirizzo IP della destinazione di montaggio.

    $ 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. Ora che il EFS file system è montato sull'EC2istanza, puoi creare file.

    1. Cambiare la cartella di lavoro.

      $ cd ~/efs-mount-point
    2. Elencare i contenuti della cartella.

      $ ls -al

      Dovrebbe essere vuota.

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

    3. La cartella principale di un file system, al momento della creazione, è di proprietà ed è scrivibile da parte dell'utente root quindi, per poter aggiungere dei file, è necessario modificare le autorizzazioni.

      $ sudo chmod go+rw .

      Ora, se si esegue il comando ls -al è possibile notare che le autorizzazioni sono cambiate.

      drwxrwxrwx 2 root root 4096 Dec 29 22:33 . drwx------ 4 ec2-user ec2-user 4096 Dec 29 22:54 ..
    4. Creare un file di testo .

      $ touch test-file.txt
    5. Elencare i contenuti della cartella.

      $ ls -l

Ora hai creato e montato con successo un EFS file system sulla tua EC2 istanza nel tuoVPC.

Il file system montato non rimane persistente in caso di riavvio. Per rimontare automaticamente la directory, è possibile utilizzare il file fstab. Se utilizzi un gruppo Auto Scaling per avviare EC2 le istanze, puoi anche impostare gli script in una configurazione di avvio.

Fase 4: pulizia

Se le risorse create non sono più necessarie, dovrebbero essere eliminate. È possibile farlo conCLI.

  • Rimuovi EC2 le risorse (l'EC2istanza e i due gruppi di sicurezza). Amazon EFS elimina l'interfaccia di rete quando elimini la destinazione di montaggio.

  • Rimuovi EFS risorse (file system, destinazione di montaggio).

Per eliminare AWS le risorse create in questa procedura dettagliata
  1. Termina l'EC2istanza che hai creato per questo tutorial.

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

    Puoi anche eliminare EC2 le risorse utilizzando la console. Per le istruzioni, consulta Arresto di un'istanza.

  2. Eliminare la destinazione di montaggio.

    Prima di eliminare il file system, è necessario eliminare la destinazione di montaggio creata per il file system. È possibile ottenere un elenco di obiettivi di montaggio utilizzando il describe-mount-targets CLI comando.

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

    Quindi elimina il target di montaggio utilizzando il delete-mount-target CLI comando.

    $ aws efs delete-mount-target \ --mount-target-id ID-of-mount-target-to-delete \ --profile adminuser \ --region aws-region
  3. (Facoltativo) Eliminare i due gruppi di sicurezza creati. La creazione dei gruppi di sicurezza non ha costo.

    È necessario eliminare prima il gruppo di sicurezza del target di montaggio, prima di eliminare il gruppo di sicurezza dell'EC2istanza. Il gruppo di sicurezza del target di montaggio ha una regola che fa riferimento al gruppo EC2 di sicurezza. Pertanto, non è possibile eliminare prima il gruppo di sicurezza dell'EC2istanza.

    Per istruzioni, consulta Elimina il tuo gruppo di sicurezza nella Amazon EC2 User Guide.

  4. Elimina il file system utilizzando il delete-file-system CLI comando. È possibile ottenere un elenco dei file system utilizzando il describe-file-systems CLI comando. È possibile ricavare l'ID del file system dalla risposta.

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

    Eliminare il file system fornendo l'ID del file system.

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