Typy instancji EC2 - dobierz serwer do zadania

Uruchomienie instancji EC2 to jedno. Ale wybranie odpowiedniego typu to umiejętność, która odróżnia początkującego od kogoś, kto naprawdę rozumie chmurę. AWS oferuje ponad 600 typów instancji. Brzmi przytłaczająco? Spokojnie, za chwilę wszystko się wyjaśni.

💡 Analogia
Typy instancji to jak samochody. Masz miejskie autka (tanie, do codziennych zadań), SUV-y (dużo pamięci, ciągną ciężkie ładunki), sportowe bolidy (czysta moc obliczeniowa) i ciężarówki (ogromny storage). Wybierasz pojazd do zadania, a nie „ten najdroższy".

Konwencja nazewnictwa

Każdy typ instancji ma nazwę, np. m5.large. Wygląda jak szyfr, ale jest prosty do odczytania:

  • m - rodzina instancji (General Purpose)
  • 5 - generacja (im wyższa, tym nowsza i lepsza)
  • large - rozmiar (ilość vCPU i RAM)

Czasem pojawia się dodatkowa litera, np. m5a.large (procesor AMD), m5g.large (procesor AWS Graviton/ARM), m5d.large (z lokalnym dyskiem NVMe).

Rozmiary instancji

Rozmiary idą od nano do metal (cały fizyczny serwer!):

nano → micro → small → medium → large → xlarge → 2xlarge → ... → 24xlarge → metal

Każdy „skok" w górę to z reguły podwojenie vCPU i RAM. Przykład dla rodziny m5:

  • m5.large: 2 vCPU, 8 GB RAM
  • m5.xlarge: 4 vCPU, 16 GB RAM
  • m5.2xlarge: 8 vCPU, 32 GB RAM

Rodziny instancji - Twój kompas

General Purpose (T, M)

Zbalansowany stosunek CPU, RAM i sieci. Idealne na start i dla większości workloadów.

  • T3/T3a/T4g - „burstable". Mają bazową wydajność CPU i mogą „przyspieszyć" gdy potrzeba (za kredyty CPU). Świetne do dev/test, małych aplikacji, stron WWW
  • M5/M6i/M7g - stała wydajność. Aplikacje produkcyjne, backendy, małe bazy danych
⚠️ Uwaga egzaminacyjna
Instancje T (T2, T3, T4g) są „burstable". Jeśli Twoja aplikacja ciągle wykorzystuje 100% CPU, kredyty się wyczerpią i wydajność spadnie do bazowej. Na egzaminie mogą pytać: kiedy NIE używać T? Odpowiedź: gdy workload wymaga stałej, wysokiej wydajności CPU.

Compute Optimized (C)

Wysoki stosunek CPU do RAM. Do zadań wymagających surowej mocy obliczeniowej:

  • Batch processing
  • Modelowanie naukowe
  • Game serwery
  • Machine learning (inference)
  • Encoding wideo

Memory Optimized (R, X, z)

Dużo RAM w stosunku do CPU. Dla aplikacji operujących na dużych zbiorach danych w pamięci:

  • Bazy danych in-memory (Redis, Memcached, SAP HANA)
  • Real-time przetwarzanie dużych zbiorów danych
  • Analityka big data

Storage Optimized (I, D, H)

Szybki dostęp do dużych ilości danych na dysku lokalnym:

  • Data warehousing
  • Rozproszone systemy plików (HDFS)
  • Bazy NoSQL wymagające niskiej latencji I/O

Accelerated Computing (P, G, Inf, Trn)

Instancje z GPU lub dedykowanym hardware do specjalistycznych zadań:

  • Machine learning (training i inference)
  • Rendering grafiki 3D
  • Transkodowanie wideo
  • Obliczenia finansowe
🏢 Scenariusz: Dobór instancji w praktyce

Firma e-commerce ma trzy różne workloady:

  • Strona WWW (Ruby on Rails) - ruch zmienny, większość czasu niski → T3.medium (burstable, tanie)
  • Cache sesji użytkowników (Redis) - wymaga dużo RAM → R6g.large (Memory Optimized)
  • Generowanie raportów PDF (CPU-intensive) - batche nocne → C6i.xlarge (Compute Optimized)

Każdy workload ma inny profil. Jeden typ instancji dla wszystkiego? To jak jazda ciężarówką do sklepu po mleko.

AWS zaprojektował własne procesory ARM: Graviton2 i Graviton3 (oraz Graviton4). Instancje z Graviton (oznaczone literą „g", np. m7g, c7g, r7g) oferują:

  • Do 40% lepszy stosunek ceny do wydajności vs odpowiedniki x86
  • Lepszą efektywność energetyczną
  • Pełną kompatybilność z większością aplikacji Linux

Jeśli Twoja aplikacja działa na Linuksie i nie wymaga specyficznych bibliotek x86, Graviton to prawie zawsze lepszy wybór cenowo.

📝 Na egzaminie
Na CLF-C02 musisz wiedzieć: jakie rodziny instancji istnieją i kiedy których użyć. Nie musisz znać konkretnych numerów vCPU czy RAM. Kluczowe to: T = burstable/general, M = general purpose, C = compute, R = memory, I/D = storage, P/G = GPU/accelerated. Przećwicz to w testach próbnych w Akademii CloudManiak!
🧠 Podsumowanie
  • Nazwa instancji: rodzina + generacja + rozmiar (np. m5.large)
  • General Purpose (T, M) - zbalansowane, do większości zadań
  • Compute Optimized (C) - surowa moc CPU
  • Memory Optimized (R, X) - dużo RAM
  • Storage Optimized (I, D, H) - szybki I/O dyskowy
  • Accelerated (P, G) - GPU i specjalistyczny hardware
  • T = burstable (kredyty CPU), dobra na zmienne obciążenie
  • Graviton (g) = procesory ARM od AWS, lepszy stosunek ceny do wydajności
🧪 Sprawdź się

Aplikacja wymaga stałego, wysokiego obciążenia CPU do renderowania wideo. Którą rodzinę instancji wybierzesz?

A T3 (General Purpose, burstable)
B C6i (Compute Optimized)
C R6g (Memory Optimized)
Rendering wideo to typowy workload CPU-intensive. Rodzina C (Compute Optimized) daje najlepszy stosunek CPU do ceny. T3 odpadają, bo burstable nie nadaje się do stałego obciążenia.

Co oznacza litera „g" w nazwie instancji m7g.large?

A Procesor AWS Graviton (ARM)
B GPU attached
C Większa ilość pamięci (gigantic)
Litera „g" oznacza procesor AWS Graviton (architektura ARM). Te instancje oferują lepszy stosunek ceny do wydajności niż odpowiedniki x86.

Masz bazę danych Redis (in-memory cache) wymagającą 128 GB RAM. Którą rodzinę wybierzesz?

A C (Compute Optimized)
B I (Storage Optimized)
C R (Memory Optimized)
Redis to baza in-memory, dane trzymane w RAM. Rodzina R (Memory Optimized) oferuje najlepszy stosunek RAM do ceny. Storage Optimized (I) to szybkie dyski, nie pamięć RAM.