AWS Fargate
AWS Fargate
Serverless kontenery na AWS. Uruchamiaj aplikacje kontenerowe bez provisioningu, patchowania i zarządzania serwerami.
AWS Fargate to silnik obliczeniowy typu serverless dla kontenerów, który działa zarówno z Amazon ECS, jak i Amazon EKS. Dzięki Fargate nie musisz provisionować ani zarządzać instancjami EC2 - po prostu definiujesz wymagania CPU i pamięci dla swojego kontenera, a AWS zajmuje się resztą.
Fargate to idealne rozwiązanie, gdy chcesz skupić się na budowaniu aplikacji, a nie na zarządzaniu infrastrukturą. Nie musisz wybierać typów instancji, planować pojemności ani patchować systemów operacyjnych. Płacisz tylko za zasoby, które Twoje kontenery faktycznie zużywają.
Fargate uruchamia każdy task w dedykowanej, izolowanej maszynie wirtualnej opartej na Firecracker - tym samym hypervisorze, który napędza AWS Lambda. Dzięki temu kontenery różnych klientów nigdy nie współdzielą kernela.
Uzywaj Fargate Spot dla niekrytycznych taskow (przetwarzanie wsadowe, srodowiska dev) - zaoszczedzisz do 70%. Dla produkcji mieszaj Fargate (baseline) + Fargate Spot (burst). Zawsze ustawiaj limity zasobow precyzyjnie - placisz za zadeklarowane vCPU/pamiec, nie za faktyczne zuzycie.
Fargate jest 20-30% drozszy niz dobrze zoptymalizowane EC2 Spot. Ale oszczedzasz czas operacyjny - brak patchowania, brak aktualizacji AMI, brak planowania pojemnosci. Licz calkowity koszt posiadania (TCO) wlacznie z godzinami inzynierow, nie tylko rachunek AWS.
AWS Fargate to silnik obliczeniowy serverless dla kontenerow, ktory eliminuje koniecznosc zarzadzania serwerami. Platisz tylko za zasoby CPU i RAM uzywane przez Twoje taski - z dokladnoscia do sekundy.
Definicja Task Definition
Okreslasz obraz kontenera, wymagane CPU (0.25-16 vCPU) i pamiec (0.5-120 GB) oraz zmienne srodowiskowe. Task Definition to niezmienny szablon - kazda zmiana tworzy nowa rewizje.
Konfiguracja CPU i pamieci
Fargate oferuje 58 kombinacji CPU/pamiec. Np. 0.25 vCPU pozwala na 0.5-2 GB RAM, a 4 vCPU na 8-30 GB RAM. Niewlasciwy dobor to najczestszy blad - prowadzi do throttlingu lub przepalania budzetu.
Siec w trybie awsvpc
Kazdy task Fargate dostaje wlasny Elastic Network Interface (ENI) z prywatnym adresem IP w Twoim VPC. Kontrolujesz ruch przez Security Groups i Network ACL na poziomie pojedynczego taska.
Uruchomienie przez ECS Service lub EKS
ECS Service utrzymuje zadana liczbe replik i automatycznie zastepuje niezdrave taski. Mozesz tez uzyc Fargate jako profil w EKS - scheduler Kubernetes sam decyduje, ktore pody trafia na Fargate.
Auto Scaling
Application Auto Scaling skaluje liczbe taskow na podstawie metryk CloudWatch - CPU, RAM, custom metrics lub request count z ALB. Target Tracking automatycznie dodaje/usuwa taski aby utrzymac cel (np. 70% CPU).
Monitoring i logi
Fargate wysyla logi kontenerow do CloudWatch Logs przez wbudowany log driver awslogs. FireLens (Fluent Bit) pozwala routowac logi do S3, OpenSearch lub zewnetrznych systemow.
Fargate upraszcza operacje, ale ma specyficzne ograniczenia. Znajomosc tych niuansow pozwoli Ci wycisnac maksimum z serverless kontenerow.
Right-sizing - nie przepalaj budzetu
Uzyj CloudWatch Container Insights, aby zmierzyc rzeczywiste zuzycie CPU i RAM. Wiekszosc teamow over-provisionuje o 40-60%. Zmniejszenie konfiguracji z 1 vCPU/2GB na 0.5 vCPU/1GB tnie koszty o polowe.
PoczatkujacyFargate Spot dla batch workloadow
Fargate Spot oferuje do 70% znizki vs standardowy Fargate. Idealny dla batch processing, CI/CD builderow i workloadow tolerujacych przerwy. AWS daje 30-sekundowe ostrzezenie SIGTERM przed zakonczeniem taska.
ZaawansowanyLimity ephemeral storage
Domyslnie Fargate daje 20 GB ephemeral storage, konfigurowalny do 200 GB. Od 2024 mozesz tez podlaczyc wolumeny Amazon EBS do taskow Fargate (persystentny storage blokowy). Dla wspoldzielonego storage miedzy taskami uzyj EFS (NFS). - dziala z Fargate, ale z wyzsza latencja.
PoczatkujacyPlatform versions
Zawsze jawnie ustawiaj platform version (np. 1.4.0) zamiast LATEST. AWS moze zmienic LATEST bez ostrzezenia, co potencjalnie zepsuje Twoj workload. Testuj nowe wersje w srodowisku staging przed produkcja.
ZaawansowanyGraviton (ARM) dla oszczednosci
Fargate na procesorach Graviton (ARM64) jest ok. 20% tanszy i oferuje do 40% lepszy stosunek ceny do wydajnosci. Wystarczy zbudowac obraz multi-arch i ustawic runtimePlatform na LINUX/ARM64.
PoczatkujacyOptymalizacja czasu startu
Fargate cold start to 30-60 sekund. Zmniejsz obraz kontenera (Alpine/distroless), uzyj SOCI (Seekable OCI) do lazy-loading warstw i preallocuj taski w godzinach szczytu. SOCI moze skrocic czas startu o 50%.
ZaawansowanyScreenshoty z AWS Console
Wkrotce pojawia sie tu zrzuty ekranu pokazujace jak korzystac z AWS Fargate bezposrednio w konsoli AWS.
Do czego sluzy AWS Fargate?
Mikroserwisy i API
Uruchamiaj mikroserwisy jako taski Fargate. Każdy serwis ma własną definicję zasobów, skaluje się niezależnie i jest izolowany od innych.
Przetwarzanie wsadowe (batch)
Uruchamiaj krótkotrwałe joby przetwarzania danych, ETL czy generowania raportów bez utrzymywania stale działających serwerów.
Aplikacje z nieprzewidywalnym ruchem
Fargate automatycznie alokuje zasoby dla każdego taska. Idealny, gdy ruch zmienia się z 10 do 10 000 requestów na minutę.
CI/CD i automatyzacja
Uruchamiaj buildery, testy i pipeline jako taski Fargate. Po zakończeniu nie płacisz - zero idle kosztów.
Co musisz wiedziec?
Task Definition
Szablon opisujący Twój kontener: obraz Docker, wymagane CPU/RAM, zmienne środowiskowe, porty i wolumeny. Jak "przepis" na uruchomienie kontenera.
Task
Uruchomiona instancja Task Definition. Jeden task to jeden lub więcej kontenerów działających razem na infrastrukturze Fargate.
vCPU i pamięć
Fargate oferuje precyzyjne konfiguracje: od 0.25 vCPU + 0.5 GB RAM do 16 vCPU + 120 GB RAM. Wybierasz dokładnie tyle, ile potrzebuje Twoja aplikacja.
Platform Version
Wersja środowiska uruchomieniowego Fargate. Nowe wersje przynoszą lepszą wydajność, nowe funkcje i poprawki bezpieczeństwa.
Fargate Spot
Taski uruchamiane na wolnych mocach obliczeniowych AWS - do 70% taniej. AWS może je przerwać z 30-sekundowym ostrzeżeniem.
Aplikacja webowa na ECS Fargate
Typowa architektura mikroserwisu HTTP na Fargate z load balancingiem, persystentnym storage i centralnym logowaniem.
Porownanie Fargate vs EC2 Launch Type
| Cecha | Fargate | EC2 Launch Type |
|---|---|---|
| Zarzadzanie serwerami | Brak - serverless | Ty zarzadzasz instancjami |
| Skalowanie | Per-task, sekundy | Auto Scaling Groups, minuty |
| Koszt (niski ruch) | Wyzszy (placisz per task) | Nizszy (Reserved/Spot) |
| Koszt (wysoki ruch) | Wyzszy ~20-30% | Nizszy z RI/Spot |
| GPU | Nie | Tak |
| Persistent storage | EFS (wolniejsze) | EBS + EFS |
| Najlepszy dla | Male/srednie workloady, brak DevOps | Duza skala, GPU, optymalizacja kosztow |
Ile kosztuje AWS Fargate?
Na żądanie (On-Demand)
Płacisz za vCPU i pamięć przydzieloną do taska. Rozliczenie per sekunda, minimum 1 minuta.
1 vCPU + 2 GB RAM: ~$0.05/godz. (~$36/mies.)
Fargate Spot
Do 70% taniej niż On-Demand. Idealne dla workloadów odpornych na przerwania.
1 vCPU + 2 GB RAM Spot: ~$0.015/godz.
Savings Plans
Zobowiązanie na 1-3 lata za stałe zużycie Fargate. Do 50% oszczędności vs On-Demand.
Compute Savings Plan: do 50% taniej
Ephemeral Storage
Każdy task dostaje 20 GB za darmo. Dodatkowy storage (do 200 GB) jest płatny.
20 GB gratis, powyżej ~$0.000111/GB/godz.
Przyklady AWS CLI
Zarejestruj Task Definition
Rejestruje definicję taska z kontenerem nginx na Fargate
aws ecs register-task-definition \
--family moja-aplikacja \
--network-mode awsvpc \
--requires-compatibilities FARGATE \
--cpu "256" --memory "512" \
--container-definitions '[{"name":"web","image":"nginx:latest","portMappings":[{"containerPort":80}]}]'
Uruchom task na Fargate
Uruchamia pojedynczy task w klastrze ECS na platformie Fargate
aws ecs run-task \
--cluster moj-klaster \
--task-definition moja-aplikacja \
--launch-type FARGATE \
--network-configuration "awsvpcConfiguration={subnets=[subnet-abc123],securityGroups=[sg-xyz789],assignPublicIp=ENABLED}"
Wylistuj uruchomione taski
Pokazuje wszystkie taski Fargate w danym klastrze
aws ecs list-tasks \
--cluster moj-klaster \
--launch-type FARGATE
Zatrzymaj task
Zatrzymuje konkretny task Fargate
aws ecs stop-task \
--cluster moj-klaster \
--task arn:aws:ecs:eu-central-1:123456789012:task/moj-klaster/abc123def456
Quiz: AWS Fargate
Sprawdz czy dobrze rozumiesz podstawy. Kliknij odpowiedz — feedback pojawi sie od razu.
1. Co odróżnia AWS Fargate od uruchamiania kontenerów na EC2?
2. Z którymi orkiestratorami kontenerów współpracuje AWS Fargate?
3. Jaka jest minimalna konfiguracja zasobów taska Fargate?
4. Czym jest Fargate Spot?
Czesto uzywane razem z AWS Fargate
Czytaj więcej o AWS Fargate
Chcesz poznac AWS Fargate w praktyce?
Darmowy kurs "AWS od podstaw" pokazuje jak uzywac AWS Fargate krok po kroku. Teoria + praktyka od zera.