0Pricing
Cloud & IT Cert Prep · Lekcja

Uruchamianie pierwszej instancji EC2

Przejdą przez kreator uruchamiania, wybiorą AMI i typ instancji, skonfigurują pary kluczy oraz połączą się przez SSH.

Uruchamianie pierwszej instancji EC2 to bezpłatna lekcja Cloud & IT Cert Prep na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cloud & IT Cert Prep, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cloud & IT Cert Prep zawiera 4 lekcji w sumie.

Czym jest Amazon EC2?

Amazon Elastic Compute Cloud (EC2) udostępnia skalowalne maszyny wirtualne w chmurze, nazywane instancjami. Wybierasz system operacyjny, procesor, pamięć, magazyn danych i przepustowość sieci. EC2 to podstawowa usługa obliczeniowa AWS — niemal każda architektura wymagająca trwałych, stanowych zasobów obliczeniowych korzysta bezpośrednio z EC2 lub z usług zbudowanych na jego podstawie (ECS, EKS, EMR). Instancje działają w obrębie Twojego VPC i można je na żądanie uruchamiać, zatrzymywać, ponownie uruchamiać lub usuwać.

Amazon Machine Images (AMI)

Amazon Machine Image (AMI) to szablon definiujący system operacyjny, oprogramowanie i konfigurację instancji EC2. AWS udostępnia tysiące obrazów AMI (Amazon Linux 2023, Ubuntu, Windows Server), dostawcy z Marketplace publikują AMI ze wstępnie skonfigurowanym oprogramowaniem, a także możesz utworzyć własne niestandardowe AMI, zapisując działającą instancję. Podczas uruchamiania instancji wybierasz AMI — określa ono zawartość wolumenu głównego i architekturę (x86_64 lub ARM).

# Find latest Amazon Linux 2023 AMI in us-east-1
aws ec2 describe-images \
  --owners amazon \
  --filters 'Name=name,Values=al2023-ami-*-x86_64' \
  --query 'sort_by(Images, &CreationDate)[-1].ImageId' \
  --output text

Kreator uruchamiania EC2: krok po kroku

Kreator uruchamiania EC2 w konsoli prowadzi przez kolejne kroki: 1) nazwa i tagi; 2) wybór AMI; 3) typ instancji (kombinacja CPU i pamięci); 4) para kluczy do dostępu SSH; 5) ustawienia sieciowe (VPC, podsieć, grupa bezpieczeństwa); 6) magazyn danych (rozmiar i typ głównego wolumenu EBS); 7) ustawienia zaawansowane (rola IAM, skrypt user data, opcje metadanych). Zrozumienie każdego kroku pozwala pewnie odpowiadać na pytania egzaminacyjne dotyczące konfiguracji.

# Equivalent CLI launch
aws ec2 run-instances \
  --image-id ami-0abcdef1234567890 \
  --instance-type t3.micro \
  --key-name MyKeyPair \
  --security-group-ids sg-12345678 \
  --subnet-id subnet-12345678 \
  --iam-instance-profile Name=MyEC2Role \
  --user-data file://user-data.sh

Pary kluczy do uwierzytelniania SSH

Para kluczy składa się z klucza publicznego (przechowywanego przez AWS) i klucza prywatnego (pobieranego przez Ciebie — tylko raz). Gdy uruchamiasz instancję EC2, AWS wstawia klucz publiczny do pliku ~/.ssh/authorized_keys domyślnego użytkownika (na przykład ec2-user dla Amazon Linux, ubuntu dla Ubuntu). Łączysz się za pomocą klucza prywatnego: ssh -i my-key.pem ec2-user@<public-ip>. Utrata klucza prywatnego oznacza brak możliwości połączenia SSH z instancją, chyba że jako alternatywy użyjesz Systems Manager Session Manager.

# Generate a new key pair and save the private key
aws ec2 create-key-pair \
  --key-name MyKeyPair \
  --query 'KeyMaterial' \
  --output text > MyKeyPair.pem
chmod 400 MyKeyPair.pem

# Connect to the instance
ssh -i MyKeyPair.pem ec2-user@54.123.45.67

