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: crea un file system EFS e montalo su un'istanza EC2 utilizzando AWS CLI
Crea un file system EFS crittografato, montalo su un'istanza EC2 nel tuo VPC e verifica la configurazione utilizzando. AWS CLI
Nota
Nel Nozioni di base tutorial, usi la console per creare risorse Amazon EC2 ed EFS. In questo tutorial, userai AWS CLI per fare lo stesso, principalmente per familiarizzare con l'API Amazon EFS.
In questo tutorial, crei le seguenti AWS risorse nel tuo account:
-
Risorse Amazon EC2:
-
Due gruppi di sicurezza (per l'istanza EC2 e il file system EFS).
È 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 porta TCP NFSv4 1.1 standard.
-
Un'istanza EC2 nel tuo VPC.
-
-
Risorse Amazon EFS:
-
Un file system.
-
Una destinazione di montaggio per il file system.
Per montare il file system su un'istanza EC2 è necessario creare una destinazione di montaggio nella VPC. È possibile creare una destinazione di montaggio in ogni zona di disponibilità nella propria VPC. Per ulteriori informazioni, consulta Come funziona Amazon EFS.
-
Quindi, si potrà testa il file system sull'istanza EC2. 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 (VPC, risorse EC2 e risorse EFS) devono trovarsi nella stessa unità. Regione AWS
Argomenti
Prerequisiti
-
Puoi utilizzare le tue credenziali root per accedere alla console e Account AWS 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. Per ulteriori informazioni, consulta Assegnare Account AWS l'accesso a un utente IAM Identity Center nella Guida per l'AWS IAM Identity Center utente.
-
È possibile usare un VPC di default o una VPC personalizzata creata all'interno dell'account. Per questo scenario, va bene la configurazione di default del VPC. Tuttavia, se si utilizza un VPC personalizzata, verificare quanto segue:
-
I nomi host DNS sono abilitati. Per ulteriori informazioni, consulta Attributi DNS per VPC nella Guida per l'utente di Amazon VPC.
-
Il gateway Internet è connesso alla VPC. Per ulteriori informazioni, consulta Collegamento delle sottoreti a Internet tramite un gateway Internet nella Guida per l'utente di Amazon VPC.
-
Le sottoreti della VPC sono configurate per richiedere indirizzi IP pubblici per le istanze avviate nelle sottoreti della VPC. Per ulteriori informazioni, consulta la sezione Indirizzamento IP per le tue sottoreti VPCs e subnet nella Amazon VPC User Guide.
-
La tabella di routing della VPC include una regola per l'invio di tutto il traffico Internet-verso il gateway Internet.
-
-
È necessario configurare AWS CLI e aggiungere il profilo adminuser.
Configurazione del AWS CLI
Utilizzare le seguenti istruzioni per configurare il profilo utente AWS CLI and.
Per configurare il AWS CLI
-
Scarica e configura la AWS CLI. Per istruzioni, consulta la Guida introduttiva AWS CLI alla Guida AWS Command Line Interface per l'utente.
-
Impostazione dei profili.
Le credenziali utente vengono memorizzate nel AWS CLI
configfile. I comandi CLI di esempio in questo tutorial specificano il profilo adminuser. Creare il profilo adminuser nel fileconfig. È anche possibile impostare il profilo utente amministratore come predefinito nel fileconfigcome mostrato.[profile adminuser] aws_access_key_id =admin user access key IDaws_secret_access_key =admin user secret access keyregion = us-west-2 [default] aws_access_key_id =admin user access key IDaws_secret_access_key =admin user secret access keyregion = us-west-2Il profilo precedente imposta anche il valore predefinito. Regione AWS Se non si specifica una regione nel comando CLI, viene utilizzata la regione us-west-2.
-
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 helpaws 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.
-
Avvio di un'istanza EC2. Il passaggio successivo prevede la creazione e il montaggio di un file system EFS su questa istanza.
Fase 1.1. Creazione di due gruppi di sicurezza
In questa sezione, crei gruppi di sicurezza nel tuo VPC per l'istanza EC2 e il target di montaggio EFS. Più avanti nel tutorial, assegnerai questi gruppi di sicurezza a un'istanza EC2 e a un target di montaggio EFS. Per informazioni sui gruppi di sicurezza, consulta Gruppi di sicurezza Amazon EC2 per istanze Linux.
Per creare i gruppi di sicurezza
-
Creare due gruppi di sicurezza tramite il comando CLI
create-security-group:-
Creare un gruppo di sicurezza (
efs-walkthrough1-ec2-sg) per l'istanza EC2 e fornire l'ID VPC.$ 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-idvpc-id-in-us-west-2\ --profile adminuserAnnotare l'ID del gruppo di sicurezza. Di seguito è riportata una risposta di esempio.
{ "GroupId": "sg-aexample" }È possibile trovare l'ID VPC utilizzando il seguente comando.
$ aws ec2 describe-vpcs -
Crea un gruppo di sicurezza (
efs-walkthrough1-mt-sg) per il tuo target di montaggio EFS. È necessario fornire l'ID della VPC.$ 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-idvpc-id-in-us-west-2\ --profile adminuserAnnotare l'ID del gruppo di sicurezza. Di seguito è riportata una risposta di esempio.
{ "GroupId": "sg-aexample" }
-
-
Verifica dei gruppi di sicurezza.
aws ec2 describe-security-groups \ --group-idslist of security group IDs separated by space\ --profileadminuser\ --region us-west-2Entrambi 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:
-
Permetta di connettersi all'istanza EC2.
-
Abilita il traffico tra un'istanza EC2 e un target di montaggio EFS (a cui assocerai questi gruppi di sicurezza più avanti in questo tutorial).
-
Passaggio 1.2: Aggiungi regole ai gruppi di sicurezza per autorizzare l'accesso inbound/outbound
In questa fase sia aggiungono le regole ai gruppi di sicurezza per autorizzare un accesso in ingresso/uscita.
Per aggiungere le regole
-
Autorizzare le connessioni SSH (Secure Shell) in entrata nel gruppo di sicurezza dell'istanza EC2 (
efs-walkthrough1-ec2-sg) in modo da potersi connettere all'istanza EC2 utilizzando SSH da qualsiasi host.$ aws ec2 authorize-security-group-ingress \ --group-idid of the security group created for EC2 instance\ --protocol tcp \ --port 22 \ --cidr 0.0.0.0/0 \ --profile adminuser \ --region us-west-2Verificare 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-idsecurity-group-id -
Autorizza l'accesso in entrata al gruppo di sicurezza per l'EFS mount target ()
efs-walkthrough1-mt-sg.Al prompt dei comandi, esegui il AWS CLI
authorize-security-group-ingresscomando seguente utilizzando il profilo adminuser per aggiungere la regola in entrata.$ aws ec2 authorize-security-group-ingress \ --group-idID of the security group created for Amazon EFS mount target\ --protocol tcp \ --port 2049 \ --source-groupID of the security group created for EC2 instance\ --profile adminuser \ --region us-west-2 -
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
Fase 1.3: avviare un'istanza EC2
In questa fase, avviare un'istanza EC2.
Per avviare un'istanza EC2
-
Raccogliere le seguenti informazioni necessarie quando si avvia un'istanza EC2:
-
Nome della coppia di chiavi. Per istruzioni su come creare una coppia di chiavi, consulta la sezione Create a key pair for your Amazon EC2 istanza Amazon EC2 nella Amazon EC2 User Guide.
-
L'ID dell'Amazon Machine Image (AMI) che si desidera avviare.
Il AWS CLI comando che usi per avviare un'istanza EC2 richiede l'ID dell'Amazon Machine Image (AMI) che desideri distribuire come parametro. L'esercitazione utilizza l'AMI Amazon Linux HVM.
Nota
Puoi utilizzare la maggior parte dei sistemi basati su Linux per scopi generici. AMIs Se si utilizza un'altra AMI Linux, è necessario assicurarsi di utilizzare lo strumento di gestione del pacchetto responsabile della distribuzione per installare il client NFS sull'istanza. Inoltre, è possibile aggiungere pacchetti software quando se ne ha bisogno.
Per l'AMI Amazon Linux HVM, puoi trovare le ultime novità IDs su Amazon Linux AMI
. Scegli il valore ID dalla IDs tabella AMI 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).
-
Scegliere il tipo EBS-backed HVM 64-bit (perché nel comando CLI si specifica il tipo di istanza
t2.microche non supporta l'instance store).
-
-
ID del gruppo di sicurezza creato per l'istanza EC2.
-
Regione AWS. Questo scenario è basato sulla regione us-west-2.
-
L'ID della sottorete della VPC all'interno della quale si desidera 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 adminuserDopo 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 questa esercitazione, si crea una destinazione di montaggio nella stessa sottorete in cui si avvia l'istanza EC2.
-
Zona di disponibilità della sottorete - Questo valore è necessario per il costruire il nome DNS della destinazione di montaggio, che viene usato per montare un file system sull'istanza EC2.
-
-
-
Esegui il AWS CLI
run-instancescomando seguente per avviare un'istanza EC2.$ aws ec2 run-instances \ --image-idAMI ID\ --count 1 \ --instance-type t2.micro \ --associate-public-ip-address \ --key-namekey-pair-name\ --security-group-idsID of the security group created for EC2 instance\ --subnet-idVPC subnet ID\ --region us-west-2 \ --profile adminuser -
Annotare l'ID dell'istanza ritornato dal comando
run-instances. -
L'istanza EC2 creata deve disporre di un nome DNS pubblico da utilizzare per connettersi all'istanza EC2 e montare il file system su di essa. Il nome DNS pubblico assume il formato:
ec2-xx-xx-xx-xxx.compute-1.amazonaws.com.rproxy.govskope.caEseguire i seguenti comandi CLI e annotare il nome DNS pubblico.
aws ec2 describe-instances \ --instance-idsEC2 instance ID\ --region us-west-2 \ --profile adminuserSe non si trova il nome DNS pubblico, controllare la configurazione della VPC in cui è stata avviata l'istanza EC2. Per ulteriori informazioni, consulta Prerequisiti.
-
(Opzionale) Assegnare un nome all'istanza EC2 creata. 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, esegui il AWS CLI
create-tagscomando seguente.$ aws ec2 create-tags \ --resourcesEC2-instance-ID\ --tags Key=Name,Value=Provide-instance-name\ --region us-west-2 \ --profile adminuser
Fase 2: Creare risorse EFS
In questa fase si effettuano le operazioni seguenti:
-
Crea un file system EFS crittografato.
-
Abilitare la gestione del ciclo di vita.
-
Crea un target di montaggio nella zona di disponibilità in cui è stata lanciata l'istanza EFS.
Fase 2.1: Creare un file system EFS
In questo passaggio, si crea un file system EFS. 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.-
Al prompt dei comandi, esegui il seguente comando AWS
create-file-systemCLI.$aws efs create-file-system \ --encrypted \ --creation-token FileSystemForWalkthrough1 \ --tags Key=Name,Value=SomeExampleNameValue \ --region us-west-2 \ --profile adminuserSi 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" } ] } -
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 questa fase, 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 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 adminuserSi ottiene la risposta seguente.
{ "LifecyclePolicies": [ { "TransitionToIA": "AFTER_30_DAYS" } ] }
Fase 2.3: creazione di una destinazione di montaggio
In questa fase, si crea una destinazione di montaggio per il file system nella zona di disponibilità in cui è stata avviata l'istanza EC2.
-
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. -
ID di sottorete VPC in cui è stata avviata l'istanza EC2. Fase 1: Creare risorse EC2
Per questo tutorial, crei il target di montaggio nella stessa sottorete in cui hai lanciato l'istanza EC2, quindi hai bisogno dell'ID della sottorete (ad esempio,).
subnet-example -
L'ID del gruppo di sicurezza creato per la destinazione di montaggio nella fase precedente.
-
-
Al prompt dei comandi, esegui il comando seguente. AWS CLI
create-mount-target$ aws efs create-mount-target \ --file-system-idfile-system-id\ --subnet-idsubnet-id\ --security-groupID-of-the security-group-created-for-mount-target\ --region us-west-2 \ --profile adminuserSi 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" } -
È inoltre possibile utilizzare il comando
describe-mount-targetsper ottenere le descrizioni delle destinazioni di montaggio create su un file system.$ aws efs describe-mount-targets \ --file-system-idfile-system-id\ --region us-west-2 \ --profile adminuser
Fase 3: montare il file system sull'istanza EC2 e testarlo
In questa fase si effettuano le operazioni seguenti:
-
Raccogli le informazioni richieste.
-
Installare il client NFS sull'istanza EC2.
-
Installa il file system sulla tua istanza EC2 ed esegui il test.
Argomenti
Fase 3.1: raccolta delle informazioni
Assicurarsi di disporre delle seguenti informazioni per procedere con le fasi di questa sezione:
-
Nome DNS pubblico dell'istanza EC2 nel formato seguente:
ec2-xx-xxx-xxx-xx.aws-region.compute.amazonaws.com -
Nome DNS del file system. È possibile costruire questo nome DNS utilizzando il seguente formato generico:
file-system-id.efs.aws-region.amazonaws.com.rproxy.govskope.caL'istanza EC2 su cui montare il file system attraverso la destinazione di montaggio è in grado di risolvere il nome DNS del file system per ricavare l'indirizzo IP della destinazione di montaggio.
Nota
Amazon EFS non richiede che l'istanza EC2 abbia un indirizzo IP pubblico o un nome DNS pubblico. I requisiti elencati in precedenza sono limitati a questo scenario di esempio per garantire che sia possibile connettersi all'istanza tramite SSH dall'esterno del VPC.
Passaggio 3.2: installa il client NFS sulla tua istanza EC2
È possibile connettersi all'istanza EC2 da Windows o da un computer che esegue Linux o Mac OS X o qualsiasi altra variante Unix.
Per installare un client NFS
-
Connettiti all'istanza EC2. Per ulteriori informazioni, consulta Connect to your EC2 instance nella Guida per l'utente di Amazon EC2.
-
Eseguire i seguenti comandi sull'istanza EC2 tramite la sessione SSH:
-
(Facoltativo) Scaricare gli aggiornamenti e riavviare.
$sudo yum -y update$ sudo rebootRiconnettersi all'istanza EC2 dopo averla riavviata.
-
Installare il client NFS.
$sudo yum -y install nfs-utilsNota
Se scegli l'AMI Amazon Linux 2016.03.0 Amazon Linux all'avvio dell'istanza EC2, non è necessario
nfs-utilsinstallarla perché è già inclusa nell'AMI per impostazione predefinita.
-
Fase 3.3: montare il file system sull'istanza EC2 e testarlo
Ora è possibile montare il file system sull'istanza EC2.
-
Crea una directory (» «). efs-mount-point
$mkdir ~/efs-mount-point -
Montare il file system EFS.
$sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvportmount-target-DNS:/ ~/efs-mount-pointL'istanza EC2 è in grado di risolvere il nome DNS della destinazione di montaggio per ricavare l'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,noresvportmount-target-ip:/ ~/efs-mount-point -
Ora che hai il file system EFS montato sulla tua istanza EC2, puoi creare file.
-
Cambiare la cartella di lavoro.
$cd ~/efs-mount-point -
Elencare i contenuti della cartella.
$ls -alDovrebbe essere vuota.
drwxr-xr-x 2 root root 4096 Dec 29 22:33 . drwx------ 4 ec2-user ec2-user 4096 Dec 29 22:54 .. -
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 .. -
Creare un file di testo .
$touch test-file.txt -
Elencare i contenuti della cartella.
$ls -l
-
Ora hai creato e montato con successo un file system EFS sulla tua istanza EC2 nel tuo VPC.
Il file system montato non rimane persistente in caso di riavvio. Per rimontare automaticamente la directory, è possibile utilizzare il file fstab. Se si sta usando un gruppo Auto Scaling per avviare le istanze EC2, è anche possibile impostare gli script in una configurazione di avvio.
Fase 4: pulizia
Se le risorse create non sono più necessarie, dovrebbero essere eliminate. È possibile farlo tramite la CLI.
-
Eliminare le risorse EC2 (l'istanza EC2 e i due gruppi di sicurezza). Quando si elimina la destinazione di montaggio, Amazon EFS elimina l'interfaccia di rete.
-
Rimuovi le risorse EFS (file system, destinazione di montaggio).
Per eliminare AWS le risorse create in questa procedura dettagliata
-
Termina l'istanza EC2 che hai creato per questo tutorial.
$ aws ec2 terminate-instances \ --instance-idsinstance-id\ --profile adminuserÈ possibile eliminare le risorse EC2 anche utilizzando la console. Per le istruzioni, consulta Arresto di un'istanza.
-
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 delle destinazioni di montaggio utilizzando il comando CLI
describe-mount-targets.$ aws efs describe-mount-targets \ --file-system-idfile-system-ID\ --profile adminuser \ --regionaws-regionQuindi è possibile eliminare la destinazione di montaggio utilizzando il comando CLI
delete-mount-target.$ aws efs delete-mount-target \ --mount-target-idID-of-mount-target-to-delete\ --profile adminuser \ --regionaws-region -
(Facoltativo) Eliminare i due gruppi di sicurezza creati. La creazione dei gruppi di sicurezza non ha costo.
Prima di eliminare il gruppo di sicurezza dell'istanza EC2, è necessario eliminare il gruppo di sicurezza della destinazione di montaggio. Il gruppo di sicurezza della destinazione di montaggio include una regola che fa riferimento al gruppo di sicurezza dell'istanza EC2. Pertanto, non è possibile eliminare per primo il gruppo di sicurezza dell'istanza EC2.
Per istruzioni, consulta Eliminare il gruppo di sicurezza nella Guida per l'utente di Amazon EC2.
-
Eliminare il file system utilizzando il comando CLI
delete-file-system. È possibile ottenere un elenco dei file system utilizzando il comando CLIdescribe-file-systems. È possibile ricavare l'ID del file system dalla risposta.aws efs describe-file-systems \ --profile adminuser \ --regionaws-regionEliminare il file system fornendo l'ID del file system.
$ aws efs delete-file-system \ --file-system-idID-of-file-system-to-delete\ --regionaws-region\ --profile adminuser