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ż!).
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:
- 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
- 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
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
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:
- 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
Instancja EC2 jest w stanie Stopped. Za co nadal płacisz?
Co to jest AMI?
Jak nazywa się skrypt uruchamiany automatycznie przy starcie instancji EC2?