Reserved Instances, Savings Plans i Spot
Korzystać z Reserved Instances lub Savings Plans w przypadku stabilnych obciążeń oraz z Spot Instances dla odpornych na przerwy zadań wsadowych i bezstanowych.
Reserved Instances, Savings Plans i Spot to bezpłatna lekcja AWS Solutions Architect na CoddyKit. To lekcja 2 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.
Przegląd modeli zakupu EC2
AWS oferuje wiele modeli zakupu EC2, które zapewniają różny poziom elastyczności i oszczędności. On-Demand oznacza rozliczanie co sekundę bez zobowiązania — jest najbardziej elastyczne, ale też najdroższe. Reserved Instances zapewniają oszczędności do 72% przy zobowiązaniu na 1 lub 3 lata. Savings Plans zapewniają oszczędności do 66% przy elastycznym zobowiązaniu do wydatków godzinowych. Spot Instances wykorzystują niewykorzystaną pojemność, zapewniając oszczędności do 90%, ale mogą zostać przerwane. Dedicated Hosts zapewniają fizyczne serwery na potrzeby zgodności licencyjnej, ale wiążą się z wysokim kosztem. Zrozumienie każdego modelu ma kluczowe znaczenie w scenariuszach kosztowych egzaminu SAA-C03.
# EC2 pricing models (m5.large in us-east-1, approximate):
# On-Demand: $0.096/hr ($70/month)
# 1yr RI (No Upf): $0.062/hr ($45/month) - 35% savings
# 1yr RI (All Upf): $0.051/hr ($37/month) - 47% savings
# 3yr RI (All Upf): $0.032/hr ($23/month) - 67% savings
# Spot: $0.030-0.050/hr - 50-70% savings
# Rule: RI/SP for steady state, Spot for burst/interruptibleReserved Instances: typy i opcje płatności
Reserved Instances (RI) to konstrukcja rozliczeniowa, a nie konkretny typ instancji — zapewniają rabat stosowany do pasujących instancji On-Demand na koncie. Typy RI: Standard RIs — najwyższy rabat (do 72%), ale bez możliwości zmiany rodziny instancji. Convertible RIs — niższy rabat (około 54%), ale możliwość wymiany na inną rodzinę instancji, system operacyjny lub model dzierżawy. Opcje płatności: No Upfront (płatności miesięczne, najmniejsze zobowiązanie), Partial Upfront (niższa stawka efektywna), All Upfront (najniższa efektywna stawka godzinowa). Standard RIs należy wybierać w przypadku przewidywalnych i niezmiennych obciążeń.
# Purchase Reserved Instance
aws ec2 purchase-reserved-instances-offering \
--reserved-instances-offering-id offering-id-here \
--instance-count 5
# List RI offerings
aws ec2 describe-reserved-instances-offerings \
--instance-type m5.large \
--product-description 'Linux/UNIX' \
--offering-type 'No Upfront' \
--duration 31536000 \
--query 'ReservedInstancesOfferings[].{Price:RecurringCharges[0].Amount,Class:OfferingClass}'Zakres RI: regionalny a strefowy
Reserved Instances mają dwa zakresy, które wpływają na elastyczność. Zakres regionalny zapewnia elastyczność rozmiaru instancji w ramach tej samej rodziny — regionalna jednostka RI m5 obejmuje dowolny rozmiar (m5.small, m5.large itd.) w dowolnej strefie AZ w regionie. NIE rezerwuje ona pojemności. Zakres strefowy rezerwuje pojemność w określonej strefie AZ (rezerwacja pojemności), zapewniając dostępność instancji w okresach dużego zapotrzebowania, ale nie oferuje elastyczności rozmiaru instancji. Należy używać zakresu regionalnego, chyba że potrzebna jest gwarantowana pojemność (np. na potrzeby DR lub ścisłej umowy SLA).
# Regional RI: flexible across sizes in a family
# 1x m5 regional RI covers:
# - m5.large (1.0 units)
# - 2x m5.medium (0.5 units each)
# - 0.5x m5.xlarge (2.0 units)
# Zonal RI: specific AZ, reserves capacity
# 1x m5.large in us-east-1a:
# - Only covers m5.large in us-east-1a
# - Guarantees capacity is available
# Most use cases: prefer REGIONAL for flexibilitySavings Plans: większa elastyczność niż w przypadku RI
Savings Plans to elastyczny model cenowy, w którym zobowiązują się Państwo do minimalnych wydatków godzinowych (w dolarach) przez 1 lub 3 lata. AWS automatycznie stosuje rabat do kwalifikującego się użycia. Dostępne są dwa typy: Compute Savings Plans (oszczędności do 66%) — obejmują EC2, Lambda i Fargate niezależnie od rodziny, regionu, systemu operacyjnego czy modelu dzierżawy. EC2 Instance Savings Plans (oszczędności do 72%) — obejmują konkretną rodzinę instancji w konkretnym regionie, oferując wyższy rabat kosztem mniejszej elastyczności. W przypadku większości nowych zobowiązań zaleca się Savings Plans zamiast RI ze względu na ich elastyczność.
# Purchase Compute Savings Plan
aws savingsplans create-savings-plan \
--savings-plan-offering-id offering-id \
--commitment 10.00 \
--purchase-time '2026-07-01T00:00:00Z'
# $10/hr commitment covers:
# - EC2 instances (any family, region, OS)
# - Lambda invocations and duration
# - Fargate vCPU and memory
# Savings Plans apply AFTER Reserved Instances
# Check coverage in Cost Explorer > Savings PlansWybór między RI a Savings Plans
Najważniejsze różnice, które pomogą Państwu dokonać wyboru: RI sprawdzają się lepiej, gdy potrzebują Państwo rezerwacji pojemności (zonal RI), mają Państwo bardzo przewidywalne obciążenia, które nie zmienią rodziny instancji, lub gdy starsze konto ma już wiele istniejących RI. Savings Plans są lepszym rozwiązaniem w przypadku większości nowych zobowiązań, ponieważ automatycznie obejmują nowe typy instancji (np. Graviton) bez konieczności wymiany RI. AWS rekomenduje Savings Plans jako nowoczesny zamiennik Compute RI. W przypadku RDS, ElastiCache i Redshift mechanizmem nadal są Reserved Instances (dla tych usług nie ma Savings Plans).
# Savings Plans coverage analysis
aws ce get-savings-plans-coverage \
--time-period Start=2026-05-01,End=2026-06-01 \
--granularity MONTHLY
# Response shows:
# OnDemandCost: $5,000 (not covered)
# SpendCoveredBySavingsPlans: $10,000
# CoveragePercentage: 66%
# Recommendation:
# If coverage < 60%, consider purchasing more
# If coverage > 85%, you may be over-committedSpot Instances: duże rabaty kosztem możliwości przerwania
Spot Instances korzystają z niewykorzystanej pojemności AWS EC2, a ich ceny zmieniają się dynamicznie w zależności od podaży i popytu — zazwyczaj są o 60–90% niższe niż ceny On-Demand. AWS może odebrać Spot Instances po 2-minutowym ostrzeżeniu, gdy potrzebuje tej pojemności. Najlepsze zastosowania to: przetwarzanie dużych zbiorów danych (EMR), agenty kompilacji CI/CD, bezstanowe aplikacje internetowe z ELB, trenowanie modeli uczenia maszynowego (przy przerwaniu należy zapisać punkt kontrolny modelu w S3) oraz zadania przetwarzania wsadowego, które zapisują postęp w punktach kontrolnych. Aplikacje należy projektować tak, aby prawidłowo obsługiwały 2-minutowe ostrzeżenia o zakończeniu działania.
# Check Spot instance interruption notice
# From inside EC2 instance via Instance Metadata Service
curl http://169.254.169.254/latest/meta-data/spot/termination-time
# Returns: 2026-06-21T15:00:00Z if interruption is coming
# Returns 404 if no interruption
# Handle in your application:
# 1. Poll this endpoint every 5 seconds
# 2. On 2-min notice: checkpoint work to S3
# 3. Terminate gracefully
# 4. AWS terminates the instance 2 minutes after noticeStrategie korzystania ze Spot Instances i dywersyfikacja
Aby zmaksymalizować dostępność Spot i zminimalizować liczbę przerwań, należy stosować dywersyfikację: żądać wielu typów instancji w wielu AZ. Pojedyncza pula Spot (konkretny typ instancji + AZ) może zostać przerwana jednocześnie. Korzystanie z mieszanych ASG instancji z wieloma typami instancji (m5.large, m5a.large, m4.large, c5.large) znacznie zmniejsza ryzyko przerwania — gdy jedna pula zostanie odebrana, ASG zastąpi ją innym typem. Należy używać strategii alokacji zoptymalizowanej pod kątem pojemności, aby automatycznie wybierać pulę o największej dostępnej pojemności (i najmniejszym ryzyku przerwania).
# ASG with diversified Spot pools
aws autoscaling create-auto-scaling-group \
--mixed-instances-policy '{
"LaunchTemplate": {
"LaunchTemplateSpecification": {
"LaunchTemplateId": "lt-12345",
"Version": "$Latest"
},
"Overrides": [
{"InstanceType": "m5.large"},
{"InstanceType": "m5a.large"},
{"InstanceType": "m4.large"},
{"InstanceType": "c5.large"},
{"InstanceType": "c5a.large"}
]
},
"InstancesDistribution": {
"SpotAllocationStrategy": "capacity-optimized",
"OnDemandPercentageAboveBaseCapacity": 0
}
}'Spot w przetwarzaniu wsadowym i danych
Obciążenia wsadowe idealnie nadają się do Spot, ponieważ można je przerwać i wznowić. AWS Batch natywnie zarządza pojemnością Spot, automatycznie ponawiając nieudane zadania i wybierając optymalne pule Spot. Amazon EMR umożliwia połączenie węzłów głównych On-Demand (dla niezawodności) z węzłami podstawowymi i zadaniowymi Spot (dla oszczędności). Managed Node Groups w EKS mogą korzystać z instancji Spot, a mechanizm kontrolowanego kończenia działania na poziomie węzła Kubernetes obsługuje 2-minutowe ostrzeżenie. Te zarządzane usługi ukrywają złożoność obsługi przerwań Spot.
# EMR cluster with On-Demand master + Spot workers
aws emr create-cluster \
--instance-fleets \
InstanceFleetType=MASTER,TargetOnDemandCapacity=1,InstanceTypeConfigs=[{InstanceType=m5.xlarge}] \
InstanceFleetType=CORE,TargetSpotCapacity=10,InstanceTypeConfigs=[{InstanceType=m5.xlarge},{InstanceType=m5a.xlarge}],LaunchSpecifications={SpotSpecification={TimeoutAction=SWITCH_TO_ON_DEMAND,TimeoutDurationMinutes=10}}
# SWITCH_TO_ON_DEMAND: if Spot unavailable after 10 min,
# provision On-Demand instead (ensures job completes)Łączenie modeli zakupu
Najbardziej zoptymalizowane kosztowo architektury łączą wszystkie trzy modele zakupu: Savings Plans lub RI pokrywają stałą bazę (minimalną liczbę stale działających instancji), On-Demand pokrywa przewidywalną, ale zmienną dodatkową pojemność, a Spot obsługuje nieprzewidywalny wzrost ruchu lub obciążenia wsadowe. W ASG należy ustawić bazową pojemność On-Demand na poziomie minimalnej liczby niezawodnych instancji (objętych SP/RI), a przyrost skalowania skonfigurować tak, aby korzystał ze Spot. To hybrydowe podejście maksymalizuje oszczędności przy zachowaniu niezawodności.
# Hybrid ASG: On-Demand base + Spot burst
# Savings Plan covers On-Demand baseline cost
aws autoscaling create-auto-scaling-group \
--mixed-instances-policy '{
"LaunchTemplate": { ... },
"InstancesDistribution": {
"OnDemandBaseCapacity": 4,
"OnDemandPercentageAboveBaseCapacity": 0,
"SpotAllocationStrategy": "capacity-optimized"
}
}' \
--min-size 4 --max-size 40 --desired-capacity 8
# 4 On-Demand instances (covered by Savings Plan)
# Additional instances = 100% Spot (cheapest burst)Monitorowanie wykorzystania zobowiązań
Po zakupie RI lub Savings Plans należy monitorować ich wykorzystanie, aby upewnić się, że używają Państwo tego, za co zapłacili. Raporty wykorzystania RI/SP w Cost Explorer pokazują odsetek wykorzystywanej zakontraktowanej pojemności. Wykorzystanie poniżej 80% oznacza, że tracą Państwo pieniądze na niewykorzystanych zobowiązaniach. Należy sprawdzić, czy obciążenia nie zostały zakończone lub zmienione pod względem rozmiaru. W przypadku RI można sprzedać niewykorzystane RI na AWS Marketplace, aby odzyskać część kosztów. Savings Plans nie mają rynku wtórnego — przed zakupem należy mieć pewność co do zobowiązania.
# Check Savings Plans utilisation
aws ce get-savings-plans-utilization \
--time-period Start=2026-06-01,End=2026-06-21 \
--granularity DAILY \
--query 'SavingsPlansUtilizationsByTime[].{Date:TimePeriod.Start,Utilization:Utilization.UtilizationPercentage}'
# Also check: Cost Explorer > Savings Plans > Utilization report
# Target: >80% utilisation
# If <80%: you over-committed or workload shrankDedicated Hosts i Dedicated Instances
Dedicated Hosts przydzielają fizyczny serwer EC2 przeznaczony wyłącznie dla Państwa konta, umożliwiając korzystanie z istniejących licencji na oprogramowanie rozliczanych za rdzeń lub gniazdo (Windows Server, SQL Server, Oracle). Dedicated Hosts mogą być znacznie droższe, ale są wymagane w przypadku niektórych umów licencyjnych. Dedicated Instances to prostsza wersja — instancje działają na sprzęcie przeznaczonym dla Państwa konta, ale nie mają Państwo kontroli nad konkretnym hostem. Żadne z tych rozwiązań nie jest zalecane wyłącznie do izolacji bezpieczeństwa (zamiast tego należy użyć izolacji VPC i SG); służą one do zapewnienia zgodności licencyjnej.
# Allocate Dedicated Host for Oracle licensing
aws ec2 allocate-hosts \
--quantity 1 \
--instance-type m5.xlarge \
--availability-zone us-east-1a \
--auto-placement on \
--host-recovery on
# Dedicated Host pricing is per host per hour
# Dedicated Instances: $2/region/hr + instance price
# Use Dedicated Host when:
# - Oracle/SQL Server socket-based licensing
# - Windows Server with own license
# - Compliance requires physical server isolationSzybkie sprawdzenie
Sprawdź swoją wiedzę na temat zagadnień AWS Solutions Architect (SAA-C03) omówionych w tej lekcji.
Podsumowanie lekcji
W tej lekcji poznali Państwo następujące zagadnienia: Savings Plans są bardziej elastyczne niż Reserved Instances i obejmują EC2, Lambda oraz Fargate, Spot Instances zapewniają oszczędności do 90% w przypadku obciążeń tolerujących przerwania, a połączenie Savings Plans dla bazowego obciążenia ze Spot dla wzrostów ruchu zapewnia maksymalną optymalizację kosztów. Należy monitorować wykorzystanie zobowiązań, aby upewnić się, że używają Państwo tego, za co zapłacili. W następnej części omówimy Cost Explorer, Budgets i tagi alokacji kosztów.
Często zadawane pytania
Czy lekcja „Reserved Instances, Savings Plans i Spot” jest bezpłatna?
Tak — pełny tekst „Reserved Instances, Savings Plans i Spot” 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 „Reserved Instances, Savings Plans i Spot”?
Korzystać z Reserved Instances lub Savings Plans w przypadku stabilnych obciążeń oraz z Spot Instances dla odpornych na przerwy zadań wsadowych i bezstanowych. Ć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 2 z 4.
Ile czasu zajmuje lekcja „Reserved Instances, Savings Plans i Spot”?
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
- Dobór rozmiaru i Compute Optimizer
- Reserved Instances, Savings Plans i Spot
- Cost Explorer, budżety i tagi alokacji kosztów
- Optymalizacja kosztów S3 i transferu danych