Bird
Raised Fist0
AWScloud~10 mins

Instance types and families in AWS - Step-by-Step Execution

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Process Flow - Instance types and families
Choose workload needs
Select instance family
Pick instance type
Launch instance
Instance runs with chosen specs
This flow shows how you pick an instance family based on your workload, then select a specific instance type to launch.
Execution Sample
AWS
Choose workload -> Select family -> Pick type -> Launch instance
This sequence represents selecting an AWS instance family and type to launch a virtual server.
Process Table
StepActionInput/ChoiceResult
1Choose workloadGeneral purposeSelects balanced CPU and memory needs
2Select instance familyt3 (General purpose)Family chosen for balanced workloads
3Pick instance typet3.mediumInstance with 2 vCPUs and 4 GiB RAM selected
4Launch instancet3.mediumInstance starts running with chosen specs
5Instance runningt3.mediumReady to use with 2 vCPUs and 4 GiB RAM
💡 Instance launched and running with selected type and family
Status Tracker
VariableStartAfter Step 1After Step 2After Step 3Final
workload_neednoneGeneral purposeGeneral purposeGeneral purposeGeneral purpose
instance_familynonenonet3t3t3
instance_typenonenonenonet3.mediumt3.medium
instance_statestoppedstoppedstoppedrunningrunning
Key Moments - 3 Insights
Why do we pick an instance family before the instance type?
Instance families group similar hardware for specific workloads. Picking family first narrows choices to types that fit your needs, as shown in steps 2 and 3 of the execution_table.
What does 't3.medium' mean in terms of resources?
't3.medium' specifies 2 virtual CPUs and 4 GiB of RAM. This is shown in step 3 where the instance type is picked with these specs.
Why does the instance state change from 'stopped' to 'running'?
After launching the instance (step 4), AWS starts it, changing state to 'running' as shown in the variable_tracker final column.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what instance family is selected at step 2?
At3
Bm5
Cc5
Dr5
💡 Hint
Check the 'Select instance family' row in execution_table step 2
At which step does the instance state change to 'running'?
AStep 3
BStep 4
CStep 5
DStep 2
💡 Hint
Look at variable_tracker 'instance_state' column for final state
If the workload need was 'Compute optimized', which family might be chosen instead of 't3'?
Ar5
Bm5
Cc5
Dt2
💡 Hint
Compute optimized families start with 'c', check common AWS instance families
Concept Snapshot
Instance types are grouped into families based on workload needs.
Choose a family first (e.g., t3 for general purpose).
Then pick a type within that family (e.g., t3.medium).
Each type defines CPU, memory, and other specs.
Launch instance to run with chosen specs.
Full Transcript
This visual execution shows how to select AWS instance types and families. First, you decide your workload needs, such as general purpose. Then you pick an instance family that fits, like t3 for balanced CPU and memory. Next, you select a specific instance type, for example t3.medium, which has 2 virtual CPUs and 4 GiB of RAM. Finally, you launch the instance, which changes its state from stopped to running. This process helps you match your server resources to your application needs efficiently.

Practice

(1/5)
1. Which AWS instance family is best suited for general purpose workloads like web servers and small databases?
easy
A. C family (e.g., c5, c6g)
B. P family (e.g., p3, p4)
C. R family (e.g., r5, r6g)
D. T family (e.g., t3, t4g)

Solution

  1. Step 1: Understand instance family purposes

    The T family is designed for general purpose workloads with balanced CPU and memory.
  2. Step 2: Match workload type to instance family

    Web servers and small databases typically need balanced resources, fitting T family well.
  3. Final Answer:

    T family (e.g., t3, t4g) -> Option D
  4. Quick Check:

    General purpose = T family [OK]
Hint: General purpose = T family instances [OK]
Common Mistakes:
  • Confusing compute-optimized C family for general purpose
  • Choosing memory-optimized R family for small databases
  • Selecting GPU P family for simple web servers
2. Which of the following is the correct syntax to specify a compute-optimized instance type in AWS?
easy
A. t3.large
B. c5.large
C. r5.large
D. m5.large

Solution

  1. Step 1: Identify compute-optimized prefix

    Compute-optimized instances start with 'c' (e.g., c5, c6g).
  2. Step 2: Check instance type format

    Correct format is family + size, like 'c5.large'.
  3. Final Answer:

    c5.large -> Option B
  4. Quick Check:

    Compute-optimized = c5.large [OK]
Hint: Compute-optimized instances start with 'c' [OK]
Common Mistakes:
  • Choosing m5.large which is general purpose
  • Selecting r5.large which is memory optimized
  • Using t3.large which is burstable general purpose
3. Given the following instance types, which one provides the highest memory capacity per vCPU?
A) m5.large
B) c5.large
C) r5.large
D) t3.large
medium
A. r5.large
B. c5.large
C. m5.large
D. t3.large

Solution

  1. Step 1: Understand instance family memory focus

    R family is memory optimized, offering more memory per vCPU than others.
  2. Step 2: Compare memory per vCPU for given types

    r5.large has 16 GiB RAM and 2 vCPUs (8 GiB/vCPU), higher than m5.large (8 GiB/2 vCPU = 4 GiB/vCPU), c5.large (4 GiB/2 vCPU = 2 GiB/vCPU), t3.large (8 GiB/2 vCPU = 4 GiB/vCPU).
  3. Final Answer:

    r5.large -> Option A
  4. Quick Check:

    Memory optimized = r5.large [OK]
Hint: Memory optimized = R family (r5, r6g) [OK]
Common Mistakes:
  • Assuming m5.large has more memory per vCPU
  • Confusing compute-optimized c5.large as memory heavy
  • Thinking burstable t3.large has highest memory per vCPU
4. You launched an instance with type c5.large but your application needs more memory. Which instance type should you choose to fix this issue without changing the CPU count?
medium
A. r5.large
B. c5.xlarge
C. t3.large
D. m5.large

Solution

  1. Step 1: Identify current instance specs

    c5.large has 2 vCPUs and 4 GiB memory.
  2. Step 2: Find instance with same vCPU but more memory

    r5.large has 2 vCPUs and 16 GiB memory, increasing memory without changing CPU count.
  3. Final Answer:

    r5.large -> Option A
  4. Quick Check:

    More memory, same CPU = r5.large [OK]
Hint: Keep vCPU same, pick memory-optimized with same size [OK]
Common Mistakes:
  • Choosing c5.xlarge which doubles CPU and memory
  • Picking t3.large which is burstable, not memory optimized
  • Selecting m5.large which has less memory (8 GiB) than r5.large
5. You need to run a machine learning training job that requires high GPU performance and large memory. Which instance family and size combination is the best fit?
hard
A. r5.12xlarge
B. c5.4xlarge
C. p4d.24xlarge
D. t3.2xlarge

Solution

  1. Step 1: Identify instance families for GPU workloads

    P family instances are designed for GPU-intensive tasks like machine learning.
  2. Step 2: Choose size with high GPU and memory

    p4d.24xlarge offers multiple GPUs and large memory, ideal for training jobs.
  3. Final Answer:

    p4d.24xlarge -> Option C
  4. Quick Check:

    GPU + large memory = p4d.24xlarge [OK]
Hint: GPU needs = P family, largest size for training [OK]
Common Mistakes:
  • Picking c5.4xlarge which lacks GPUs
  • Choosing r5.12xlarge which is memory optimized but no GPU
  • Selecting t3.2xlarge which is burstable general purpose