Bird
Raised Fist0
AWScloud~10 mins

Scheduled scaling in AWS - Step-by-Step Execution

Choose your learning style10 modes available
Process Flow - Scheduled scaling
Define schedule
↓
Set desired capacity
↓
AWS Auto Scaling service waits
↓
Scheduled time reached?
No→Wait
Yes↓
Change capacity to desired
↓
Maintain capacity until next schedule
Scheduled scaling sets the number of servers at specific times automatically.
Execution Sample
AWS
ScheduledAction:
  Schedule: 'cron(0 8 * * ? *)'
  DesiredCapacity: 5
  MinSize: 2
  MaxSize: 10
This sets the server count to 5 every day at 8 AM.
Process Table
StepTimeScheduled Action Triggered?Desired Capacity SetAuto Scaling Group Capacity
17:59 AMNoN/A3 (previous)
28:00 AMYes55 (scaled up)
312:00 PMNoN/A5 (unchanged)
48:00 PMNoN/A5 (unchanged)
5Next day 8:00 AMYes55 (maintained)
💡 Scheduled scaling triggers only at defined times; capacity stays until next trigger.
Status Tracker
VariableStartAfter Step 2After Step 3After Step 5
Auto Scaling Group Capacity3555
Desired CapacityN/A555
Key Moments - 2 Insights
Why doesn't the capacity change at 12:00 PM even though time has passed?
Because scheduled scaling only triggers at the exact scheduled time (8:00 AM), not continuously. See execution_table step 3.
What happens if the desired capacity is set lower than the current capacity?
Auto Scaling will reduce the number of servers to the desired capacity at the scheduled time, ensuring resources match the schedule.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the Auto Scaling Group capacity at 7:59 AM?
A0
B3
C5
D10
💡 Hint
Check the first row under 'Auto Scaling Group Capacity' in execution_table.
At which step does the scheduled scaling action trigger?
AStep 3
BStep 1
CStep 2
DStep 4
💡 Hint
Look for 'Scheduled Action Triggered?' column in execution_table.
If the desired capacity was changed to 7 at 8:00 AM, what would happen at Step 2?
ACapacity changes to 7
BCapacity changes to 5
CCapacity stays at 3
DCapacity changes to 10
💡 Hint
Desired Capacity column in variable_tracker shows what capacity is set at scheduled time.
Concept Snapshot
Scheduled scaling lets you set server counts at specific times.
You define a schedule and desired capacity.
At the scheduled time, capacity changes automatically.
Capacity stays until next scheduled change.
Useful for predictable traffic patterns.
Full Transcript
Scheduled scaling in AWS Auto Scaling lets you automatically adjust the number of servers at specific times you choose. You define a schedule using cron or rate expressions and set the desired number of servers. When the scheduled time arrives, AWS changes the capacity to your desired number. Between scheduled times, the capacity remains steady. This helps save costs and ensures enough servers during busy times. For example, setting desired capacity to 5 at 8 AM means every day at 8 AM, the system scales to 5 servers. The execution table shows capacity before and after scheduled triggers. Capacity only changes at scheduled times, not continuously. If you change the desired capacity in the schedule, the system adjusts accordingly at the next trigger.

Practice

(1/5)
1. What is the main purpose of scheduled scaling in AWS?
easy
A. To automatically adjust resources at specific times
B. To manually increase server capacity when needed
C. To monitor security threats in real-time
D. To backup data at scheduled intervals

Solution

  1. Step 1: Understand scheduled scaling concept

    Scheduled scaling is designed to change resource capacity automatically based on a set schedule.
  2. Step 2: Compare options with the concept

    Only To automatically adjust resources at specific times describes automatic adjustment at specific times, matching scheduled scaling.
  3. Final Answer:

    To automatically adjust resources at specific times -> Option A
  4. Quick Check:

    Scheduled scaling = automatic timed resource adjustment [OK]
Hint: Scheduled scaling means automatic resource changes on a timer [OK]
Common Mistakes:
  • Confusing scheduled scaling with manual scaling
  • Thinking it handles security or backups
  • Assuming it reacts only to traffic, not time
2. Which of the following is a valid cron expression for scheduled scaling in AWS?
easy
A. cron(0 0 0 0 ? *)
B. cron(60 24 * * ? *)
C. cron(* * * * *)
D. cron(0 12 * * ? *)

