Dobór rozmiaru i Compute Optimizer
Korzystać z rekomendacji AWS Compute Optimizer, aby zmniejszać rozmiary nadmiernie aprowizowanych instancji EC2, funkcji Lambda i woluminów EBS oraz obniżać koszty.
Dobór rozmiaru i Compute Optimizer 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.
Problem nadmiernego przydzielania zasobów
Jednym z najczęstszych i najbardziej kosztownych błędów w architekturze chmurowej jest nadmierne przydzielanie zasobów — przydzielanie większej ilości zasobów, niż obciążenie rzeczywiście potrzebuje. Zespoły IT często przydzielają zbyt dużo zasobów z powodu przyzwyczajeń wyniesionych ze środowisk lokalnych (kupowanie pojemności na obciążenie szczytowe), obaw przed spadkiem wydajności albo po prostu braku ponownej weryfikacji początkowych decyzji dotyczących rozmiaru. W AWS nadmiernie zwymiarowane instancje EC2, woluminy EBS i funkcje Lambda generują niepotrzebne koszty przez każdą minutę działania. Dobór właściwego rozmiaru to systematyczny proces identyfikowania i eliminowania tego marnotrawstwa.
# Common over-provisioning symptoms:
# EC2: average CPU < 10%, memory < 20%
# RDS: storage auto-grow never triggered
# Lambda: allocated memory rarely exceeds 40%
# EBS: provisioned IOPS consistently unused
# Cost impact example:
# Over-provisioned r5.8xlarge at $1.92/hr: $1,382/month
# Correct size r5.xlarge at $0.252/hr: $181/month
# Savings: $1,201/month per instancePrzegląd AWS Compute Optimizer
AWS Compute Optimizer analizuje historyczne dane o wykorzystaniu z CloudWatch i wykorzystuje uczenie maszynowe do rekomendowania optymalnych zasobów obliczeniowych AWS. Obejmuje instancje EC2, grupy EC2 Auto Scaling, woluminy EBS, funkcje Lambda oraz Amazon ECS na Fargate. Compute Optimizer wymaga co najmniej 30 dni historii metryk, aby generować wiarygodne rekomendacje. Jego włączenie jest bezpłatne, a rekomendacje zawierają szacowane miesięczne oszczędności oraz ocenę ryzyka zmiany.
# Opt in to Compute Optimizer
aws compute-optimizer update-enrollment-status \
--status Active
# Get EC2 recommendations
aws compute-optimizer get-ec2-instance-recommendations \
--query 'instanceRecommendations[].{Instance:currentInstanceType,Recommended:recommendationOptions[0].instanceType,Savings:recommendationOptions[0].estimatedMonthlySavings.value,Risk:recommendationOptions[0].performanceRisk}'
# Get Lambda recommendations
aws compute-optimizer get-lambda-function-recommendationsDobór rozmiaru EC2 za pomocą Compute Optimizer
Compute Optimizer analizuje wykorzystanie procesora EC2, wykorzystanie pamięci (za pośrednictwem agenta CloudWatch), przepustowość sieci i IOPS EBS z ostatnich 3, 14 lub co najmniej 30 dni. Następnie przedstawia jedno z czterech ustaleń: Optimized (bieżący rozmiar jest odpowiedni), Over-provisioned (można zmniejszyć rozmiar), Under-provisioned (należy zwiększyć rozmiar) albo Not optimized (niewystarczająca ilość danych). Należy zawsze przeanalizować ryzyko dla wydajności — Compute Optimizer przypisuje każdej rekomendacji poziom ryzyka VeryLow, Low, Medium, High.
# EC2 recommendation findings:
# Finding: OVER_PROVISIONED
# CurrentInstanceType: m5.4xlarge
# RecommendedInstanceType: m5.xlarge
# CPU utilisation: P99 = 22%, P50 = 4%
# Memory utilisation: P99 = 18%, P50 = 8%
# EstimatedMonthlySavings: $380
# PerformanceRisk: VeryLow
# Always check:
# - Does current instance have burstable credits? (T3)
# - Are there workload spikes not captured in averages?
# - Is there seasonality to consider?Dobór rozmiaru Lambda
Opłaty za funkcje Lambda są naliczane za każdą milisekundę czasu wykonania pomnożoną przez przydzieloną pamięć. Przydzielenie większej ilości pamięci, niż jest potrzebna, generuje niepotrzebne koszty, ale większa pamięć oznacza również większą moc procesora — dlatego właściwym rozwiązaniem jest ustawienie pamięci, przy którym koszt pojedynczego wywołania jest minimalny. Compute Optimizer analizuje czas trwania wywołań Lambda, współczynnik błędów i metryki limitu czasu, aby rekomendować optymalne ustawienie pamięci. Narzędzie open source Lambda Power Tuning może również wywoływać funkcję przy różnych ustawieniach pamięci, aby empirycznie znaleźć konfigurację zapewniającą najniższy koszt.
# Compute Optimizer Lambda recommendations
aws compute-optimizer get-lambda-function-recommendations \
--function-arns arn:aws:lambda:us-east-1:123:function:my-function
# Response shows:
# currentMemorySize: 1024 MB
# recommendedMemorySize: 256 MB
# utilizationMetrics:
# - type: MEMORY_MAXIMUM, value: 89 (MB)
# estimatedMonthlySavings: $45
# 89 MB actual vs 1024 MB allocated = 935 MB wastedDobór rozmiaru woluminów EBS
Woluminy EBS są często nadmiernie zwymiarowane zarówno pod względem rozmiaru (niewykorzystywane miejsce na dysku), jak i IOPS (zarezerwowane IOPS, które nigdy nie są wykorzystywane). Compute Optimizer analizuje metryki VolumeReadOps, VolumeWriteOps, VolumeReadBytes, VolumeWriteBytes. Częsta rekomendacja to migracja z gp2 do gp3 (który oddziela rozmiar od IOPS) — można wtedy niezależnie dobrać IOPS, często oszczędzając 20%. Należy również zidentyfikować niepodłączone woluminy EBS (instancje zostały zakończone, ale woluminy pozostały), a następnie utworzyć ich migawki lub je usunąć.
# Get EBS volume recommendations
aws compute-optimizer get-ebs-volume-recommendations \
--volume-arns arn:aws:ec2:us-east-1:123:volume/vol-12345
# Common finding: gp2 -> gp3 migration
# gp2: 500 GB = 500 GB * $0.10 = $50/month
# IOPS: 1,500 (3 IOPS/GB, not configurable)
# gp3: 500 GB = $40/month + 3,000 IOPS free
# Save $10/month plus get MORE baseline IOPS
# Find unattached EBS volumes
aws ec2 describe-volumes \
--filters Name=status,Values=available \
--query 'Volumes[].{VolumeId:VolumeId,Size:Size,Created:CreateTime}'Rekomendacje dotyczące grup Auto Scaling
Compute Optimizer analizuje wykorzystanie zasobów przez ASG dla instancji w całej grupie i rekomenduje zmiany w szablonie uruchamiania dotyczące typu instancji. Jeśli wszystkie instancje w ASG są stale nadmiernie zwymiarowane, przełączenie na mniejszy typ instancji obniża koszt w całej skali. Na przykład jeśli ASG korzysta średnio z 10 instancji typu m5.large, przełączenie na m5.medium pozwala zaoszczędzić 50% na każdej instancji. Compute Optimizer rekomenduje również instancje oparte na Graviton, gdy oprogramowanie jest z nimi zgodne, zapewniając zarówno wzrost wydajności, jak i obniżenie kosztów.
# Get ASG recommendations
aws compute-optimizer get-auto-scaling-group-recommendations \
--auto-scaling-group-arns arn:aws:autoscaling:us-east-1:123:autoScalingGroup:abc:autoScalingGroupName/my-asg
# If recommendation is to switch to Graviton:
# Current: m5.large (x86, $0.096/hr)
# Recommended: m6g.large (Graviton2, $0.077/hr)
# Savings: 20% per instance
# ASG at 10 instances average = $220/month savingsTrusted Advisor — informacje o kosztach
AWS Trusted Advisor to kolejne narzędzie dostarczające informacji dotyczących optymalizacji kosztów, a także kontroli bezpieczeństwa, wydajności, tolerancji błędów i limitów usług. Najważniejsze kontrole kosztów obejmują: Low Utilization EC2 Instances (wykorzystanie procesora poniżej 10% przez co najmniej 4 dni), Unassociated Elastic IP Addresses (opłaty są naliczane, gdy adresy nie są przypisane), Underutilized EBS Volumes, Idle Load Balancers (brak zdrowych celów) oraz Unused Reserved Instances. Podstawowe kontrole Trusted Advisor są bezpłatne; pełny zestaw wymaga planu Business lub Enterprise Support.
# Trusted Advisor: get cost optimisation checks
aws support describe-trusted-advisor-checks \
--language en \
--query 'checks[?category==`cost_optimizing`].{Name:name,Id:id}'
# Key checks:
# Qkj5MU5fNp: Low utilisation EC2 instances
# Z4AUBRNSmh: Unassociated Elastic IP addresses
# DAvU99Dc4C: Underutilized EBS volumes
# hjLMh88uM8: Idle load balancers
# 1e93e4c0b5: Unused reserved instancesAktualizacje generacji instancji
Firma AWS regularnie udostępnia nowe, wydajniejsze generacje instancji EC2, które zapewniają lepszą wydajność przy niższym lub takim samym koszcie. Przejście z 5. generacji (m5, c5, r5) do 7. generacji (m7g, c7g, r7g) może zapewnić o 40% wyższą wydajność obliczeniową przy podobnym lub niższym koszcie. Compute Optimizer specjalnie wskazuje możliwości przejścia na nowsze generacje, w tym instancje oparte na Graviton. Aktualizacja instancji jest często najprostszym działaniem w ramach doboru właściwego rozmiaru — ta sama konfiguracja, nowszy sprzęt, lepsza wydajność i niższy koszt.
# EC2 instance generation comparison (same price tier):
# m5.large: 2 vCPU, 8 GB, $0.096/hr (2019)
# m6i.large: 2 vCPU, 8 GB, $0.096/hr (2021, ~10% faster)
# m7i.large: 2 vCPU, 8 GB, $0.1008/hr (2023, ~15% faster)
# m7g.large: 2 vCPU, 8 GB, $0.0808/hr (2023, Graviton3, cheapest)
# Upgrade path for Linux workloads:
# m5 -> m7g (Graviton): best price/performance
# m5 -> m7i: same architecture, no code changesDobór rozmiaru instancji RDS
Instancje RDS są kosztowne i często nadmiernie zwymiarowane. Do oceny wykorzystania RDS należy używać metryk CloudWatch: CPUUtilization, FreeableMemory, ReadIOPS i WriteIOPS. Jeśli wykorzystanie procesora utrzymuje się poniżej 20%, a ilość dostępnej pamięci pozostaje stale wysoka, warto rozważyć zmniejszenie instancji. W produkcyjnych bazach danych z konfiguracją Multi-AZ dobór właściwego rozmiaru podwaja oszczędności, ponieważ zmieniane są zarówno instancja podstawowa, jak i zapasowa. Należy również rozważyć przejście z RDS MySQL/PostgreSQL na Aurora, która często zapewnia lepszą wydajność przy podobnym koszcie i jest bardziej opłacalna przy dużej skali.
# Monitor RDS utilisation for right-sizing
aws cloudwatch get-metric-statistics \
--namespace AWS/RDS \
--metric-name CPUUtilization \
--dimensions Name=DBInstanceIdentifier,Value=mydb \
--start-time 2026-05-21T00:00:00Z \
--end-time 2026-06-21T00:00:00Z \
--period 86400 \
--statistics Maximum Average
# If 30-day P99 CPU < 30%, consider downsizing
# If P99 CPU > 80%, consider upsizingOperacjonalizacja doboru właściwego rozmiaru
Dobór właściwego rozmiaru powinien być procesem ciągłym, a nie jednorazowym działaniem. Należy ustalić miesięczny lub kwartalny harmonogram przeglądów: pobierać rekomendacje Compute Optimizer, oceniać, które z nich można bezpiecznie zastosować, wdrażać zmiany w oknie konserwacyjnym i mierzyć oszczędności. Proste działania warto automatyzować: czyszczenie niepodłączonych woluminów EBS, zwalnianie nieużywanych adresów Elastic IP oraz usuwanie bezczynnych modułów równoważenia obciążenia można realizować za pomocą skryptów. Należy utworzyć w CloudWatch panel optymalizacji kosztów, który śledzi miesięczne wydatki według usług i wskazuje nietypowe wzrosty.
# Script to release unassociated Elastic IPs
aws ec2 describe-addresses \
--query 'Addresses[?!AssociationId].AllocationId' \
--output text | xargs -I {} \
aws ec2 release-address --allocation-id {}
# Script to delete unattached EBS volumes (careful!)
# First check if snapshots exist before deleting
aws ec2 describe-volumes \
--filters Name=status,Values=available \
--query 'Volumes[].VolumeId' \
--output textDobór właściwego rozmiaru a zmiany architektury
Dobór właściwego rozmiaru rozwiązuje problem nadmiernego przydzielania zasobów w ramach istniejących architektur, ale czasami problemem jest sama architektura. Pojedyncza duża instancja EC2 uruchamiająca wiele aplikacji może wymagać dekompozycji architektury (mikrousługi na Fargate), a nie tylko przejścia na mniejszą instancję. Monolityczna baza danych może wymagać fragmentacji lub buforowania zamiast samego zmniejszenia instancji. Dobór właściwego rozmiaru to pierwszy i najszybszy krok. Optymalizacja architektury (serverless, kontenery, buforowanie) zapewnia większe i trwalsze oszczędności, ale wymaga więcej pracy. Filar Cost Optimisation zaleca realizowanie obu podejść.
# Cost optimisation hierarchy:
# Level 1: Right-sizing (quick wins, days)
# - Compute Optimizer recommendations
# - Delete unused resources
# - Elastic IP, EBS cleanup
# Level 2: Purchasing model (weeks)
# - Reserved Instances / Savings Plans
# - Spot for eligible workloads
# Level 3: Architecture (months)
# - Serverless migration
# - Container consolidation
# - Caching layer addition
# - Database optimisationSzybkie sprawdzenie
Sprawdź swoją znajomość zagadnień AWS Solutions Architect (SAA-C03) omówionych w tej lekcji.
Podsumowanie lekcji
W tej lekcji dowiedzieli się Państwo, że: AWS Compute Optimizer wykorzystuje uczenie maszynowe i metryki CloudWatch do rekomendowania zasobów obliczeniowych o właściwie dobranym rozmiarze, dobór właściwego rozmiaru dotyczy EC2, Lambda, EBS, ASG oraz ECS na Fargate, a przejście na nowsze generacje instancji (zwłaszcza Graviton) zapewnia zarówno obniżenie kosztów, jak i poprawę wydajności. Należy uczynić dobór właściwego rozmiaru regularną praktyką, a nie jednorazowym działaniem. W następnej części omówimy modele zakupu Reserved Instances, Savings Plans i Spot.
Ucz się Cloud & IT Cert Prep dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 150
- Lekcje
- 600
Często zadawane pytania
Czy lekcja „Dobór rozmiaru i Compute Optimizer” jest bezpłatna?
Tak — pełny tekst „Dobór rozmiaru i Compute Optimizer” 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 „Dobór rozmiaru i Compute Optimizer”?
Korzystać z rekomendacji AWS Compute Optimizer, aby zmniejszać rozmiary nadmiernie aprowizowanych instancji EC2, funkcji Lambda i woluminów EBS oraz obniżać koszty. Ć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 „Dobór rozmiaru i Compute Optimizer”?
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
- 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