Jak implementovat AWS EFS pro sdílení systému souborů mezi EC2?

Pokud pracujete na víceserverovém aplikačním prostředí, kde máte požadavek na sdílení souborového systému mezi více servery, musíte nastavit NFS (Network File System).

NFS vám umožňuje sdílet systém souborů na více než jednom serveru, ale implementace vyžaduje určité dovednosti správy.

V prostředí tradiční infrastruktury možná budete muset zapojit více týmů a vytvoření NFS by nějakou dobu trvalo. Ale pokud používáte AWS, můžete to udělat během několika minut pomocí jejich služby EFS (Elastic File System).

AWS EFS umožňuje vytvořit škálovatelné úložiště souborů pro použití na EC2. Nemusíte se starat o prognózování kapacity, protože se může na požádání zvětšit nebo snížit.

Rychlá ilustrace byla převzata ze stránky AWS, abyste měli představu, jak to funguje.

Některé z výhod EFS jsou:

  • Plně spravováno AWS.
  • Nízká cena, plaťte za to, co používáte.
  • Vysoká dostupnost a odolnost
  • Automatické měřítko nahoru nebo dolů.
  • Škálovatelný výkon

Mám spuštěné dvě instance EC2 Ubuntu a v tomto tutoriálu vytvořím jeden EFS a poté jej připojím na oba servery EC2.

Pojďme to začít.

  • Přihlaste se do konzole AWS
  • Přejděte na Služby a vyberte EFS v úložišti (přímý odkaz)
  • Klikněte na „Vytvořit systém souborů“.

  • AWS automaticky přiřadí IP adresu v zóně dostupnosti. Pokud to potřebujete změnit, můžete to udělat na další obrazovce.

  • V případě potřeby přidejte značku a vyberte režim výkonu mezi obecným účelem nebo maximálním I/O

  • Zkontrolujte konfiguraci a pokud je vše v pořádku, klikněte na „Vytvořit systém souborů“.

Může to trvat několik sekund a jakmile to uděláte, dostanete zprávu o úspěchu.

Úspěch!

Vytvořili jste systém souborů. Souborový systém můžete připojit z instance EC2 s nainstalovaným klientem NFSv4.1. Systém souborů můžete také připojit z místního serveru přes připojení AWS Direct Connect.

V seznamu budete moci vidět nově vytvořený elastický souborový systém.

To znamená, že jste vytvořili EFS a jste připraveni k připojení k instancím EC2.

Montáž EFS na EC2

Před montáží je třeba nainstalovat klienta NFS. Pokud rozbalíte seznam a kliknete na „Pokyny k montáži Amazon EC2“, získáte podrobnosti.

Ale uvidíme, jak to půjde.

  • Přihlaste se do obou instancí EC2 a nainstalujte klienta NFS. Mám Ubuntu, takže budu používat následující.
apt-get install nfs-common
  • Vytvořme složku, kam chcete připojit EFS.

Příklad: /apps

cd / 
mkdir apps

Připojte souborový systém pomocí příkazu uvedeného v pokynech.

Příklad:

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

Poznámka: Pokud během připojování narazíte na nějaké problémy, přečtěte si toto průvodce řešením problémůa nezapomeňte zkontrolovat skupiny zabezpečení, abyste zajistili následující.

  • Port NFS (2049) je povolen v pravidlech pro příchozí instanci EC2
  • Skupiny zabezpečení EC2 jsou povoleny ve skupinách zabezpečení EFS

Bude to trvat několik sekund a všimnete si, že /apps je připojeno, pokud provedete příkaz 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]:/#

Nyní se musíte přihlásit na jiný server, kde chcete mít k dispozici /apps, a opakovat vytvoření složky a připojení EFS.

Abych to ověřil, připojil jsem svůj EFS na jiný server a vidím, že /apps jsou přístupné na obou serverech.

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

To je snadné, že?

Zkusil jsem vytvořit několik souborů a celkově vypadá výkon dobře. AWS EFS vypadá slibně, a pokud potřebujete sdílení systému souborů napříč instancemi EC2, vyzkoušejte to a jsem si jistý, že se vám bude líbit.

Máte zájem dozvědět se více o AWS? Podívejte se na toto Kurz Udemy.

Užili jste si čtení článku? Co takhle sdílet se světem?