Come implementare AWS EFS per condividere il file system tra EC2?

Se stai lavorando su un ambiente applicativo multi-server in cui devi condividere un file system tra più server, devi configurare NFS (Network File System).

NFS ti consente di condividere il file system su più di un server, ma l’implementazione richiede alcune capacità di amministrazione.

In un ambiente infrastrutturale tradizionale, potrebbe essere necessario coinvolgere più team e la creazione di NFS richiederebbe tempo. Ma se stai usando AWS, puoi farlo in pochi minuti con il loro servizio EFS (Elastic File System).

AWS EFS consente di creare file di archiviazione scalabili da utilizzare su EC2. Non devi preoccuparti della previsione della capacità in quanto può aumentare o diminuire su richiesta.

Una rapida illustrazione è stata presa dalla pagina di AWS per darti un’idea di come funziona.

Alcuni dei vantaggi di EFS sono:

  • Completamente gestito da AWS.
  • Basso costo, paghi per quello che usi.
  • Alta disponibilità e durata
  • Ridimensiona automaticamente verso l’alto o verso il basso.
  • Prestazioni scalabili

Ho due istanze Ubuntu EC2 in esecuzione e, in questo tutorial, creerò un EFS e quindi lo monterò su entrambi i server EC2.

Cominciamo.

  • Accedi alla console AWS
  • Vai a Servizi e seleziona EFS in archiviazione (collegamento diretto)
  • Fai clic su “Crea file system”.

  • AWS assegnerà automaticamente un indirizzo IP nella zona di disponibilità. Puoi farlo nella schermata successiva se hai bisogno di cambiarlo.

  • Aggiungi il tag se necessario e seleziona la modalità di prestazione tra Uso generico o Max I/O

  • Esamina la configurazione e, se tutto è a posto, fai clic su “Crea file system”.

Potrebbero essere necessari alcuni secondi e, una volta terminato, riceverai un messaggio di successo.

Successo!

Hai creato un file system. Puoi montare il tuo file system da un’istanza EC2 con un client NFSv4.1 installato. Puoi anche montare il tuo file system da un server locale tramite una connessione AWS Direct Connect.

Sarai in grado di vedere il file system elastico appena creato nell’elenco.

Questo conclude che hai creato EFS e sei pronto per essere montato su istanze EC2.

Montaggio EFS su EC2

Prima del montaggio, è necessario installare il client NFS. Se espandi l’elenco e fai clic su “Istruzioni di montaggio Amazon EC2”, otterrai i dettagli.

Ma vediamo come va.

  • Accedi a entrambe le istanze EC2 e installa il client NFS. Ho Ubuntu, quindi userò quanto segue.
apt-get install nfs-common
  • Creiamo una cartella in cui vuoi montare l’EFS.

Es: /app

cd / 
mkdir apps

Montare il file system con il comando fornito nelle istruzioni.

Ex:

mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 fs-4fd14a06.efs.us-east-1.amazonaws.com:/ apps

Nota: se si verificano problemi durante il montaggio, fare riferimento a questo guida alla risoluzione dei problemie non dimenticare di controllare i gruppi di sicurezza per garantire quanto segue.

  • La porta NFS (2049) è consentita nelle regole in entrata dell’istanza EC2
  • I gruppi di sicurezza EC2 sono consentiti nei gruppi di sicurezza EFS

Ci vorranno alcuni secondi e noterai che /apps è montato se esegui il comando df -h

[email protected]:/# df -h | grep apps 
fs-4fd14a06.efs.us-east-1.amazonaws.com:/  8.0E     0  8.0E   0% /apps 
[email protected]:/#

Ora devi accedere a un altro server in cui desideri avere /apps disponibile e ripetere la creazione di una cartella e il montaggio di EFS.

Per verificare, ho montato il mio EFS su un altro server e posso vedere che le app sono accessibili su entrambi i server.

[email protected]:/apps# df -h | grep apps 
fs-4fd14a06.efs.us-east-1.amazonaws.com:/  8.0E     0  8.0E   0% 
/apps [email protected]:/apps#

Questo è facile, non è vero?

Ho provato a creare alcuni file e, nel complesso, le prestazioni sembrano buone. AWS EFS sembra promettente e, se hai bisogno della condivisione del file system tra le istanze EC2, provalo e sono sicuro che ti piacerà.

Sei interessato a saperne di più su AWS? Controlla questo Corso Udemy.

Ti è piaciuto leggere l’articolo? Che ne dici di condividere con il mondo?