Bird
Raised Fist0
AWScloud~5 mins

Minimum, maximum, and desired capacity in AWS - Commands & Configuration

Choose your learning style10 modes available
Introduction
When running applications on the cloud, you want the right number of servers to handle your users. Minimum, maximum, and desired capacity help control how many servers run at once to save money and keep your app working well.
When you want to make sure your app always has at least a few servers running to handle traffic.
When you want to limit the maximum number of servers to avoid extra costs.
When you want to set a target number of servers to run under normal conditions.
When your app needs to automatically add or remove servers based on demand.
When you want to keep your app stable during traffic spikes or drops.
Config File - asg-config.json
asg-config.json
{
  "AutoScalingGroupName": "example-asg",
  "MinSize": 2,
  "MaxSize": 5,
  "DesiredCapacity": 3,
  "LaunchConfigurationName": "example-launch-config",
  "AvailabilityZones": ["us-east-1a", "us-east-1b"]
}

This JSON file configures an AWS Auto Scaling Group (ASG).

MinSize sets the minimum number of servers always running.

MaxSize limits the maximum number of servers to control costs.

DesiredCapacity is the target number of servers the ASG tries to maintain.

LaunchConfigurationName tells which server setup to use.

AvailabilityZones are the data center locations where servers run.

Commands
This command creates an Auto Scaling Group named 'example-asg' with minimum 2 servers, maximum 5 servers, and desired 3 servers running in two availability zones.
Terminal
aws autoscaling create-auto-scaling-group --auto-scaling-group-name example-asg --launch-configuration-name example-launch-config --min-size 2 --max-size 5 --desired-capacity 3 --availability-zones us-east-1a us-east-1b
Expected OutputExpected
No output (command runs silently)
→
--min-size - Sets the minimum number of servers to keep running
→
--max-size - Sets the maximum number of servers allowed
→
--desired-capacity - Sets the target number of servers to run
This command checks the current settings and status of the 'example-asg' Auto Scaling Group to confirm the capacities.
Terminal
aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names example-asg
Expected OutputExpected
{ "AutoScalingGroups": [ { "AutoScalingGroupName": "example-asg", "MinSize": 2, "MaxSize": 5, "DesiredCapacity": 3, "Instances": [], "AvailabilityZones": ["us-east-1a", "us-east-1b"] } ] }
→
--auto-scaling-group-names - Specifies which Auto Scaling Group to describe
This command changes the desired capacity to 4, telling AWS to add one more server to the group.
Terminal
aws autoscaling update-auto-scaling-group --auto-scaling-group-name example-asg --desired-capacity 4
Expected OutputExpected
No output (command runs silently)
→
--desired-capacity - Updates the target number of servers
Check again to see that the desired capacity has changed to 4 and the group is adjusting.
Terminal
aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names example-asg
Expected OutputExpected
{ "AutoScalingGroups": [ { "AutoScalingGroupName": "example-asg", "MinSize": 2, "MaxSize": 5, "DesiredCapacity": 4, "Instances": [], "AvailabilityZones": ["us-east-1a", "us-east-1b"] } ] }
→
--auto-scaling-group-names - Specifies which Auto Scaling Group to describe
Key Concept

If you remember nothing else from this pattern, remember: minimum capacity keeps your app safe, maximum capacity controls cost, and desired capacity balances how many servers run right now.

Common Mistakes
Setting desired capacity lower than minimum size
AWS will ignore desired capacity below minimum and keep minimum servers running, causing confusion.
Always set desired capacity equal or higher than minimum size.
Setting maximum size lower than minimum size
This is invalid and AWS will reject the configuration.
Ensure maximum size is always equal or greater than minimum size.
Not updating desired capacity after changing min or max sizes
The group may not scale as expected if desired capacity is out of new bounds.
Update desired capacity to fit within new min and max sizes.
Summary
Create an Auto Scaling Group with minimum, maximum, and desired capacity to control server count.
Use describe commands to check current capacity settings and group status.
Update desired capacity to scale the number of servers up or down as needed.

Practice

(1/5)
1. What does the MinSize setting control in an AWS Auto Scaling group?
easy
A. The exact number of servers to run at all times
B. The largest number of servers allowed to run
C. The smallest number of servers that must always be running
D. The number of servers to add during scaling

Solution

  1. Step 1: Understand MinSize meaning

    MinSize defines the minimum number of servers that the Auto Scaling group keeps running to handle load.
  2. Step 2: Compare with other settings

    MaxSize is the maximum allowed, DesiredCapacity is the target number, so MinSize is the smallest number always running.
  3. Final Answer:

    The smallest number of servers that must always be running -> Option C
  4. Quick Check:

    MinSize = smallest server count [OK]
Hint: MinSize = minimum servers always running [OK]
Common Mistakes:
  • Confusing MinSize with DesiredCapacity
  • Thinking MinSize is maximum limit
  • Assuming MinSize is the exact number to run
2. Which of the following is the correct way to set the desired capacity to 5 in an AWS Auto Scaling group configuration snippet?
easy
A. DesiredCapacity => 5
B. "DesiredCapacity" = 5
C. DesiredCapacity: "5"
D. "DesiredCapacity": 5

Solution

  1. Step 1: Identify correct JSON syntax

    In JSON, keys and string values use double quotes and key-value pairs use colon (:).
  2. Step 2: Check each option

    "DesiredCapacity": 5 uses correct JSON syntax: key in quotes, colon, numeric value without quotes.
  3. Final Answer:

    "DesiredCapacity": 5 -> Option D
  4. Quick Check:

    JSON key-value uses colon and quotes [OK]
Hint: JSON uses colon and quotes for keys [OK]
Common Mistakes:
  • Using equals sign instead of colon
  • Putting numbers in quotes unnecessarily
  • Using arrow symbols instead of colon
3. Given an Auto Scaling group with MinSize=2, MaxSize=6, and DesiredCapacity=4, what happens if the current number of running servers is 5 and one server fails?
medium
A. The group does nothing because the current number of running servers equals DesiredCapacity
B. The group launches a new server to maintain DesiredCapacity of 4
C. The group terminates another server to reach DesiredCapacity
D. The group launches two new servers to reach MaxSize

Solution

  1. Step 1: Understand DesiredCapacity role

    DesiredCapacity is the target number of servers to keep running, here 4.
  2. Step 2: Analyze failure impact

    One server fails, so running servers drop from 5 to 4, which matches DesiredCapacity.
  3. Step 3: Check if scaling needed

    Since running servers dropped below DesiredCapacity, the group launches a new server to maintain DesiredCapacity.
  4. Final Answer:

    The group launches a new server to maintain DesiredCapacity of 4 -> Option B
  5. Quick Check:

    Running servers < DesiredCapacity triggers scaling [OK]
Hint: Scaling triggers only if running servers < DesiredCapacity [OK]
Common Mistakes:
  • Assuming scaling happens immediately on failure
  • Confusing MinSize with DesiredCapacity
  • Thinking MaxSize limits minimum servers
4. You configured an Auto Scaling group with MinSize=3, MaxSize=5, and DesiredCapacity=6. What is the problem?
medium
A. DesiredCapacity cannot be greater than MaxSize
B. MinSize cannot be less than DesiredCapacity
C. MaxSize cannot be less than MinSize
D. No problem, this configuration is valid

Solution

  1. Step 1: Check relationship between capacities

    DesiredCapacity must be between MinSize and MaxSize inclusive.
  2. Step 2: Compare values

    DesiredCapacity is 6, but MaxSize is 5, which is less than DesiredCapacity.
  3. Step 3: Identify error

    This violates the rule that DesiredCapacity cannot exceed MaxSize.
  4. Final Answer:

    DesiredCapacity cannot be greater than MaxSize -> Option A
  5. Quick Check:

    DesiredCapacity ≤ MaxSize [OK]
Hint: DesiredCapacity must be ≤ MaxSize [OK]
Common Mistakes:
  • Setting DesiredCapacity higher than MaxSize
  • Confusing MinSize and MaxSize roles
  • Assuming any values are allowed
5. You want an Auto Scaling group to always run at least 2 servers, never more than 8, and normally keep 5 running. If traffic suddenly spikes, which setting controls the maximum servers it can scale up to, and what should it be set to?
hard
A. MaxSize controls maximum servers; set to 8
B. DesiredCapacity controls maximum servers; set to 8
C. MinSize controls maximum servers; set to 5
D. DesiredCapacity controls maximum servers; set to 2

Solution

  1. Step 1: Identify which setting limits maximum servers

    MaxSize sets the upper limit of servers allowed in the group.
  2. Step 2: Match requirement to setting

    To never exceed 8 servers, MaxSize must be set to 8.
  3. Step 3: Understand DesiredCapacity and MinSize roles

    DesiredCapacity is the target number (5), MinSize is the minimum (2), neither limits maximum scaling.
  4. Final Answer:

    MaxSize controls maximum servers; set to 8 -> Option A
  5. Quick Check:

    MaxSize = max servers allowed [OK]
Hint: MaxSize limits max servers; DesiredCapacity is target [OK]
Common Mistakes:
  • Confusing DesiredCapacity with MaxSize
  • Setting MinSize as maximum limit
  • Not setting MaxSize high enough for spikes
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard