AWS (Amazon Web Services) to chmura Amazona: zestaw usług, w których za opłatą wynajmujesz serwery, bazy danych, miejsce na pliki i narzędzia, zamiast kupować własny sprzęt. Płacisz za to, z czego korzystasz, a zasoby uruchamiasz w minutę w przeglądarce lub z kodu. Według danych Synergy Research z III kwartału 2025 AWS miał 29% światowych wydatków na infrastrukturę chmurową, najwięcej ze wszystkich dostawców.
AWS pojawia się w ogłoszeniach, na rozmowach i w dokumentacji większości projektów, nawet jeśli nie jesteś DevOpsem. Ten artykuł wyjaśnia, czym jest AWS, co faktycznie wynajmujesz w tej chmurze, które usługi są dla początkującego programisty najważniejsze i jak nie dostać niespodziewanego rachunku. Pokazuję też krótki przykład w Pythonie, który sprawdziłem lokalnie. Zaznaczam od razu: nie zakładałem do tego artykułu konta AWS, więc ceny i limity opieram na dokumentacji i oficjalnych komunikatach, a nie na własnym rachunku.
Czym jest AWS?
AWS to platforma chmury obliczeniowej (cloud computing) prowadzona przez Amazon. Zamiast kupować serwer, stawiać go w serwerowni i dbać o prąd, chłodzenie i awarie dysków, wynajmujesz moc obliczeniową, pamięć i usługi od Amazona i płacisz za czas oraz zasoby, które zużywasz (model pay-as-you-go). Nowy zasób, np. wirtualny serwer, uruchamiasz kilkoma kliknięciami w konsoli w przeglądarce, poleceniem w terminalu albo kodem.
Najprościej to sobie wyobrazić tak: AWS to ogromny sklep z gotowymi klockami infrastruktury. Potrzebujesz komputera do uruchomienia aplikacji? Bierzesz klocek EC2. Miejsca na zdjęcia użytkowników? Bierzesz S3. Bazy danych? RDS. Każdy klocek ma własną cenę i własne zasady.
Dla porównania: wiele małych projektów można postawić na zwykłym hostingu albo VPS u mniejszego dostawcy. AWS wybiera się, gdy potrzebujesz skalowania, wielu rodzajów usług w jednym miejscu (bazy, kolejki, uczenie maszynowe) albo gdy wymaga go firma.
Jak działa chmura? Regiony i strefy dostępności
Infrastruktura AWS jest podzielona na regiony (regions), czyli geograficzne lokalizacje, np. Frankfurt (eu-central-1), Irlandia (eu-west-1) czy Sztokholm (eu-north-1). Każdy region składa się z kilku stref dostępności (availability zones), czyli oddzielnych centrów danych w tej samej okolicy. Dlaczego to ważne:
- Opóźnienie. Region bliżej użytkowników oznacza szybszą odpowiedź.
- Prawo i dane. Dane osobowe Europejczyków zwykle trzymasz w regionie europejskim.
- Awarie. Aplikację rozłożoną na kilka stref dostępności przeżyje awaria jednego centrum danych.
- Cena. Ta sama usługa kosztuje w różnych regionach inaczej.
Pierwsza pułapka początkujących: zasoby tworzysz w wybranym regionie i w konsoli widzisz tylko ten, który jest aktualnie wybrany. Stąd częste „zniknęły moje serwery”, gdy zasób został w innym regionie.
Jakie usługi AWS warto znać na początek?
AWS ma setki usług, ale na starcie wystarczy kilka. Tabela poniżej to mapa, a nie pełna lista:
| Usługa | Do czego służy | Odpowiednik z życia |
|---|---|---|
| EC2 | Wirtualne serwery (maszyny, na których uruchamiasz aplikację) | wynajęty komputer |
| S3 | Przechowywanie plików jako obiektów w „bucketach” | dysk w internecie bez struktury katalogów |
| RDS | Zarządzane bazy relacyjne (PostgreSQL, MySQL i inne) | baza, o którą dba ktoś inny |
| Lambda | Uruchamianie funkcji na zdarzenie, bez własnego serwera (serverless) | funkcja płatna za wywołanie |
| IAM | Użytkownicy, role i uprawnienia | zarządzanie kluczami do budynku |
| CloudFront | Sieć dostarczania treści (CDN), cache bliżej użytkownika | kopie plików w wielu miastach |
| VPC | Prywatna sieć dla Twoich zasobów | osobna sieć biurowa |
| CloudWatch | Logi, metryki i alarmy | monitoring i alerty |
| Bedrock | Dostęp do modeli AI przez API | modele językowe jako usługa |
Dwie rzeczy, które nowicjusze mylą najczęściej:
- S3 to nie dysk dołączony do serwera. Pliki wrzucasz i pobierasz przez API albo link, nie otwierasz ich jak katalogu na komputerze. Dysk dla serwera EC2 to osobna usługa (EBS).
- Lambda i EC2 to dwa różne podejścia. Na EC2 masz serwer, który działa cały czas i za ten czas płacisz. W Lambdzie funkcja uruchamia się tylko na żądanie i płacisz za jej wywołania, ale musisz mieszczić się w limitach (np. czasu działania pojedynczego uruchomienia). Gdy aplikacja potrzebuje stałego procesu, np. serwera WWW z długimi połączeniami, zwykle wybiera się serwer lub kontenery.
Jak wygląda kod, który używa AWS? Przykład z S3 w Pythonie
Do komunikacji z AWS z poziomu Pythona służy biblioteka boto3. Poniższy kod tworzy bucket, wgrywa plik, wypisuje listę obiektów, odczytuje plik, generuje tymczasowy link i pokazuje, co się dzieje, gdy klucza nie ma:
import boto3
s3 = boto3.client("s3", region_name="eu-central-1")
s3.create_bucket(
Bucket="moj-bucket-demo",
CreateBucketConfiguration={"LocationConstraint": "eu-central-1"},
)
s3.put_object(Bucket="moj-bucket-demo", Key="raporty/2026-11.txt", Body="Cześć z S3".encode())
for obj in s3.list_objects_v2(Bucket="moj-bucket-demo")["Contents"]:
print(obj["Key"], obj["Size"])
body = s3.get_object(Bucket="moj-bucket-demo", Key="raporty/2026-11.txt")["Body"].read().decode()
print(body)
url = s3.generate_presigned_url(
"get_object",
Params={"Bucket": "moj-bucket-demo", "Key": "raporty/2026-11.txt"},
ExpiresIn=300,
)
try:
s3.get_object(Bucket="moj-bucket-demo", Key="nie-ma.txt")
except s3.exceptions.NoSuchKey as e:
print("Błąd:", e.response["Error"]["Code"])
Uruchomiłem ten kod w boto3 1.43 z atrapą AWS (biblioteka moto 5.2), a nie z prawdziwym kontem. Wynik: wiersz raporty/2026-11.txt 12 (nazwa i rozmiar w bajtach, bo „Cześć z S3” w UTF-8 to 12 bajtów), odczytany tekst „Cześć z S3”, link z podpisem i błąd NoSuchKey dla brakującego klucza. Co z tego wynika:
- Klucz „raporty/2026-11.txt” to jedna nazwa, a „katalog”
raporty/to tylko jej część. To dlatego S3 nazywa się magazynem obiektów, a nie systemem plików. - Podpisany link (presigned URL) pozwala komuś pobrać prywatny plik przez 300 sekund bez dawania mu dostępu do konta.
- Na prawdziwym koncie ten kod zadziała dopiero po skonfigurowaniu danych logowania i uprawnień w IAM. Tego nie sprawdzałem, więc jeśli zobaczysz błąd
AccessDenied, szukaj przyczyny w uprawnieniach, a nie w kodzie. Nazwa bucketu musi być też unikalna w całym AWS, więcmoj-bucket-demozapewne będzie już zajęta.
Jeśli chcesz zobaczyć, jak taki kod wygląda w pełnym backendzie, zajrzyj do artykułu o tym, jak w FastAPI zrobić upload plików. Zapis na dysku serwera można tam zamienić na zapis w S3.
Ile kosztuje AWS i czy jest darmowy?
AWS ma darmowy plan (Free Tier), ale działa inaczej niż kiedyś. Według komunikatu AWS z 16 lipca 2025 nowi klienci po rejestracji dostają 100 USD kredytów i mogą zdobyć kolejne 100 USD, wykonując zadania w konsoli (m.in. z EC2 i Bedrock). Plan darmowy wygasa po 6 miesiącach od rejestracji albo po wyczerpaniu kredytów, zależnie od tego, co nastąpi wcześniej, a potem możesz przejść na plan płatny jednym kliknięciem. Dokładne zasady ważności kredytów sprawdź w panelu rozliczeń swojego konta, bo w materiałach AWS widziałem w tej sprawie sprzeczne informacje.
Poza darmowym planem AWS rozlicza zużycie: czas pracy serwera, ilość danych w S3, liczbę wywołań funkcji, transfer danych na zewnątrz. Najczęstsze źródła niespodzianek:
| Pułapka | Co się dzieje | Jak się zabezpieczyć |
|---|---|---|
| Zapomniany serwer lub baza | zasób działa i kosztuje, choć go nie używasz | po ćwiczeniu usuń zasoby, sprawdź listę w każdym regionie |
| Dane wychodzące | pobieranie dużych plików z chmury bywa płatne | sprawdź cennik transferu przed udostępnieniem plików |
| Zasób w innym regionie | nie widzisz go w konsoli, a płacisz | zawsze sprawdź, jaki region jest wybrany |
| Brak limitu wydatków | rachunek rośnie po błędzie w kodzie | ustaw alert budżetowy (AWS Budgets) od pierwszego dnia |
Nie podaję cen poszczególnych usług, bo zmieniają się w zależności od regionu i czasu. Zawsze zajrzyj do kalkulatora cen na stronie AWS, zanim uruchomisz coś, co ma działać dłużej niż godzinę.
Jak zabezpieczyć konto AWS?
W AWS obowiązuje model współdzielonej odpowiedzialności (shared responsibility model): AWS odpowiada za bezpieczeństwo centrów danych i sprzętu, a Ty za to, co w chmurze umieścisz i jak to skonfigurujesz. Na początku warto zrobić cztery rzeczy:
- Włącz uwierzytelnianie dwuskładnikowe (MFA) na koncie głównym i nie używaj go na co dzień.
- Pracuj na użytkowniku lub roli IAM z minimalnymi potrzebnymi uprawnieniami, a nie na koncie głównym.
- Nie umieszczaj kluczy dostępu w kodzie ani w repozytorium. Klucze wrzucone do publicznego repozytorium mogą zostać przejęte, a ich użycie obciąży Twój rachunek.
- Sprawdzaj, czy bucket S3 nie jest publiczny, jeśli nie ma być.
Kto pracuje z AWS? Cloud Engineer, DevOps i programista
Z AWS spotkasz się w kilku rolach. Programista zwykle korzysta z kilku usług (S3, bazy, funkcje), a konfigurację całej infrastruktury prowadzi Cloud Engineer lub DevOps. O tym, czym jest Cloud Engineer i jak ta rola ma się do DevOps, opowiada Wojciech Lepczyński, DevOps Cloud Architect, w rozmowie z Mateuszem Bogolubowem:
AWS, Azure czy Google Cloud? Dane o rynku
Trzech największych dostawców chmury to AWS, Microsoft Azure i Google Cloud. Według Synergy Research (dane za III kwartał 2025 podawane przez The Register) rynek infrastruktury chmurowej wart był wtedy 107 mld USD, a udziały wyglądały tak:
| Dostawca | Udział w wydatkach, III kw. 2025 |
|---|---|
| AWS | 29% |
| Microsoft (Azure) | 20% |
| Google Cloud | 13% |
AWS jest więc największy, ale to nie jest wybór „jeden słuszny”. Nowszych niż 2025 udziałów nie podaję, bo nie udało mi się ich zweryfikować w wiarygodnym źródle. Ta wiedza przenosi się między dostawcami: serwer wirtualny, magazyn obiektów, tożsamości i sieci wirtualne działają podobnie w każdej chmurze, zmieniają się nazwy i szczegóły. Dlatego pierwszy wybór dostawcy nie jest wyrokiem na całą karierę. Zwykle decyduje firma, w której pracujesz.
Kiedy programista potrzebuje AWS, a kiedy nie?
| Sytuacja | Czy AWS ma sens? |
|---|---|
| Nauka podstaw HTML, CSS, JavaScript | Nie, zacznij od podstaw |
| Pierwsza strona lub prosta aplikacja do portfolio | Zwykle nie, wystarczy prostszy hosting |
| Backend, który ma przechowywać pliki użytkowników | Tak, S3 to typowy wybór |
| Aplikacja, której ruch silnie się zmienia | Tak, skalowanie to mocna strona chmury |
| Ogłoszenie wymaga AWS | Tak, ćwicz na darmowym planie z alertem budżetowym |
| Projekt z modelami AI w chmurze | Warto poznać Bedrock lub odpowiednik u innego dostawcy |
Jak zacząć naukę AWS?
- Zacznij od podstaw programowania. Chmura ma sens, gdy masz co w niej uruchomić. Jeśli uczysz się Pythona, rozbuduj najpierw prosty backend we FastAPI.
- Załóż konto z darmowym planem i od razu ustaw alert budżetowy oraz MFA na koncie głównym.
- Zrób jedno ćwiczenie dziennie z jedną usługą. Najpierw S3 (wgraj plik, wygeneruj link), potem EC2 (uruchom serwer i go usuń), potem Lambda.
- Usuwaj wszystko po ćwiczeniu i sprawdzaj listę zasobów we wszystkich regionach.
- Certyfikaty (najniższy poziom to Cloud Practitioner) rozważ dopiero wtedy, gdy wiesz, że będą Ci potrzebne. Aktualną cenę i program egzaminu sprawdź na stronie AWS, bo nie mam ich z oficjalnego źródła.
Jeśli chcesz nauczyć się działać w chmurze pod okiem mentora, a nie tylko czytać o niej dokumentację, zajrzyj do kursu AI Engineer. Kończy go moduł wdrożenie produkcyjne w chmurze, w którym uruchamiasz cały system w kontenerach na prawdziwym serwerze z automatycznym HTTPS. Ćwiczysz tam to, co potem przydaje się w każdej chmurze, także w AWS: wdrożenie, konfigurację i utrzymanie usługi.
Jaki błąd w chmurze jest najdroższy?
Najdroższy błąd początkujących w chmurze to nie zła architektura, tylko zapomniany zasób. Po każdym ćwiczeniu sprawdź listę usług we wszystkich regionach i usuń to, czego nie potrzebujesz.
Podsumowanie
- AWS to chmura Amazona: wynajmujesz serwery, bazy, magazyn plików i inne usługi, a płacisz za zużycie.
- Na start wystarczy kilka usług: EC2 (serwery), S3 (pliki), RDS (bazy), Lambda (funkcje) i IAM (uprawnienia).
- Nowe konta dostają plan darmowy z kredytami (100 USD na start i do 100 USD za zadania), ważny maksymalnie 6 miesięcy, więc od pierwszego dnia ustaw alert budżetowy i usuwaj nieużywane zasoby.
- AWS ma największy udział w rynku (29% w III kw. 2025 według Synergy), ale wiedza z AWS przenosi się na Azure i Google Cloud.
- Kod w Pythonie z
boto3sprawdziłem na atrapie AWS, a nie na prawdziwym koncie, więc uprawnienia IAM trzeba skonfigurować samemu.


