W środowiskach, gdzie aplikacje działają na wielu serwerach i wymagają dostępu do tych samych plików, kluczowe staje się wdrożenie współdzielonego systemu plików. Jednym z rozwiązań jest wykorzystanie NFS (Network File System), które umożliwia udostępnianie zasobów między różnymi maszynami.
Konfiguracja NFS, choć umożliwia dzielenie się plikami w obrębie sieci, często wymaga sporej wiedzy administracyjnej i może być czasochłonna, szczególnie w tradycyjnych infrastrukturach, gdzie konieczna jest współpraca wielu zespołów. Jednak, korzystając z AWS, proces ten można znacznie uprościć i przyspieszyć dzięki usłudze EFS (Elastic File System).
AWS EFS to usługa, która pozwala na tworzenie skalowalnej przestrzeni dyskowej dla instancji EC2. Nie musisz już martwić się o szacowanie potrzebnej pojemności, ponieważ EFS elastycznie dostosowuje się do bieżącego zapotrzebowania, zwiększając lub zmniejszając swoją wielkość w zależności od potrzeb.
Poniższa ilustracja, zaczerpnięta z zasobów AWS, pomoże zrozumieć, jak działa ta usługa.
EFS oferuje szereg zalet, między innymi:
- Pełne zarządzanie po stronie AWS.
- Model płatności oparty na rzeczywistym zużyciu, co pozwala na optymalizację kosztów.
- Wysoką dostępność i trwałość danych.
- Automatyczne skalowanie w górę i w dół.
- Elastyczną wydajność, dopasowaną do aktualnych potrzeb.
W dalszej części tego artykułu pokażę, jak utworzyć system EFS i zamontować go na dwóch instancjach EC2 Ubuntu.
Przejdźmy do konfiguracji:
- Zaloguj się do konsoli AWS.
- W sekcji „Usługi” odszukaj i wybierz „EFS” w kategorii „Magazyn” (link bezpośredni).
- Kliknij przycisk „Utwórz system plików”.
- AWS automatycznie przydzieli adres IP w wybranej strefie dostępności. Jeśli zajdzie taka potrzeba, możesz to zmienić w kolejnym kroku.
- Dodaj tag (opcjonalnie), a następnie wybierz tryb wydajności pomiędzy „Ogólne przeznaczenie” lub „Maks. we/wy”.
- Sprawdź ustawienia. Jeżeli wszystko się zgadza, kliknij przycisk „Utwórz system plików”.
Po kilku sekundach system plików zostanie utworzony i zobaczysz odpowiedni komunikat.
Gratulacje! Twój system plików EFS jest gotowy. Możesz go zamontować na instancjach EC2, które mają zainstalowanego klienta NFSv4.1. Istnieje również możliwość montowania z serwerów lokalnych poprzez połączenie AWS Direct Connect.
Na liście dostępnych systemów plików zobaczysz nowo utworzony EFS.
To wszystko! System plików EFS został utworzony i jest gotowy do montowania na instancjach EC2.
Montowanie EFS na EC2
Zanim przystąpisz do montowania, musisz zainstalować klienta NFS. Szczegółowe instrukcje znajdziesz, rozwijając listę i wybierając opcję „Instrukcje montażu Amazon EC2”.
Zobaczmy, jak to wygląda w praktyce:
- Zaloguj się do obu instancji EC2 i zainstaluj klienta NFS. W przypadku systemu Ubuntu użyjemy następującego polecenia:
apt-get install nfs-common
- Następnie utwórz folder, w którym chcesz zamontować system EFS.
Na przykład, /aplikacje:
cd / mkdir apps
Teraz zamontuj system plików, używając polecenia, które znajdziesz w instrukcjach.
Przykładowe polecenie:
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
Uwaga: Jeśli podczas montowania wystąpią problemy, zapoznaj się z przewodnikiem rozwiązywania problemów. Nie zapomnij również sprawdzić konfiguracji grup bezpieczeństwa. Upewnij się, że:
- Port NFS (2049) jest otwarty w regułach przychodzących dla instancji EC2.
- Grupy bezpieczeństwa instancji EC2 są dozwolone w grupach bezpieczeństwa EFS.
Po chwili folder /apps powinien być zamontowany. Możesz to sprawdzić za pomocą polecenia 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]:/#
Teraz zaloguj się na drugi serwer, na którym ma być dostępny folder /apps i powtórz proces tworzenia folderu i montowania EFS.
Po zamontowaniu EFS na obu serwerach folder /apps powinien być dostępny na obu maszynach.
[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#
Proste, prawda?
Przeprowadziłem testy, tworząc kilka plików i ogólna wydajność wygląda dobrze. AWS EFS to obiecujące rozwiązanie, które warto wypróbować, jeśli potrzebujesz współdzielonego systemu plików w instancjach EC2.
Chcesz dowiedzieć się więcej o AWS? Sprawdź ten kurs na Udemy.
Spodobał Ci się ten artykuł? Podziel się nim ze znajomymi!
newsblog.pl
Maciej – redaktor, pasjonat technologii i samozwańczy pogromca błędów w systemie Windows. Zna Linuxa lepiej niż własną lodówkę, a kawa to jego główne źródło zasilania. Pisze, testuje, naprawia – i czasem nawet wyłącza i włącza ponownie. W wolnych chwilach udaje, że odpoczywa, ale i tak kończy z laptopem na kolanach.