Hur implementerar man AWS EFS för att dela filsystem mellan EC2?

Om du arbetar i en multi-server applikationsmiljö där du har ett krav på att dela ett filsystem mellan flera servrar, då måste du ställa in NFS (Network File System).

NFS låter dig dela filsystemet på mer än en server, men implementeringen kräver viss administrativ kompetens.

I en traditionell infrastrukturmiljö kan du behöva involvera flera team, och det skulle ta tid att skapa NFS. Men om du använder AWS kan du få det gjort på några minuter med deras EFS-tjänst (Elastic File System).

AWS EFS låter dig skapa skalbar fillagring som ska användas på EC2. Du behöver inte bry dig om kapacitetsprognoser eftersom det kan skala upp eller ner på begäran.

En snabb illustration togs från AWS-sidan för att ge dig en uppfattning om hur det fungerar.

Några av EFS-fördelarna är:

  • Fullt skött av AWS.
  • Låg kostnad, betala för det du använder.
  • Hög tillgänglig & hållbar
  • Skala automatiskt upp eller ner.
  • Skalbar prestanda

Jag har två EC2 Ubuntu-instanser igång, och i den här handledningen skapar jag en EFS och sedan monterar den på båda EC2-servrarna.

Låt oss börja.

  • Logga in på AWS-konsolen
  • Gå till Tjänster och välj EFS under lagring (Direktlänk)
  • Klicka på ”Skapa filsystem.”

  • AWS kommer automatiskt att tilldela en IP-adress i tillgänglighetszonen. Du kan göra det på nästa skärm om du behöver ändra det.

  • Lägg till taggen om du behöver och välj prestandaläge mellan Allmänt eller Max I/O

  • Granska konfigurationen och om allt är okej klickar du på ”Skapa filsystem.”

Det kan ta några sekunder och när det är klart får du ett framgångsmeddelande.

Framgång!

Du har skapat ett filsystem. Du kan montera ditt filsystem från en EC2-instans med en NFSv4.1-klient installerad. Du kan också montera ditt filsystem från en lokal server över en AWS Direct Connect-anslutning.

Du kommer att kunna se det nyskapade elastiska filsystemet på listan.

Detta visar att du har skapat EFS och är redo att monteras på EC2-instanser.

Montering av EFS på EC2

Innan du monterar måste du installera NFS-klienten. Om du utökar listan och klickar på ”Amazon EC2 monteringsinstruktioner”, får du detaljerna.

Men låt oss se hur det går.

  • Logga in på båda EC2-instanserna och installera NFS-klienten. Jag har Ubuntu, så jag kommer att använda följande.
apt-get install nfs-common
  • Låt oss skapa en mapp där du vill montera EFS.

Ex: /apps

cd / 
mkdir apps

Montera filsystemet med kommandot i instruktionerna.

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

Obs: Om du stöter på några problem under monteringen, se detta felsökningsguideoch glöm inte att kontrollera säkerhetsgrupperna för att säkerställa följande.

  • NFS-port (2049) är tillåten i inkommande regler för EC2-instanser
  • EC2-säkerhetsgrupper är tillåtna i EFS-säkerhetsgrupper

Det tar några sekunder, och du kommer att märka att /apps är monterad om du gör kommandot 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]:/#

Nu måste du logga in på en annan server där du vill ha /apps tillgängliga och upprepa att skapa en mapp och montera EFS.

För att verifiera monterade jag min EFS på en annan server och kan se att /appar är tillgängliga på båda servrarna.

[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 här är lätt, eller hur?

Jag försökte skapa några filer, och överlag ser prestandan bra ut. AWS EFS ser lovande ut, och om du behöver filsystemsdelning över EC2-instanser, prova det, och jag är säker på att du kommer att gilla det.

Är du intresserad av att lära dig mer om AWS? Kolla in det här Udemy kurs.

Gillade du att läsa artikeln? Vad sägs om att dela med världen?