Resource Scheduler

Resource Scheduler Automation

The Resource Scheduler is a Continuous automation that powers SkySaver’s core scheduling functionality. It continuously monitors your AWS resources and applies schedules based on resource tags.

How It Works

graph LR
    A[Resource Scheduler] --> B[Scan Resources]
    B --> C[Check Tags]
    C --> D{Schedule Found?}
    D -->|Yes| E[Apply Schedule]
    D -->|No| F[Skip Resource]
    E --> G[Start/Stop/Scale]
  1. Scan - The scheduler scans all enabled resource types across configured regions
  2. Match - Resources with matching schedule tags are identified
  3. Evaluate - Current time is compared against schedule periods
  4. Execute - Resources are started, stopped, or scaled according to the schedule

Supported Resources

Resource TypeActionsConfiguration Options
EC2 InstancesStart/StopInstance type changes
RDS InstancesStart/StopInstance class changes
Lambda FunctionsScale concurrencyReserved/provisioned concurrency
Auto Scaling GroupsScale capacityDesired, min, max instances

Prerequisites

Before the Resource Scheduler can manage resources:

  1. Enable Services - In Project Defaults, enable the resource types you want to schedule
  2. Configure Regions - Add all regions where schedulable resources exist
  3. Create Schedules - Define at least one schedule in SkySaver
  4. Tag Resources - Apply schedule tags to AWS resources

Configuration

Project Defaults

Navigate to Project Defaults to configure scheduler settings:

  • Enabled Services - Toggle which resource types the scheduler manages
  • Regions - List of AWS regions to scan
  • Default Tag - The tag key used for schedule matching

Account-Level Overrides

Individual AWS accounts can override the default tag:

  1. Navigate to Accounts > Manage
  2. Click on the account
  3. Update the Tag field
  4. Click Save

Schedule Matching

The Resource Scheduler matches resources to schedules using tags:

AWS Resource TagSkySaver Schedule
Key: ScheduleSchedule with matching name
Value: dev-business-hoursApplied to resource

Execution Timing

The scheduler evaluates resources continuously and takes action when:

  • A period starts - Resources are started/scaled up
  • A period ends - Resources are stopped/scaled down
  • Outside all periods - Resources are in their default (inactive) state

Monitoring

Track scheduler activity:

  • Dashboard - Recent scheduling actions
  • Automation Reports - Detailed execution logs
  • AWS CloudTrail - API call history

Troubleshooting

IssuePossible CauseSolution
Resource not scheduledMissing tagVerify tag key and value match
Schedule not executingService not enabledEnable service in Project Defaults
Region not scannedRegion not configuredAdd region to Project Defaults
Permission deniedIAM role issueVerify CloudFormation template is deployed