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
Argomenti
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
-
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
config
file. I CLI comandi 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 fileconfig
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-2Il 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.
-
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
-
Crea due gruppi di sicurezza usando il
create-security-group
CLI comando:-
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 adminuserAnnotare 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
-
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 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-ids
list 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:
-
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
-
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-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-id
security-group-id
-
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-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
Passaggio 1.3: Avviare un'istanza EC2
In questo passaggio, si avvia un'EC2istanza.
Per avviare un'istanza EC2
-
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 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 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
-
-
-
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-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'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 adminuserSe non trovi il DNS nome pubblico, controlla la configurazione del nome VPC in cui hai avviato l'EC2istanza. Per ulteriori informazioni, consulta Prerequisiti.
-
(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
.-
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 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 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.
-
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.
-
-
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-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-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.
Argomenti
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.rproxy.goskope.comL'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
-
Eseguire la connessione all'istanza di EC2. Per ulteriori informazioni, consulta Connect to your EC2 istance nella Amazon EC2 User Guide.
-
Esegui i seguenti comandi sull'EC2istanza utilizzando la SSH sessione:
-
(Facoltativo) Scaricare gli aggiornamenti e riavviare.
$
sudo yum -y update
$ sudo rebootDopo il riavvio, riconnettiti all'istanza. EC2
-
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.
-
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,noresvport
mount-target-DNS
:/ ~/efs-mount-pointL'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 -
Ora che il EFS file system è montato sull'EC2istanza, puoi creare file.
-
Cambiare la cartella di lavoro.
$
cd ~/efs-mount-point
-
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 ..
-
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 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
-
Termina l'EC2istanza che hai creato per questo tutorial.
$ aws ec2 terminate-instances \ --instance-ids
instance-id
\ --profile adminuserPuoi anche eliminare EC2 le risorse 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 di obiettivi di montaggio utilizzando il
describe-mount-targets
CLI comando.$ aws efs describe-mount-targets \ --file-system-id
file-system-ID
\ --profile adminuser \ --regionaws-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 \ --regionaws-region
-
(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.
-
Elimina il file system utilizzando il
delete-file-system
CLI comando. È possibile ottenere un elenco dei file system utilizzando ildescribe-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
\ --regionaws-region
\ --profile adminuser