Amazon EC2 - Twój własny serwer w chmurze

Pamiętasz czasy, gdy postawienie serwera oznaczało zamówienie sprzętu, czekanie tygodniami na dostawę i modlenie się, żeby nic nie padło po drodze? Amazon EC2 (Elastic Compute Cloud) zmienia to kompletnie. Kilka kliknięć i masz działający serwer. Za minutę. Na drugim końcu świata, jeśli chcesz.

EC2 to jedna z najstarszych i najważniejszych usług AWS. Została uruchomiona w 2006 roku i do dziś jest fundamentem większości architektur w chmurze. Nawet jeśli docelowo planujesz używać kontenerów czy serverless, zrozumienie EC2 jest absolutnie kluczowe.

Czym jest instancja EC2?

Instancja EC2 to maszyna wirtualna (VM) działająca na fizycznych serwerach w data center AWS. Dostajesz wirtualny procesor (vCPU), pamięć RAM, dysk (storage) i kartę sieciową. Możesz zainstalować na niej dowolny system operacyjny: Linux, Windows Server, macOS (tak, to też!).

💡 Analogia
Wyobraź sobie ogromny hotel. Każdy pokój to osobna instancja EC2. Goście (Twoje aplikacje) mają swoje prywatne pokoje, ale dzielą budynek (fizyczny serwer). Nie widzą się nawzajem, nie przeszkadzają sobie, a hotel dba o prąd, klimatyzację i ochronę.

AMI - Amazon Machine Image

Zanim uruchomisz instancję, musisz wybrać AMI (Amazon Machine Image). To szablon, który definiuje co będzie na Twoim serwerze „od startu":

  • System operacyjny - Amazon Linux, Ubuntu, Windows Server, Red Hat
  • Preinstalowane oprogramowanie - np. WordPress, Docker, baza danych
  • Konfiguracja startowa - ustawienia, skrypty uruchamiane przy starcie

AWS oferuje tysiące gotowych AMI (w tym darmowe!), ale możesz też tworzyć własne. Zrobiłeś idealną konfigurację serwera? Zapisz ją jako AMI i uruchamiaj klony w sekundy.

Cykl życia instancji EC2

Instancja EC2 przechodzi przez kilka stanów. Zrozumienie tego cyklu to fundament pracy z EC2:

Stan instancji
  • Pending - instancja się uruchamia
  • Running - działa, naliczane opłaty
  • Stopping - w trakcie zatrzymywania
  • Stopped - zatrzymana, brak opłat za compute
  • Terminated - usunięta na zawsze
Co musisz wiedzieć
  • Pending: nie możesz się jeszcze połączyć
  • Running: płacisz za każdą sekundę (lub godzinę)
  • Stopped: NIE płacisz za compute, ale płacisz za dysk EBS!
  • Terminated: dane na dysku instance store są tracone
  • Reboot: restart bez zmiany publicznego IP
⚠️ Uwaga egzaminacyjna
Zatrzymana instancja (Stopped) nie generuje kosztów za compute, ale nadal płacisz za attached EBS volumes i za publiczne adresy IPv4, w tym Elastic IP (od lutego 2024 AWS nalicza 0.005 USD/h za każdy publiczny IPv4 - także przypisany do działającej instancji). To klasyczne pytanie na egzaminie!

User Data - automatyzacja przy starcie

Przy uruchamianiu instancji możesz przekazać User Data - skrypt, który wykona się automatycznie przy pierwszym starcie. To potężne narzędzie do automatyzacji:

  • Instalacja pakietów (yum install nginx)
  • Konfiguracja aplikacji
  • Pobieranie kodu z repozytorium
  • Uruchamianie serwisów
🏢 Scenariusz: Startup uruchamia MVP
Mały startup potrzebuje serwera do aplikacji webowej. Zamiast kupować sprzęt za kilkanaście tysięcy złotych, DevOps w 10 minut uruchamia instancję EC2 t3.micro (darmowa w ramach Free Tier!), instaluje Node.js przez User Data, deployuje aplikację i rozsyła link do inwestorów. Koszt? Pokrywa go startowy kredyt Free Tier (nowe konta dostają 100-200 USD kredytów do wykorzystania w ciągu 6 miesięcy). Gdyby okazało się, że potrzebują więcej mocy, zmiana typu instancji to kwestia paru kliknięć.

Metadane instancji

Każda instancja EC2 ma dostęp do swoich metadanych przez specjalny adres: http://169.254.169.254/latest/meta-data/. Możesz z niego odczytać m.in.:

  • ID instancji
  • Typ instancji
  • Publiczne i prywatne IP
  • Region i strefę dostępności
  • Przypisaną rolę IAM

AWS wprowadził dwie wersje serwisu metadanych:

  • IMDSv1 - prosty GET request. Podatny na ataki SSRF (Server-Side Request Forgery)
  • IMDSv2 - wymaga tokenu sesji (PUT + GET). Znacznie bezpieczniejszy

AWS rekomenduje używanie wyłącznie IMDSv2 i możesz wymusić to ustawienie na poziomie instancji lub całego konta. Na egzaminie to ważny temat bezpieczeństwa.

Jak uruchomić pierwszą instancję?

Proces uruchamiania instancji EC2 w konsoli AWS składa się z kilku kroków:

✅ Kroki uruchomienia EC2
Wybierz AMI (np. Amazon Linux 2023)
Wybierz typ instancji (np. t3.micro dla Free Tier)
Skonfiguruj sieć (VPC, subnet, public IP)
Dodaj storage (domyślny EBS volume)
Skonfiguruj Security Group (firewall)
Utwórz lub wybierz Key Pair (do SSH)
Opcjonalnie: dodaj User Data i tagi
Kliknij Launch!
🧠 Podsumowanie
  • EC2 = maszyna wirtualna (VM) w chmurze AWS
  • AMI = szablon instancji (OS + software + config)
  • Instancja ma cykl życia: Pending → Running → Stopped → Terminated
  • Stopped = brak opłat za compute, ale płacisz za EBS i Elastic IP
  • User Data = skrypt automatyzacji przy starcie
  • Metadane dostępne pod 169.254.169.254
  • Free Tier: nowe konta (od 15.07.2025) dostają 100-200 USD kredytów na 6 miesięcy; t3.micro jest na liście instancji objętych Free Tier
🧪 Sprawdź się

Instancja EC2 jest w stanie Stopped. Za co nadal płacisz?

A Za vCPU i RAM instancji
B Za attached EBS volumes
C Za nic, Stopped = zero kosztów
Stopped instancja nie generuje kosztów compute (vCPU, RAM), ale EBS volumes przypisane do instancji są nadal naliczane. Elastic IP bez przypisanej running instancji też kosztuje.

Co to jest AMI?

A Szablon zawierający OS i konfigurację do uruchomienia instancji
B Narzędzie do monitorowania instancji EC2
C Typ dysku do przechowywania danych
AMI (Amazon Machine Image) to szablon zawierający system operacyjny, preinstalowane oprogramowanie i konfigurację. Na jego podstawie uruchamiasz instancje EC2.

Jak nazywa się skrypt uruchamiany automatycznie przy starcie instancji EC2?

A Bootstrap Script
B Init Config
C User Data
User Data to skrypt (bash lub cloud-init), który wykonuje się automatycznie przy pierwszym uruchomieniu instancji. Służy do automatyzacji konfiguracji serwera.