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

Photo of author

By etechblogcz

V situacích, kdy pracujete s aplikacemi rozloženými na více serverech a potřebujete sdílet souborový systém mezi nimi, je nezbytné nakonfigurovat NFS (Network File System).

NFS umožňuje sdílení datového prostoru mezi různými servery, avšak jeho implementace vyžaduje specifické dovednosti administrace.

V tradičních infrastrukturách může být proces zprovoznění NFS poměrně zdlouhavý a může vyžadovat spolupráci více týmů. Avšak v prostředí AWS lze toto provést během několika minut za pomocí služby EFS (Elastic File System).

AWS EFS představuje škálovatelné úložiště pro soubory, které je ideální pro použití s EC2 instancemi. Nemusíte se obávat plánování kapacity, neboť systém se automaticky přizpůsobuje aktuálním potřebám.

Následující ilustrace, převzatá z webu AWS, vám přiblíží princip fungování EFS.

Mezi hlavní výhody EFS patří:

  • Plná správa ze strany AWS.
  • Efektivní náklady, platíte pouze za skutečné využití.
  • Vysoká dostupnost a spolehlivost.
  • Automatické škálování dle potřeb.
  • Flexibilní výkon.

V tomto návodu si ukážeme, jak vytvořit EFS a připojit ho ke dvěma EC2 Ubuntu instancím.

Začněme tedy:

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

  • AWS automaticky přidělí IP adresu v dané zóně dostupnosti. Tuto konfiguraci je možné změnit na další obrazovce.

  • Dle potřeby přidejte štítky a zvolte režim výkonu mezi obecným použitím nebo maximalizovaným I/O.

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

Proces vytváření může trvat několik sekund, po jehož dokončení obdržíte potvrzující zprávu.

Úspěch!

Nyní máte vytvořený systém souborů. Můžete ho připojit z EC2 instancí s nainstalovaným NFSv4.1 klientem. Také je možné připojení z lokálního serveru přes AWS Direct Connect.

V seznamu uvidíte nově vytvořený elastický systém souborů.

To znamená, že EFS je připraven k připojení k EC2 instancím.

Připojení EFS k EC2

Před samotným připojením je nutné nainstalovat NFS klienta. Podrobný návod naleznete po rozkliknutí seznamu a výběru možnosti „Pokyny k montáži Amazon EC2“.

Pojďme se na to podívat prakticky.

  • Přihlaste se do obou EC2 instancí a nainstalujte NFS klienta. V případě Ubuntu použijte následující příkaz:
apt-get install nfs-common
  • Vytvořte složku, do které chcete EFS připojit.

Například: /apps

cd /
mkdir apps

Nyní připojte systém souborů 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 narazíte na potíže při připojování, nahlédněte do tohoto průvodce řešením problémů a nezapomeňte zkontrolovat bezpečnostní skupiny, aby bylo zajištěno:

  • Port NFS (2049) je povolen v pravidlech pro příchozí spojení EC2 instance.
  • Bezpečnostní skupiny EC2 jsou povoleny v bezpečnostních skupinách EFS.

Po několika sekundách byste měli vidět, že /apps je připojeno. Ověřte to příkazem 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 přihlaste na druhý server, kde chcete /apps sdílet a zopakujte proces vytvoření složky a připojení EFS.

Pro ověření jsem EFS připojil na další server a vidím, že /apps je dostupná z obou 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#

Je to snadné, že?

Vyzkoušel jsem vytvořit několik souborů a výkon se jeví velmi dobře. AWS EFS je slibné řešení, a pokud potřebujete sdílet souborový systém mezi EC2 instancemi, určitě to vyzkoušejte. Myslím, že se vám to bude líbit.

Chcete se dozvědět více o AWS? Podívejte se na tento Udemy kurz.

Líbil se vám tento článek? Podělte se o něj se světem!