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]- Scan - The scheduler scans all enabled resource types across configured regions
- Match - Resources with matching schedule tags are identified
- Evaluate - Current time is compared against schedule periods
- Execute - Resources are started, stopped, or scaled according to the schedule
Supported Resources
| Resource Type | Actions | Configuration Options |
|---|---|---|
| EC2 Instances | Start/Stop | Instance type changes |
| RDS Instances | Start/Stop | Instance class changes |
| Lambda Functions | Scale concurrency | Reserved/provisioned concurrency |
| Auto Scaling Groups | Scale capacity | Desired, min, max instances |
Prerequisites
Before the Resource Scheduler can manage resources:
- Enable Services - In Project Defaults, enable the resource types you want to schedule
- Configure Regions - Add all regions where schedulable resources exist
- Create Schedules - Define at least one schedule in SkySaver
- 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:
- Navigate to Accounts > Manage
- Click on the account
- Update the Tag field
- Click Save
Schedule Matching
The Resource Scheduler matches resources to schedules using tags:
| AWS Resource Tag | SkySaver Schedule |
|---|---|
Key: Schedule | Schedule with matching name |
Value: dev-business-hours | Applied 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
| Issue | Possible Cause | Solution |
|---|---|---|
| Resource not scheduled | Missing tag | Verify tag key and value match |
| Schedule not executing | Service not enabled | Enable service in Project Defaults |
| Region not scanned | Region not configured | Add region to Project Defaults |
| Permission denied | IAM role issue | Verify CloudFormation template is deployed |
Related Topics
- Resource Scheduling - Creating and managing schedules
- Tagging Resources - How to tag resources for scheduling
- AWS Account Setup - IAM role requirements