Bird
Raised Fist0
AWScloud~5 mins

Instance types and families in AWS - Commands & Configuration

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
Introduction
Choosing the right virtual computer in the cloud is important. AWS offers different instance types grouped into families. Each family is designed for specific tasks like computing power, memory, or storage. Picking the right one helps your app run well without wasting money.
When you need a virtual server optimized for fast calculations, like running a game server.
When your app needs a lot of memory, such as a database or data analysis tool.
When you want a balance of computing power and memory for general apps.
When you require instances with fast local storage for quick data access.
When you want to save money by choosing smaller instances for light workloads.
Commands
This command lists all AWS EC2 instance types starting with 't3', showing their CPU cores and memory size. It helps you see details of a specific family.
Terminal
aws ec2 describe-instance-types --query 'InstanceTypes[?starts_with(InstanceType, `t3`)].{Type:InstanceType,VCpu:VCpuInfo.DefaultVCpus,Memory:MemoryInfo.SizeInMiB}' --output table
Expected OutputExpected
----------------------------- | DescribeInstanceTypes | |---------------------------| | Type | VCpu | Memory | |-----------|--------|--------| | t3.nano | 2 | 512 | | t3.micro | 2 | 1024 | | t3.small | 2 | 2048 | | t3.medium| 2 | 4096 | | t3.large | 2 | 8192 | -----------------------------
--query - Filters and formats the output to show only needed details.
--output - Sets the output format to a readable table.
This command shows details for the 'm5.large' instance type, including CPU, memory, and storage info in JSON format.
Terminal
aws ec2 describe-instance-types --filters Name=instance-type,Values=m5.large --query 'InstanceTypes[].{Type:InstanceType,VCpu:VCpuInfo.DefaultVCpus,Memory:MemoryInfo.SizeInMiB,Storage:InstanceStorageInfo.TotalSizeInGB}' --output json
Expected OutputExpected
[ { "Type": "m5.large", "VCpu": 2, "Memory": 8192, "Storage": null } ]
--filters - Filters results to only show the specified instance type.
--query - Selects specific fields to display.
--output - Formats output as JSON.
This command lists availability zones where the 'c5.large' instance type is offered, helping you choose where to launch your server.
Terminal
aws ec2 describe-instance-type-offerings --location-type availability-zone --filters Name=instance-type,Values=c5.large --query 'InstanceTypeOfferings[].{Type:InstanceType,Zone:Location}' --output table
Expected OutputExpected
----------------------------- | InstanceType | Zone | |----------------|-----------| | c5.large | us-east-1a| | c5.large | us-east-1b| | c5.large | us-east-1c| -----------------------------
--location-type - Specifies the location type to filter offerings.
--filters - Filters by instance type.
--output - Formats output as a table.
Key Concept

If you remember nothing else from this pattern, remember: AWS instance families group virtual servers by their strengths like CPU, memory, or storage to help you pick the best fit for your app.

Common Mistakes
Trying to launch an instance type not available in the chosen region or zone.
The instance won't start because AWS does not offer it there.
Use 'aws ec2 describe-instance-type-offerings' to check availability before launching.
Choosing an instance type without checking if it has enough memory or CPU for the app.
The app may run slowly or crash due to insufficient resources.
Check instance specs with 'aws ec2 describe-instance-types' to match app needs.
Assuming all instance types have local storage when some do not.
Your app might fail if it expects fast local disk but the instance has none.
Verify storage info in instance details before selecting.
Summary
Use 'aws ec2 describe-instance-types' to see CPU, memory, and storage details of instance families.
Filter instance types by family or name to compare options for your workload.
Check availability zones for your chosen instance type before launching to avoid errors.

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