Cloudaware Documentation

AWS EC2/RDS Instance Schedule

This guide instructs on using the EC2/RDS scheduler, which starts and stops EC2/RDS instances based on the cloudaware:scheduler tag value. The schedule tag value may consist of several fields separated by spaces, with each field in the format key=value.

IAM Policy


To grant Cloudaware necessary permissions, apply the following policy in your AWS console:

{
 "Version": "2012-10-17",
 "Statement": [
  {
   "Sid": "CaInstanceScheduler",
   "Effect": "Allow",
   "Action": [
    "ec2:DescribeInstances",
    "ec2:StartInstances",
    "ec2:StopInstances",
    "rds:DescribeDBInstances",
    "rds:ListTagsForResource",
    "rds:StartDBInstance",
    "rds:StopDBInstance"
   ],
   "Resource": [
    "*"
   ]
  }
 ]
}

You can also download the policy in your Cloudaware account. For that, go to Admin → Amazon Web Services → the tab 'AWS Accounts'. Click ADD AMAZON ACCOUNTUsing Access & Secret Keys → select Instance Scheduler in 'CLOUDAWARE IAM POLICIES'.


Tag Keys


The list of tag keys that are used to set up instance start/stop:

Key

Description

tz (required)

Timezone to be used by the scheduler. Use Area/Location style from IANA Time Zone Database:

tz=America/New_York

The time zone must be specified first in the tag.

default (required)


Default instance work hours. Can be either numeric or range with a hyphen separated by slashes /. Use off to specify that the instance should be stopped all that day or on to specify that the instance should be running. The work hours should be specified in 24-hour format.

mon, tue, wed, thu, fri, sat, sun (optional)


Instance work hours for the current day. The format is the same as the key default.

Example 1. Work hours:

default=9-16 sat=off sun=off

The instance will run from 9:00 to 16:59 all days, except Saturday and Sunday.

Example 2. Work hours:

default=off wed=9/14-17

The instance will run only on Wednesday from 9:00 to 9:59 and from 14:00 to 17:59.

policy (optional)


Scheduler mode. Can be start_at_time or stop_at_time, meaning that the scheduler will check and change the instance status only at the time defined with keys default and mon .. sun.

Learn more about tagging resources in Cloudaware here.


Tag Examples

tz=America/New_York default=9-17 sat=9-11/15-17 sun=off

Description:

schedule timezone

  • New York (EST);

instance work hours

  • from Monday to Friday: 9:00-17:59;

  • Saturday: 9:00-11:59 and 15:00-17:59;

  • Sunday: completely off;

Use the 'default=off' to specify exceptions in work hours for an instance. The instance will be off all time, except for specific periods, for example:

tz=America/New_York default=off wed=0-5 


Description:

schedule timezone

  • New York (EST);

instance work hours

  • Wednesday: 00:00-5:59;


To configure an instance to operate only from 8 AM to 6 PM on weekdays and remain off during nights and weekends, use the following schedule:

tz=America/New_York mon=8-18 tue=8-18 wed=8-18 thu=8-18 fri=8-18 sat=off sun=off default=off

Description:

schedule timezone

  • New York (EST);

instance work hours

  • from Monday to Friday: 8:00-18:59;

  • Saturday-Sunday: off


For instances that operate across midnight, configure a sophisticated scheduling pattern. For example, if an instance runs from Monday through Friday, operating from midnight to 2 AM and again from 10 PM to midnight, the configuration may be:

tz=America/New_York mon=0-2/22-24 tue=0-2/22-24 wed=0-2/22-24 thu=0-2/22-24 fri=0-2/22-24 sat=off sun=off default=off

Description:

schedule timezone

  • New York (EST);

instance work hours

  • from Monday to Friday: 0:00-2:00 and 22-0:00;

  • Saturday-Sunday: off

This approach allows for precise control over resource utilization and cost management.


Scheduler Tag Generator