Amazon EFS
Storage Cloud Practitioner Solutions Architect Associate

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.

Czy wiesz, ze...

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.

Pro Tip

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.

1

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.

2

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.

3

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.

4

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).

5

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.

6

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.

Poczatkujacy

Elastic 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.

Poczatkujacy

EFS 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.

Zaawansowany

EFS 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.

Zaawansowany

Tuning 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.

Zaawansowany

EFS 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.

Poczatkujacy

Screenshoty z AWS Console

Wkrotce pojawia sie tu zrzuty ekranu pokazujace jak korzystac z Amazon EFS bezposrednio w konsoli AWS.

Do czego sluzy Amazon EFS?

01

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.

02

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).

03

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.

04

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.

EC2 / ECS / Lambda
EC2 / ECS / Lambda Klienci NFS v4.1 montujacy EFS z wielu serwisow i AZ jednoczesnie
NFS v4.1 (port 2049)
Mount Target (AZ-a) ENI w subnecie AZ-a z Security Group kontrolujaca port 2049
NFS v4.1 (port 2049)
Mount Target (AZ-b) ENI w subnecie AZ-b - zapewnia dostepnosc i niskie latencje w drugiej AZ
replikacja miedzy AZ
EFS Filesystem Elastyczny system plikow: auto-skalowanie do petabajtow, 11x9 durability
lifecycle policy (30 dni)
EFS Infrequent Access Klasa storage dla zimnych danych - 92% tansza niz Standard
cross-region replication
EFS Replication (DR) Replika read-only w innym regionie z RPO < 15 minut
Mount Target w kazdej AZ zapewnia wysoka dostepnosc - awaria jednej AZ nie wplywa na dostep z pozostalych.
Lifecycle Management do IA po 30 dniach obniza koszty o 70-80% dla typowych workloadow z przewaga zimnych danych.
Access Points z wymuszonym UID/GID izoluja dane miedzy kontenerami bez zarzadzania uprawnieniami na poziomie OS.

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.

Twoj wynik: 0 / 4

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?

Chcesz poznac Amazon EFS w praktyce?

Darmowy kurs "AWS od podstaw" pokazuje jak uzywac Amazon EFS krok po kroku. Teoria + praktyka od zera.

Zacznij darmowy kurs Wszystkie serwisy