Pilot light i warm standby
Utrzymywać minimalny rdzeń obciążenia w drugim Regionie (pilot light) lub pomniejszoną, ale w pełni funkcjonalną kopię (warm standby), gotową do skalowania.
Pilot light i warm standby to bezpłatna lekcja AWS Solutions Architect na CoddyKit. To lekcja 3 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 AWS Solutions Architect, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs AWS Solutions Architect zawiera 4 lekcji w sumie.
Więcej niż Backup and Restore
Gdy wymagania dotyczące RTO są bardziej rygorystyczne niż kilka godzin, strategia Backup and Restore jest niewystarczająca. Dwa kolejne poziomy DR — Pilot Light i Warm Standby — przez cały czas utrzymują część lub całość infrastruktury uruchomioną w regionie DR, znacznie skracając czas odzyskiwania. Obie strategie wymagają ciągłego utrzymywania środowiska DR oraz użycia mechanizmu przełączania Route 53 opartego na kontroli kondycji w celu przekierowania ruchu podczas awarii. Różnią się zakresem aktywnie działającego środowiska DR.
Pilot Light: stale uruchomiony rdzeń
W strategii Pilot Light w regionie DR działa tylko krytyczny rdzeń systemu — zazwyczaj sama warstwa bazy danych z ciągłą replikacją. Serwery aplikacji NIE są uruchomione; zamiast tego utrzymywane są gotowe obrazy AMI, szablony uruchamiania lub infrastruktura opisana jako kod, które pozwalają szybko je uruchomić. Można to porównać do płomyka pilota w instalacji gazowej, który jest bardzo mały, ale w razie potrzeby może w ciągu kilku minut rozpalić pełny płomień. RTO wynosi zwykle 30–60 minut.
# Pilot Light: what runs 24/7 in DR region
# - RDS Read Replica (receiving continuous replication)
# - Minimal VPC/networking (no extra cost if no data transfer)
# - Route 53 failover record (inactive, health check pointing to primary)
# What is prepared but NOT running:
# - EC2 launch template pointing to DR AMI
# - ALB (can be created in minutes)
# - ASG with desired=0, can scale to 10 on demandKroki przełączania awaryjnego Pilot Light
Gdy region podstawowy ulegnie awarii i zostanie uruchomione przełączanie awaryjne Pilot Light: Krok 1 — należy przekształcić replikę tylko do odczytu RDS w regionie DR w samodzielną podstawową bazę danych. Krok 2 — należy uruchomić instancje EC2 z wcześniej przygotowanego obrazu AMI lub szablonu uruchamiania. Krok 3 — należy utworzyć lub aktywować Application Load Balancer i zarejestrować nowe instancje EC2. Krok 4 — należy zaktualizować konfigurację aplikacji tak, aby wskazywała punkt końcowy promowanej bazy danych. Krok 5 — przełączanie awaryjne kontroli kondycji Route 53 kończy zmianę obsługi DNS. Łączny czas: 30–60 minut.
# Step 1: Promote RDS Read Replica
aws rds promote-read-replica \
--db-instance-identifier mydb-dr-replica \
--region us-west-2
# Step 2: Scale up ASG in DR region
aws autoscaling update-auto-scaling-group \
--auto-scaling-group-name app-asg-dr \
--min-size 2 \
--desired-capacity 4 \
--region us-west-2
# Step 3: Route 53 failover happens automatically
# via health check detecting primary region failureWarm Standby: w pełni funkcjonalne, ale zmniejszone środowisko
W strategii Warm Standby w regionie DR stale działa kompletna, ale zmniejszona wersja środowiska produkcyjnego. Aktywne są wszystkie warstwy aplikacji — serwery WWW, serwery aplikacji i baza danych — lecz z ograniczoną przepustowością (na przykład 2 instancje zamiast 20). Podczas przełączania awaryjnego środowisko DR jest skalowane w górę, aby obsłużyć obciążenie produkcyjne. Route 53 automatycznie przełącza ruch za pomocą przełączania awaryjnego opartego na kontroli kondycji. RTO wynosi zwykle mniej niż 15 minut. Warm Standby to najpopularniejszy poziom DR dla aplikacji o znaczeniu krytycznym dla działalności.
# Production vs Warm Standby capacity:
# Tier Production DR Standby
# Web servers 20 EC2 (c5.xl) 2 EC2 (c5.xl)
# App servers 10 EC2 (m5.xl) 2 EC2 (m5.xl)
# Database RDS db.r5.2xl RDS Read Replica (db.r5.xl)
# Cache Redis r6g.xl Redis r6g.medium
#
# Cost: DR standby ~15% of production costAurora Global Database na potrzeby Warm Standby
Aurora Global Database to idealna technologia baz danych dla DR w modelu Warm Standby. Klaster w regionie dodatkowym jest stale uruchomiony, stale otrzymuje replikowane dane (opóźnienie <1 sekundy) i można go promować do roli podstawowej w czasie krótszym niż 1 minuta — znacznie szybciej niż replikę tylko do odczytu RDS, w przypadku której trzeba zatrzymać replikację i zastosować pozostałe opóźnione dane. Dzięki temu Aurora Global Database jest zalecanym wyborem, gdy wymagane RTO wynosi minuty, a nie kilkadziesiąt minut.
# Promote Aurora Global DB secondary to primary
# (during DR failover)
aws rds failover-global-cluster \
--global-cluster-identifier my-global-db \
--target-db-cluster-identifier my-aurora-cluster-us-west-2
# Aurora handles promotion automatically
# Typical promotion time: 1-2 minutes
# vs RDS Read Replica promotion: 10-30 minutesKonfiguracja automatycznego przełączania awaryjnego Route 53
Zarówno Pilot Light, jak i Warm Standby korzystają z routingu przełączania awaryjnego Route 53 do automatycznego przekierowywania ruchu. Należy skonfigurować rekord Primary wskazujący ALB lub punkt końcowy w regionie produkcyjnym i powiązać go z kontrolą kondycji. Następnie należy skonfigurować rekord Secondary wskazujący punkt końcowy w regionie DR. Gdy Route 53 wykryje, że kontrola kondycji podstawowego rekordu nie powiodła się przez skonfigurowany czas, przestaje zwracać podstawowy rekord i obsługuje wyłącznie rekord dodatkowy — wszystko w ramach czasu TTL DNS.
# Primary record (production)
aws route53 change-resource-record-sets \
--hosted-zone-id ZXXX \
--change-batch '{
"Changes": [{
"Action": "UPSERT",
"ResourceRecordSet": {
"Name": "api.example.com",
"Type": "A",
"Failover": "PRIMARY",
"SetIdentifier": "primary",
"HealthCheckId": "hc-us-east-1",
"AliasTarget": {"DNSName": "alb-prod.us-east-1.elb.amazonaws.com","EvaluateTargetHealth": true}
}
}]
}'Wstępne rozgrzewanie środowiska DR
Aby Warm Standby osiągnął docelowe RTO, środowisko DR musi być wstępnie rozgrzane — w pełni skonfigurowane i przetestowane, tak aby podczas przełączania awaryjnego konieczne było tylko skalowanie w górę. Oznacza to, że połączenia z bazą danych są ustanowione i zapisane w pamięci podręcznej, pliki konfiguracji aplikacji wskazują punkty końcowe w regionie DR, instancje EC2 działają za ALB (nawet w niewielkiej liczbie), a kontrole kondycji przechodzą pomyślnie. Należy co miesiąc przeprowadzać ćwiczenia DR, podczas których symuluje się przełączanie awaryjne, aby upewnić się, że środowisko pozostaje zgodne z bieżącą konfiguracją produkcyjną.
# Validate DR warm standby health
# 1. Check DR ALB target health
aws elbv2 describe-target-health \
--target-group-arn arn:aws:elasticloadbalancing:us-west-2:123:targetgroup/app-dr/xyz
# 2. Check Aurora Global DB secondary
aws rds describe-global-clusters \
--global-cluster-identifier my-global-db
# 3. Verify Route 53 health checks
aws route53 get-health-check-status \
--health-check-id hc-us-west-2Infrastructure as Code na potrzeby spójności DR
Utrzymywanie środowiska DR w synchronizacji ze środowiskiem produkcyjnym jest najtrudniejszym wyzwaniem operacyjnym. Jeśli środowisko produkcyjne zostanie skonfigurowane ręcznie, a aktualizacja DR zostanie pominięta, środowisko DR może nie działać poprawnie podczas rzeczywistej awarii. Rozwiązaniem jest Infrastructure as Code (IaC) z użyciem tych samych szablonów wdrażanych w obu regionach. Należy użyć AWS CloudFormation StackSets lub Terraform with multiple workspaces, aby wdrażać identyczną infrastrukturę w obu regionach z jednej bazy kodu. Eliminuje to rozbieżności konfiguracji.
# CloudFormation StackSet: deploy to multiple regions
aws cloudformation create-stack-set \
--stack-set-name my-app-infrastructure \
--template-url https://s3.amazonaws.com/mybucket/template.yaml
# Deploy to DR region
aws cloudformation create-stack-instances \
--stack-set-name my-app-infrastructure \
--accounts 123456789012 \
--regions us-west-2 \
--parameter-overrides \
ParameterKey=DesiredCapacity,ParameterValue=2Porównanie kosztów: Pilot Light a Warm Standby
Różnica kosztów między tymi strategiami jest znaczna. Pilot Light obejmuje koszt wyłącznie repliki bazy danych (zwykle 50–100% kosztu podstawowej bazy danych) oraz minimalnych zasobów sieciowych w regionie DR. Serwery aplikacji są wyłączone, więc nie generują kosztów EC2. Warm Standby wiąże się dodatkowo z kosztem uruchomienia zmniejszonej liczby instancji EC2, ALB i potencjalnie mniejszego klastra pamięci podręcznej — zwykle jest to 15–30% całkowitego kosztu środowiska produkcyjnego. Należy rozważyć, czy krótsze RTO strategii Warm Standby uzasadnia wyższy bieżący koszt.
# Example monthly cost comparison:
# Production environment: $10,000/month
# Pilot Light DR:
# RDS Read Replica: $500/month
# Minimal networking: $50/month
# Total: $550/month (~5.5% of production)
# Warm Standby DR:
# RDS Read Replica: $500/month
# 2x EC2 instances: $400/month
# ALB + networking: $200/month
# Total: $1,100/month (~11% of production)Failback: powrót do regionu podstawowego
Po przywróceniu regionu podstawowego potrzebują Państwo planu failback, aby do niego powrócić. Failback jest często najtrudniejszym elementem DR: podczas awarii w regionie DR mogły zostać przetworzone nowe dane, które trzeba zsynchronizować z regionem podstawowym. W przypadku baz danych może być konieczne skonfigurowanie replikacji odwrotnej lub ponowna synchronizacja z DR do regionu podstawowego. W Route 53 należy ponownie włączyć rekord podstawowy wraz z jego kontrolą stanu. Procedurę failback należy zawsze planować i testować równie dokładnie jak samo przełączenie awaryjne.
# Failback procedure steps:
# 1. Restore primary region infrastructure
# 2. Set up replication from DR to primary
# (reverse replication to sync new data)
# 3. Verify data consistency
# 4. Re-enable primary Route 53 health check
# 5. Gradually shift traffic back (weighted routing)
# Route 53 weights: Primary=10%, DR=90%
# Primary=50%, DR=50%
# Primary=100%, DR=0%
# 6. Decommission DR region back to standby capacityKiedy wybrać Pilot Light, a kiedy Warm Standby
Proszę wybrać Pilot Light, gdy Państwa RTO wynosi 30–60 minut i chcą Państwo ograniczyć koszty DR. Główne ryzyko stanowi czas potrzebny na uruchomienie i skonfigurowanie serwerów aplikacji podczas awarii, gdy presja jest największa. Proszę wybrać Warm Standby, gdy Państwa RTO wymaga odtworzenia działania w ciągu 15 minut, aplikacja jest na tyle złożona, że jej uruchamianie od podstaw podczas awarii byłoby ryzykowne, lub zobowiązania SLA wobec klientów wymagają szybszego odtworzenia działania. W przypadku większości produkcyjnych obciążeń o średnim znaczeniu krytycznym Warm Standby zapewnia właściwy kompromis.
# Decision guide:
# RTO > 1 hour: Backup and Restore
# RTO 30-60 min: Pilot Light
# RTO 5-15 min: Warm Standby
# RTO < 5 min: Multi-Site Active-Active
# Additional factors for Warm Standby:
# - Complex application startup procedures
# - Contractual SLA commitments to customers
# - High revenue loss per minute of downtime
# - Regulatory requirements for fast recoverySzybkie sprawdzenie
Proszę sprawdzić swoją znajomość zagadnień AWS Solutions Architect (SAA-C03) omówionych w tej lekcji.
Podsumowanie lekcji
W tej lekcji dowiedzieli się Państwo, że: Pilot Light utrzymuje w DR uruchomioną wyłącznie bazę danych, a serwery aplikacji uruchamia podczas przełączenia awaryjnego, Warm Standby uruchamia kompletną, zmniejszoną środowiskowo wersję systemu, która jest skalowana podczas przełączenia awaryjnego, a Infrastructure as Code zapobiega rozbieżnościom konfiguracji między środowiskiem podstawowym a środowiskiem DR. Procedury failback należy zawsze planować i testować tak samo jak procedury przełączenia awaryjnego. W następnej części omówimy architekturę multi-site active-active z użyciem DynamoDB Global Tables i Route 53.
Często zadawane pytania
Czy lekcja „Pilot light i warm standby” jest bezpłatna?
Tak — pełny tekst „Pilot light i warm standby” 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 AWS Solutions Architect, przejdź na CoddyKit PRO. Kurs AWS Solutions Architect zawiera 4 lekcji w sumie.
Co nauczysz się w „Pilot light i warm standby”?
Utrzymywać minimalny rdzeń obciążenia w drugim Regionie (pilot light) lub pomniejszoną, ale w pełni funkcjonalną kopię (warm standby), gotową do skalowania. Ćwiczysz AWS Solutions Architect 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ąć AWS Solutions Architect?
Nie wymagamy żadnego doświadczenia. AWS Solutions Architect 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 3 z 4.
Ile czasu zajmuje lekcja „Pilot light i warm standby”?
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 AWS Solutions Architect?
Tak. Każda lekcja AWS Solutions Architect 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
- RTO, RPO i poziomy DR
- Kopia zapasowa i przywracanie
- Pilot light i warm standby
- Wielolokalizacyjna architektura aktywna-aktywna z Global Tables i Route 53