Hvordan implementerer man AWS EFS for at dele filsystem mellem EC2?

Hvis du arbejder på et multi-server applikationsmiljø, hvor du har et krav om at dele et filsystem mellem flere servere, så skal du konfigurere NFS (Network File System).

NFS lader dig dele filsystemet på mere end én server, men implementering kræver nogle administrative færdigheder.

I et traditionelt infrastrukturmiljø skal du muligvis involvere flere teams, og det ville tage tid at skabe NFS. Men hvis du bruger AWS, kan du få det gjort på få minutter med deres EFS (Elastic File System) service.

AWS EFS lader dig oprette skalerbar fillagring, der skal bruges på EC2. Du behøver ikke bekymre dig om kapacitetsprognoser, da det kan skalere op eller ned on-demand.

En hurtig illustration blev taget fra AWS-siden for at give dig en idé om, hvordan det fungerer.

Nogle af EFS-fordelene er:

  • Fuldt styret af AWS.
  • Lav pris, betal for det du bruger.
  • Høj tilgængelig & holdbar
  • Skaler automatisk op eller ned.
  • Skalerbar ydeevne
  Sådan sletter du Hulu-konto

Jeg har to EC2 Ubuntu-forekomster kørende, og i denne tutorial opretter jeg en EFS og monterer den derefter på begge EC2-servere.

Lad os få det i gang.

  • Log ind på AWS-konsollen
  • Gå til Services og vælg EFS under storage (direkte link)
  • Klik på “Opret filsystem”.

  • AWS vil automatisk tildele en IP-adresse i tilgængelighedszonen. Du kan gøre det på den næste skærm, hvis du har brug for at ændre det.

  • Tilføj tagget, hvis du har brug for det, og vælg ydelsestilstanden mellem General purpose eller Max I/O

  • Gennemgå konfigurationen, og hvis alt er i orden, skal du klikke på “Opret filsystem.”

Det kan tage et par sekunder, og når det er gjort, vil du få en succesbesked.

Succes!

Du har oprettet et filsystem. Du kan montere dit filsystem fra en EC2-instans med en NFSv4.1-klient installeret. Du kan også montere dit filsystem fra en lokal server over en AWS Direct Connect-forbindelse.

Du vil kunne se det nyoprettede elastiske filsystem på listen.

  Sådan fastgør du et billede til toppen af ​​dit skrivebord

Dette konkluderer, at du har oprettet EFS og er klar til at blive monteret på EC2-instanser.

Montering af EFS på EC2

Før montering skal du installere NFS-klienten. Hvis du udvider listen og klikker på “Amazon EC2 monteringsvejledning”, får du detaljerne.

Men lad os se, hvordan det går.

  • Log ind på begge EC2-instanser og installer NFS-klienten. Jeg har Ubuntu, så jeg vil bruge følgende.
apt-get install nfs-common
  • Lad os oprette en mappe, hvor du vil montere EFS.

Eks: /apps

cd / 
mkdir apps

Monter filsystemet med kommandoen i instruktionerne.

Eks:

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

Bemærk: Hvis du støder på problemer under montering, så se dette fejlfindingsvejledningog glem ikke at tjekke sikkerhedsgrupperne for at sikre følgende.

  • NFS-port (2049) er tilladt i indgående regler for EC2-instanser
  • EC2-sikkerhedsgrupper er tilladt i EFS-sikkerhedsgrupper

Det vil tage et par sekunder, og du vil bemærke /apps er monteret, hvis du udfører df -h kommandoen

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

Nu skal du logge ind på en anden server, hvor du vil have /apps tilgængelige og gentage oprettelse af en mappe og montering af EFS.

  Sådan redigerer du billeder og videoer fra din kamerarulle

For at verificere monterede jeg min EFS på en anden server og kan se /apps er tilgængelige på begge servere.

[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#

Det her er nemt, er det ikke?

Jeg prøvede at oprette et par filer, og generelt ser ydelsen godt ud. AWS EFS ser lovende ud, og hvis du har brug for filsystemdeling på tværs af EC2-instanser, så prøv det, og jeg er sikker på, at du vil kunne lide det.

Er du interesseret i at lære mere om AWS? Tjek dette ud Udemy kursus.

Nydt at læse artiklen? Hvad med at dele med verden?