Bird
Raised Fist0
AWScloud~10 mins

Instance types and families in AWS - Interactive Code Practice

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
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to specify the instance type for an EC2 instance.

AWS
resource "aws_instance" "example" {
  ami           = "ami-12345678"
  instance_type = "[1]"
}
Drag options to blanks, or click blank then click option'
Aami-12345678
Bt2.micro
Cus-east-1
Dvpc-1234abcd
Attempts:
3 left
💡 Hint
Common Mistakes
Using the AMI ID instead of the instance type.
Using a region or VPC ID instead of the instance type.
2fill in blank
medium

Complete the code to select a compute-optimized instance family.

AWS
resource "aws_instance" "compute_optimized" {
  ami           = "ami-87654321"
  instance_type = "[1]"
}
Drag options to blanks, or click blank then click option'
Ar5.xlarge
Bm5.large
Ct3.micro
Dc5.large
Attempts:
3 left
💡 Hint
Common Mistakes
Choosing a general purpose or memory-optimized instance instead of compute-optimized.
Confusing instance families by their letter prefixes.
3fill in blank
hard

Fix the error in the instance type to use a valid memory-optimized instance.

AWS
resource "aws_instance" "memory_optimized" {
  ami           = "ami-11223344"
  instance_type = "[1]"
}
Drag options to blanks, or click blank then click option'
At3.medium
Bc5.large
Cr5.large
Dm5.xlarge
Attempts:
3 left
💡 Hint
Common Mistakes
Using compute-optimized or general purpose instance types instead of memory-optimized.
Choosing an invalid instance type string.
4fill in blank
hard

Fill both blanks to define a burstable instance with the smallest size.

AWS
resource "aws_instance" "burstable" {
  ami           = "ami-55667788"
  instance_type = "[1].[2]"
}
Drag options to blanks, or click blank then click option'
At3
Bmicro
Csmall
Dm5
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'm5' which is general purpose instead of burstable.
Choosing 'small' size instead of 'micro' for smallest instance.
5fill in blank
hard

Fill all three blanks to create a general purpose instance with medium size and the latest generation.

AWS
resource "aws_instance" "general_purpose" {
  ami           = "ami-99887766"
  instance_type = "[1][2].[3]"
}
Drag options to blanks, or click blank then click option'
Am
B5
Cmedium
Dlarge
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'large' size instead of 'medium'.
Using wrong family letter or generation number.

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