Stany cyklu życia instancji

Instancja EC2 przechodzi przez kilka stanów. Pending: instancja się uruchamia (brak opłat). Running: instancja jest aktywna (opłaty naliczane za sekundę lub godzinę). Stopping: przechodzenie do stanu zatrzymania (tylko instancje oparte na EBS). Stopped: instancja jest wyłączona — płacisz tylko za dołączony magazyn EBS. Terminated: trwale usunięta — nie można jej ponownie uruchomić. Zrozumienie tych stanów ma znaczenie dla rozliczeń (opłaty On-Demand są naliczane tylko w stanie Running) i architektury (instancje Spot kończą działanie bez przejścia do stanu Stopped).

# Stop and start an instance
aws ec2 stop-instances --instance-ids i-0abcdef1234567890
aws ec2 start-instances --instance-ids i-0abcdef1234567890

# Terminate permanently
aws ec2 terminate-instances --instance-ids i-0abcdef1234567890

Publiczne i prywatne adresy IP EC2

Domyślnie instancje w publicznych podsieciach otrzymują publiczny adres IPv4 (dynamiczny — zmienia się po zatrzymaniu i uruchomieniu) oraz prywatny adres IPv4 (zachowywany po zatrzymaniu i uruchomieniu w obrębie VPC). Aby uzyskać trwały publiczny adres IP, przydziel Elastic IP (EIP) — statyczny publiczny adres IPv4 należący do Ciebie, dopóki go nie zwolnisz. EIP są bezpłatne, gdy są przypisane do działającej instancji, lecz podlegają opłatom, gdy nie są przypisane lub gdy masz więcej niż jeden na działającą instancję.

# Allocate an Elastic IP and associate it with an instance
aws ec2 allocate-address --domain vpc
aws ec2 associate-address \
  --instance-id i-0abcdef1234567890 \
  --allocation-id eipalloc-12345678

User data: skrypty inicjalizacyjne

User data to skrypt powłoki (lub konfiguracja cloud-init), który uruchamia się raz podczas pierwszego uruchomienia instancji. Używaj go do instalowania pakietów, konfigurowania oprogramowania lub pobierania kodu aplikacji z S3. User data działa jako root i domyślnie nie jest wykonywane ponownie po restarcie. Jest przekazywane jako tekst zakodowany w base64 za pośrednictwem konfiguracji uruchamiania. Krótkie user data oraz korzystanie z gotowych AMI przy rozbudowanej konfiguracji przyspiesza uruchamianie w ramach automatycznego skalowania.

#!/bin/bash
# user-data.sh — runs on first boot
yum update -y
yum install -y httpd
echo '<h1>Hello from EC2</h1>' > /var/www/html/index.html
systemctl start httpd
systemctl enable httpd

Łączenie: SSH a Systems Manager

Istnieją dwa podstawowe sposoby uzyskiwania dostępu do instancji EC2. SSH: wymaga otwartego portu 22 w grupie bezpieczeństwa oraz pliku klucza prywatnego. AWS Systems Manager Session Manager: zapewnia dostęp do powłoki przez przeglądarkę lub CLI bez otwierania portów, bez pary kluczy i z pełną ścieżką audytu w CloudTrail. Session Manager wymaga agenta SSM (preinstalowanego w obrazach AMI Amazon Linux i Windows Server) oraz roli IAM z polityką AmazonSSMManagedInstanceCore. Session Manager to preferowana metoda dostępu do instancji produkcyjnych.

# Start a Session Manager session (no SSH needed)
aws ssm start-session --target i-0abcdef1234567890

Metadane instancji EC2

EC2 Instance Metadata Service (IMDS) to punkt końcowy HTTP pod adresem 169.254.169.254, dostępny wyłącznie z wnętrza instancji. Udostępnia informacje o środowisku uruchomieniowym: identyfikator instancji, identyfikator AMI, publiczny adres IP, poświadczenia roli IAM, strefę dostępności i inne dane. IMDSv2 (obecnie zalecana praktyka) wymaga tokenu zorientowanego na sesję, co zapobiega odczytywaniu metadanych przez podatną aplikację w atakach server-side request forgery (SSRF). Zawsze konfiguruj instancje tak, aby wymagały IMDSv2.

