Skip to content

CLI utility to create AWS Scheduled Actions using instance tags or autoscaling id via a config file

License

Notifications You must be signed in to change notification settings

niklongstone/sked

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sked CLI

Configures AWS Scheduled Scaling for Amazon EC2 Auto Scaling based on Tags.

You can Tag your EC2 instances and define in a config file the scaling profiles. The rest is magic...

Installation

$ pip install sked

Usage

sked create [-c=<config_file>]
sked delete [-c=<config_file>]
sked -h | --help
sked --version

Examples

sked create -c my_schedule.yml
sked delete -c my_schedule.yml

If you omit the -c parameter, the cli by default tries to use a file called sked.yml.

Configuration file sample

# sked.yml
profiles:
  small:
    desired_capacity: 5
    min_size: 1
    max_size: 10
    recurrence: 0 7 * * * # every day at 07:00
  overnight:
    desired_capacity: 0
    min_size: 0
    recurrence: 15 19 * * MON-FRI # 19:15 from Monday to Friday

auto_scaling_groups:
  - filter:
      tag:
        key: Name
        value: SomeTag
    schedule:
      - profile: small
        times:
          - start_time: 2018-03-01T00:00:00Z
          - start_time: 2018-04-01T00:00:00Z
  - filter:
      tags:
        - tag: {key: Name, value: MyInstanceA}
        - tag: {key: Name, value: 'My Instance B'}
    schedule:
      - profile: small
        times:
          - start_time: 2018-03-01T00:00:00Z
          - start_time: 2018-04-01T00:00:00Z

Additional Note

Sked doesn't store the state of the applied scheduled action. Everything is based upon the Yaml configuration file.

If you want to use the delete command make sure you didn't change the Yaml configuration file in the meantime.

For instance, the following workflow will produce an error:

  1. run sked create
  2. change the sked.yml file
  3. run sked delete

About

CLI utility to create AWS Scheduled Actions using instance tags or autoscaling id via a config file

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages