Amazon EFS
Amazon Elastic File System
W pełni zarządzany, elastyczny system plików NFS dla wielu instancji EC2, kontenerów i funkcji Lambda. Automatyczne skalowanie od kilobajtów do petabajtów.
Amazon Elastic File System (EFS) to w pełni zarządzany system plików NFS (Network File System) w chmurze. W odróżnieniu od EBS, który jest przypisany do jednej instancji, EFS może być montowany jednocześnie przez tysiące instancji EC2, kontenerów ECS/EKS i funkcji Lambda - idealny do współdzielenia danych.
EFS automatycznie skaluje się w górę i w dół - nie musisz provisionować pojemności. Płacisz tylko za przechowywane dane. System plików może rosnąć od kilku kilobajtów do petabajtów bez przerw w dostępności. Dzięki lifecycle management rzadko używane pliki są automatycznie przenoszone do tańszej klasy Infrequent Access.
EFS automatycznie skaluje się do petabajtów bez żadnej interwencji. Nie musisz deklarować rozmiaru systemu plików z góry - po prostu zacznij zapisywać pliki. Jeden klient AWS przechowuje ponad 20 PB danych na jednym systemie plików EFS.
Włącz Lifecycle Management z przejściem do IA po 30 dniach, a do Archive po 90 dniach. W typowym systemie plików 80% danych jest rzadko używanych, więc możesz zaoszczędzić ponad 70% na kosztach storage bez żadnych zmian w aplikacji - pliki automatycznie wracają do Standard przy odczycie.
Amazon EFS to w pelni zarzadzany, elastyczny system plikow NFS, ktory automatycznie skaluje sie od zera do petabajtow bez potrzeby provisionowania pojemnosci. EFS jest dostepny jednoczesnie z tysiecy instancji EC2, kontenerow ECS/EKS i funkcji Lambda w wielu Availability Zones, co czyni go idealnym dla wspoldzielonych workloadow.
Tworzenie systemu plikow
Przy tworzeniu EFS wybierasz klase storage: Standard (dane w wielu AZ, 99.999999999% durability) lub One Zone (dane w jednej AZ, 47% tansze). Okreslasz rowniez czy wlaczyc szyfrowanie at rest (KMS) - po utworzeniu nie mozna tego zmienic. EFS automatycznie replikuje dane w ramach wybranej konfiguracji bez zadnego zarzadzania dyskami.
Tryb wydajnosci (Performance Mode)
General Purpose to domyslny tryb - oferuje najnizsza latencje (< 1 ms) i do 35 000 IOPS odczytu. Max I/O to tryb dla workloadow wymagajacych masywnej rownoleglej wydajnosci (setki/tysiace klientow) kosztem wyzszej latencji. Trybu wydajnosci nie mozna zmienic po utworzeniu systemu plikow. Dla nowych projektow General Purpose z Elastic throughput pokrywa 95% przypadkow.
Tryb throughput
Bursting Throughput skaluje przepustowosc proporcjonalnie do rozmiaru (50 MiB/s na TiB, burst do 100 MiB/s). Provisioned Throughput pozwala ustawic staly poziom niezaleznie od rozmiaru. Elastic Throughput (najnowszy) automatycznie skaluje do 10 GiB/s odczytu i 3 GiB/s zapisu - placisz tylko za faktyczne uzycie. Elastic jest najlepszy dla nieregularnych workloadow.
Mount Targets w kazdej AZ
Mount Target to interfejs sieciowy (ENI) w konkretnej AZ i subnecie, przez ktory klienci lacza sie z EFS. Dla systemu plikow Standard tworz Mount Target w kazdej AZ, z ktorej chcesz miec dostep - zapewnia to wysoka dostepnosc i niskie latencje. Kazdy Mount Target ma wlasny adres IP i moze miec przypisana Security Group kontrolujaca dostep NFS (port 2049).
Montowanie na EC2, ECS i Lambda
Na EC2 montujesz EFS przez klienta NFS v4.1 (amazon-efs-utils upraszcza konfiguracje z szyfrowaniem in transit). W ECS/Fargate definiujesz EFS jako volume w task definition. Lambda moze podlaczyc EFS przez VPC - idealny do wspoldzielenia danych miedzy funkcjami (np. modele ML, pliki konfiguracyjne). Uzyj amazon-efs-utils z opcja tls dla szyfrowania w tranzycie.
Lifecycle Management - automatyczna migracja do IA
EFS Lifecycle Management automatycznie przenosi pliki nieuzywane przez okreslony czas (7/14/30/60/90 dni) do klasy Infrequent Access (IA), ktora jest do 92% tansza od Standard. Mozesz tez skonfigurowac automatyczny powrot do Standard przy ponownym dostepie. Typowa konfiguracja: przeniesienie do IA po 30 dniach, powrot do Standard przy dostepie.
Praktyczne wskazowki do optymalizacji kosztow, wydajnosci i bezpieczenstwa EFS w srodowiskach produkcyjnych z wieloma klientami.
EFS Infrequent Access - 92% oszczednosci na zimnych danych
EFS IA kosztuje 0.016 USD/GiB/mies. vs 0.30 USD/GiB/mies. dla Standard (us-east-1) - to ponad 90% oszczednosci. Wlacz Lifecycle Policy z przeniesieniem do IA po 30 dniach. Typowy filesystem z 80% zimnych danych obniza koszt o 70-80%. Pamietaj o oplatie za dostep do IA (0.01 USD/GiB odczytu) - jezeli dane sa czesto czytane, IA moze byc drozszy.
PoczatkujacyElastic Throughput dla nieregularnych workloadow
Elastic Throughput automatycznie skaluje przepustowosc do 10 GiB/s odczytu bez konfiguracji. Placisz za faktycznie przetransferowane dane (0.04 USD/GiB odczytu, 0.08 USD/GiB zapisu) zamiast za prowizjonowana przepustowosc. Idealny dla workloadow z pikami (CI/CD, batch processing, web serving). Dla stalego, wysokiego throughputu Provisioned moze byc tanszy.
PoczatkujacyEFS Access Points dla kontenerow
Access Points umozliwiaja definiowanie punktow wejscia do EFS z wymuszonym UID/GID, katalogiem root i uprawnieniami. Kazdy kontener/task ECS moze miec wlasny Access Point wskazujacy na inny katalog - zapewnia to izolacje danych miedzy serwisami. Polacz Access Points z IAM authorization (iam mount option) dla pelnej kontroli dostepu na poziomie taska.
ZaawansowanyEFS Replication dla Disaster Recovery
EFS Replication automatycznie replikuje system plikow do innego regionu AWS z RPO ponizej 15 minut. Replika jest read-only do momentu failoveru. Replikacja jest asymetryczna - placisz za transfer miedzy regionami i storage repliki. Dla krytycznych workloadow (np. CMS, wspoldzielone dane aplikacji) EFS Replication jest prostsza alterntywa niz DataSync z harmonogramem.
ZaawansowanyTuning wydajnosci NFS
Uzyj opcji montowania nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 dla optymalnej wydajnosci. Wieksze rozmiary buforow (rsize/wsize) poprawiaja throughput dla duzych plikow. Dla workloadow z wieloma malymi plikami rozważ cache (np. fscache) lub buforowanie w pamięci aplikacji. Monitoruj metryki PercentIOLimit i BurstCreditBalance w CloudWatch.
ZaawansowanyEFS vs EBS - kiedy co wybrac
EFS: wspoldzielony dostep z wielu instancji, automatyczne skalowanie, NFS protocol. EBS: najnizsza latencja (< 0.5 ms), najwyzszy IOPS (256K), blokowy dostep dla baz danych. EFS kosztuje 0.30 USD/GiB vs EBS gp3 0.08 USD/GiB - EFS jest 3.75x drozszy za GiB, ale nie wymaga prowizjonowania. Dla jednej instancji z przewidywalnym rozmiarem zawsze EBS.
PoczatkujacyScreenshoty z AWS Console
Wkrotce pojawia sie tu zrzuty ekranu pokazujace jak korzystac z Amazon EFS bezposrednio w konsoli AWS.
Do czego sluzy Amazon EFS?
Współdzielony storage dla web serwerów
Wiele instancji EC2 za load balancerem montuje ten sam system plików EFS. Zmiany w plikach (np. upload) są natychmiast widoczne na wszystkich serwerach.
Home directories dla użytkowników
Każdy użytkownik ma swój katalog na EFS dostępny z dowolnej instancji. Idealne dla środowisk developerskich i desktopów wirtualnych (WorkSpaces).
Storage dla kontenerów
EFS integruje się z ECS i EKS jako persistent volume. Kontenery mogą współdzielić dane między sobą i przeżywać restarty bez utraty plików.
Dane dla funkcji Lambda
Lambda montuje EFS jako lokalny system plików. Idealne do przetwarzania dużych zbiorów danych ML, plików konfiguracyjnych czy bibliotek.
Co musisz wiedziec?
Performance Mode
General Purpose - domyślny, niski latency dla większości workloadów. Max I/O - wyższy throughput i IOPS, ale wyższy latency. Dla big data i media processing.
Throughput Mode
Bursting - throughput skaluje się z rozmiarem. Provisioned - stały, skonfigurowany throughput niezależnie od rozmiaru. Elastic - automatycznie dostosowuje się do obciążenia.
Storage Classes
Standard - dla aktywnie używanych plików. Infrequent Access (IA) - do 92% tańszy dla rzadko używanych danych. Archive - najtańszy, dla danych odczytywanych kilka razy w roku.
Lifecycle Management
Automatyczne przenoszenie plików między klasami storage na podstawie czasu ostatniego dostępu. Np. po 30 dniach bez odczytu plik jest przenoszony do IA.
Mount Target
Punkt montowania EFS w Availability Zone. Aby instancje w danej AZ mogły montować system plików, musisz utworzyć mount target w tej AZ.
Access Points
Punkty dostępu z predefiniowanym katalogiem root i uprawnieniami POSIX. Upraszczają zarządzanie dostępem dla wielu aplikacji na jednym EFS.
Architektura: EFS wspoldzielony miedzy serwisami
Typowa architektura EFS z Mount Targets w kazdej Availability Zone, obslugujaca jednoczesny dostep z EC2, ECS i Lambda. Lifecycle Management automatycznie przenosi zimne dane do klasy Infrequent Access.
Ile kosztuje Amazon EFS?
Standard Storage
Opłata za GB-miesiąc przechowywanych danych. Brak opłaty za provisionowanie - płacisz za faktyczne użycie.
$0.30/GB-mies. (100 GB = $30/mies.)
Infrequent Access (IA)
Dużo tańszy storage dla rzadko używanych plików. Dodatkowa opłata za odczyt/zapis.
$0.016/GB-mies. + $0.01/GB za odczyt
Elastic Throughput
Płacisz za faktyczny transfer danych. Automatyczne skalowanie throughput bez provisionowania.
$0.04/GB transfer (odczyt), $0.08/GB (zapis)
Provisioned Throughput
Stały, gwarantowany throughput niezależny od rozmiaru systemu plików.
$6.00/MB/s-mies. provisionowanego throughput
Przyklady AWS CLI
Utwórz system plików EFS
Tworzy zaszyfrowany system plików z tagami
aws efs create-file-system \
--performance-mode generalPurpose \
--throughput-mode elastic \
--encrypted \
--tags Key=Name,Value=shared-web-storage
Utwórz mount target
Tworzy punkt montowania w określonej podsieci i security group
aws efs create-mount-target \
--file-system-id fs-0123456789abcdef0 \
--subnet-id subnet-0123456789abcdef0 \
--security-groups sg-0123456789abcdef0
Ustaw lifecycle policy
Konfiguruje automatyczne przenoszenie plików do IA po 30 dniach
aws efs put-lifecycle-configuration \
--file-system-id fs-0123456789abcdef0 \
--lifecycle-policies TransitionToIA=AFTER_30_DAYS TransitionToArchive=AFTER_90_DAYS
Utwórz Access Point
Tworzy punkt dostępu z dedykowanym katalogiem root dla aplikacji
aws efs create-access-point \
--file-system-id fs-0123456789abcdef0 \
--posix-user Uid=1000,Gid=1000 \
--root-directory "Path=/app/data,CreationInfo={OwnerUid=1000,OwnerGid=1000,Permissions=755}"
Quiz: Amazon EFS
Sprawdz czy dobrze rozumiesz podstawy. Kliknij odpowiedz — feedback pojawi sie od razu.
1. Czym EFS różni się od EBS pod względem dostępu?
2. Która klasa storage EFS jest najtańsza?
3. Który tryb throughput automatycznie dostosowuje się do obciążenia?
4. Co to jest mount target w EFS?
Czesto uzywane razem z Amazon EFS
Chcesz poznac Amazon EFS w praktyce?
Darmowy kurs "AWS od podstaw" pokazuje jak uzywac Amazon EFS krok po kroku. Teoria + praktyka od zera.