# Get instance ID using IMDSv2
TOKEN=$(curl -X PUT 'http://169.254.169.254/latest/api/token' \
  -H 'X-aws-ec2-metadata-token-ttl-seconds: 21600' -s)
curl -H "X-aws-ec2-metadata-token: $TOKEN" -s \
  http://169.254.169.254/latest/meta-data/instance-id

Grupy rozmieszczenia

Grupy rozmieszczenia kontrolują sposób rozmieszczania instancji na sprzęcie bazowym. Cluster: umieszcza instancje blisko siebie w jednej AZ, aby zapewnić bardzo niskie opóźnienia sieciowe i wysoką przepustowość — idealne dla HPC. Spread: umieszcza każdą instancję na odrębnym sprzęcie, aby ograniczyć skorelowane awarie — idealne dla małych, krytycznych zestawów instancji (maksymalnie 7 na AZ). Partition: dzieli instancje na logiczne partycje w osobnych szafach rack — idealne dla dużych systemów rozproszonych, takich jak Hadoop lub Cassandra, gdzie ważna jest świadomość topologii racków.

# Create a cluster placement group
aws ec2 create-placement-group \
  --group-name HighPerfCluster \
  --strategy cluster

Ochrona przed usunięciem instancji EC2

Ochrona przed usunięciem zapobiega przypadkowemu usunięciu instancji za pomocą konsoli, CLI lub API. Włącz ją podczas uruchamiania krytycznych instancji. Uwaga: nawet przy włączonej ochronie przed usunięciem grupy Auto Scaling nadal mogą usuwać instancje podczas zdarzeń scale-in, chyba że osobno skonfigurujesz ochronę instancji. Atrybut DeleteOnTermination głównego wolumenu EBS określa, czy wolumen jest automatycznie usuwany po usunięciu instancji — zalecaną praktyką jest true dla wolumenów głównych oraz false dla wolumenów danych, które chcesz zachować.

# Enable termination protection
aws ec2 modify-instance-attribute \
  --instance-id i-0abcdef1234567890 \
  --disable-api-termination

Szybkie sprawdzenie

Sprawdź swoją znajomość zagadnień AWS Solutions Architect (SAA-C03) z tej lekcji.

Podsumowanie lekcji

W tej lekcji poznano następujące zagadnienia: instancje EC2 są uruchamiane z obrazów AMI z wybranym typem instancji, parą kluczy, grupą bezpieczeństwa i opcjonalnym user data, Elastic IP zapewniają trwałe adresy publiczne, podczas gdy standardowe publiczne adresy IP zmieniają się po zatrzymaniu i uruchomieniu oraz Systems Manager Session Manager jest preferowaną metodą dostępu do instancji produkcyjnych zamiast SSH. Następnie porównamy typy instancji i modele cenowe.

Często zadawane pytania

Czy lekcja „Uruchamianie pierwszej instancji EC2” jest bezpłatna?

Tak — pełny tekst „Uruchamianie pierwszej instancji EC2” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cloud & IT Cert Prep, przejdź na CoddyKit PRO. Kurs Cloud & IT Cert Prep zawiera 4 lekcji w sumie.

Co nauczysz się w „Uruchamianie pierwszej instancji EC2”?

Przejdą przez kreator uruchamiania, wybiorą AMI i typ instancji, skonfigurują pary kluczy oraz połączą się przez SSH. Ćwiczysz Cloud & IT Cert Prep z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Cloud & IT Cert Prep?

Nie wymagamy żadnego doświadczenia. Cloud & IT Cert Prep w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Uruchamianie pierwszej instancji EC2”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Cloud & IT Cert Prep?

Tak. Każda lekcja Cloud & IT Cert Prep zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Uruchamianie pierwszej instancji EC2
  2. Typy instancji i modele cenowe
  3. Grupy zabezpieczeń i pary kluczy
  4. Pamięć masowa EC2: Instance Store a EBS
← Powrót do Cloud & IT Cert Prep