Solution

  1. Step 1: Review cron expression format in AWS

    AWS cron expressions have six fields: minutes, hours, day-of-month, month, day-of-week, year.
  2. Step 2: Validate each option

    cron(0 12 * * ? *) is valid: minute=0, hour=12, day-of-month=*, month=*, day-of-week=?, year=*. cron(0 0 0 0 ? *) has invalid zero day-of-month and month values. cron(60 24 * * ? *) has invalid 60 minutes and 24 hours. cron(* * * * *) has only five fields, missing year.
  3. Final Answer:

    cron(0 12 * * ? *) -> Option D
  4. Quick Check:

    Valid AWS cron = 6 fields, correct ranges [OK]
Hint: AWS cron needs 6 fields with valid ranges [OK]
Common Mistakes:
  • Using 5-field cron instead of 6-field
  • Setting minutes or hours out of range
  • Confusing day-of-week and day-of-month
3. Given this scheduled scaling configuration snippet:
{"ScheduledActionName": "ScaleUpMorning", "StartTime": "2024-07-01T08:00:00Z", "DesiredCapacity": 5}

What will happen at 8 AM UTC on July 1, 2024?
medium
A. The resource capacity will be set to 5
B. The resource capacity will decrease to 0
C. The scaling action will be ignored due to missing EndTime
D. The resource capacity will remain unchanged

Solution

  1. Step 1: Understand the scheduled action parameters

    The action named "ScaleUpMorning" is set to start at 8 AM UTC on July 1, 2024, with DesiredCapacity 5.
  2. Step 2: Interpret the effect of StartTime and DesiredCapacity

    At the StartTime, the capacity will be set to 5. EndTime is optional and does not block the action.
  3. Final Answer:

    The resource capacity will be set to 5 -> Option A
  4. Quick Check:

    StartTime triggers capacity change to DesiredCapacity [OK]
Hint: StartTime sets capacity; EndTime is optional [OK]
Common Mistakes:
  • Thinking EndTime is required to trigger scaling
  • Assuming capacity decreases without explicit setting
  • Ignoring the StartTime effect
4. You created a scheduled scaling action with this cron expression:
cron(0 25 * * ? *)
Why does the scaling not trigger as expected?
medium
A. The day-of-week field is missing
B. The minute value 0 is invalid
C. The hour value 25 is invalid in cron expressions
D. The cron expression needs only 5 fields

Solution

  1. Step 1: Check the hour field in the cron expression

    The hour field is set to 25, but valid hour values are 0 to 23.
  2. Step 2: Understand cron validation rules in AWS

    AWS rejects cron expressions with invalid field values, so the scaling action won't trigger.
  3. Final Answer:

    The hour value 25 is invalid in cron expressions -> Option C
  4. Quick Check:

    Hour must be 0-23 in AWS cron [OK]
Hint: Check cron field ranges; hours max 23 [OK]
Common Mistakes:
  • Assuming minute 0 is invalid
  • Thinking day-of-week is mandatory
  • Using 5 fields instead of 6
5. You want to reduce your AWS Auto Scaling group capacity to 2 instances every night at 11 PM UTC and increase it to 10 instances every weekday morning at 7 AM UTC. Which setup correctly uses scheduled scaling to achieve this?
hard
A. Create one scheduled action with cron(0 23,7 * * ? *) setting DesiredCapacity=2 and DesiredCapacity=10
B. Create two scheduled actions: one with cron(0 23 * * ? *) setting DesiredCapacity=2, another with cron(0 7 ? * MON-FRI *) setting DesiredCapacity=10
C. Create two scheduled actions: one with rate(1 day) setting DesiredCapacity=2, another with rate(1 hour) setting DesiredCapacity=10
D. Create one scheduled action with cron(0 7 * * ? *) setting DesiredCapacity=10 only

Solution

  1. Step 1: Understand the scheduling requirements

    Capacity should be 2 at 11 PM daily and 10 at 7 AM on weekdays only.
  2. Step 2: Match cron expressions to requirements

    cron(0 23 * * ? *) runs daily at 11 PM; cron(0 7 ? * MON-FRI *) runs at 7 AM Monday to Friday. Two separate scheduled actions are needed with correct DesiredCapacity values.
  3. Final Answer:

    Create two scheduled actions: one with cron(0 23 * * ? *) setting DesiredCapacity=2, another with cron(0 7 ? * MON-FRI *) setting DesiredCapacity=10 -> Option B
  4. Quick Check:

    Separate cron for each time and capacity [OK]
Hint: Use separate scheduled actions with correct cron and capacity [OK]
Common Mistakes:
  • Trying to set two capacities in one scheduled action
  • Using rate expressions instead of cron for weekdays
  • Missing weekday restriction for morning scale-up
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