ScheduledAction
The ScheduledAction resource lets you manage AWS AutoScaling ScheduledActions to automate scaling actions for your Auto Scaling groups.
Minimal Example
Section titled “Minimal Example”Create a basic scheduled action to scale your Auto Scaling group with a desired capacity at a specific time.
import AWS from "alchemy/aws/control";
const scheduledAction = await AWS.AutoScaling.ScheduledAction("scale-up-action", { AutoScalingGroupName: "my-auto-scaling-group", DesiredCapacity: 3, StartTime: "2023-10-01T12:00:00Z", EndTime: "2023-10-01T15:00:00Z"});
Advanced Configuration
Section titled “Advanced Configuration”Configure a scheduled action with a recurrence pattern and timezone for repeating scaling activities.
const recurringAction = await AWS.AutoScaling.ScheduledAction("recurring-scale-action", { AutoScalingGroupName: "my-auto-scaling-group", DesiredCapacity: 5, MinSize: 1, MaxSize: 10, Recurrence: "0 10 * * *", // Every day at 10:00 AM UTC TimeZone: "UTC"});
Scaling Down During Off-Peak Hours
Section titled “Scaling Down During Off-Peak Hours”Set a scheduled action to scale down the Auto Scaling group during off-peak hours.
const scaleDownAction = await AWS.AutoScaling.ScheduledAction("scale-down-action", { AutoScalingGroupName: "my-auto-scaling-group", DesiredCapacity: 1, StartTime: "2023-10-01T20:00:00Z", EndTime: "2023-10-01T23:00:00Z"});
Complete Lifecycle Management
Section titled “Complete Lifecycle Management”Manage both scaling up and down actions for a complete lifecycle management of your Auto Scaling group.
const scaleUpAction = await AWS.AutoScaling.ScheduledAction("scale-up-action", { AutoScalingGroupName: "my-auto-scaling-group", DesiredCapacity: 5, StartTime: "2023-10-01T08:00:00Z"});
const scaleDownAction = await AWS.AutoScaling.ScheduledAction("scale-down-action", { AutoScalingGroupName: "my-auto-scaling-group", DesiredCapacity: 2, StartTime: "2023-10-01T18:00:00Z"});