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!