Step 1: Launch the instance scheduler hub stack - Instance Scheduler on AWS

Step 1: Launch the instance scheduler hub stack

Follow the step-by-step instructions in this section to deploy the solution into your account.

Time to deploy: Approximately five minutes

Launch solution button

  1. Sign in to the AWS Management Console and select the button to launch the instance-scheduler-on-aws.template AWS CloudFormation template.

  2. The template launches in the US East (N. Virginia) Region by default. To launch the solution in a different AWS Region, use the Region selector in the console navigation bar.

  3. On the Create stack page, verify that the correct template URL is in the Amazon S3 URL text box and choose Next.

  4. On the Specify stack details page, assign a name to your solution stack. For information about naming character limitations, see IAM and AWS STS quotas in the AWS Identity and Access Management User Guide.

  5. Under Parameters, review the parameters for this solution template and modify them as necessary. This solution uses the following default values.

    Parameter Default Description
    Schedule tag key

    Schedule

    The tag key that the solution reads to determine the schedule for a resource. The value on a resource specifies the name of the schedule.

    If you choose to modify the default value, assign a name that is easy to apply consistently and correctly across all necessary instances.

    Note: The tag key is case sensitive.

    For example, if the value for this parameter is left as the default of Schedule, Instance Scheduler on AWS will schedule all EC2 instances tagged with the key Schedule and the value my-office-hours-schedule according to the schedule with the name my-office-hours-schedule.

    Scheduling interval (minutes)

    5

    Interval in minutes between scheduler initiates for Amazon EC2 and Amazon RDS.

    A longer scheduling interval reduces the running costs of the solution but also make scheduling less accurate. With a scheduling interval of 5 minutes, instances are started/stopped within 5 minutes of requested start/stop times.

    Default time zone

    UTC

    Default IANA (International assigned Numbers Authority) time zone identifier for schedules that do not specify a time zone. For a list of valid time zone identifiers, refer to the TZ identifier column of the List of tz database time zones.
    Scheduling enabled

    Yes

    Select Noto disable scheduling for all services.
    Enable xxx Scheduling

    Enabled

    Enable/disable scheduling for each service supported by the solution (multiple parameters).
    Start tags

    InstanceScheduler-LastAction=Started By {scheduler} {year}/{month}/{day} {hour}:{minute}{timezone},>

    Comma separated list of tag keys and values of the format key=value, key=value,... that are set on started instances.

    This value can be removed to disable the feature entirely.

    Stop tags

    InstanceScheduler-LastAction=Stopped By {scheduler} {year}/{month}/{day} {hour}:{minute}{timezone},>

    Comma separated list of tag keys and values of the format key=value, key=value,... that are set on stopped instances.

    This value can be removed to disable the feature entirely.

    Enable EC2 SSM maintenance windows

    No

    Allow schedules to specify one or more Systems Manger maintenance window names. Instance Scheduler on AWS will then ensure that instances tagged with that schedule are started at least ten minutes before associated maintenance windows.
    KMS Key ARNs for EC2 <Optional Input> Comma-separated list of KMS ARNs to grant Instance Scheduler on AWS kms:CreateGrant permissions to provide the EC2 service with decrypt permissions for encrypted EBS volumes. This allows the scheduler to start EC2 instances with attached encrypted EBS volumes. Provide (*) to give limited access to all KMS keys; leave blank to disable. For details on the created policy, refer to Encrypted EC2 EBS Volumes.
    Create RDS instance snapshots on stop

    No

    Choose whether to create a snapshot before stopping RDS DB instances.

    Note: Snapshots are not available for Amazon Aurora clusters.

    ASG scheduled tag key

    scheduled

    A tag that this solution applies to Amazon EC2 Auto Scaling groups to track necessary scheduling information for the solution.
    ASG action name prefix

    is-

    The prefix that the solution uses when naming Scheduled Scaling actions for Auto Scaling groups. Actions with this prefix will be added and removed by the solution as needed.
    Use AWS Organizations

    No

    Use AWS Organizations to automate spoke account registration.
    Namespace

    default

    Provide a unique identifier to differentiate between multiple solution deployments (no spaces). Example: Dev.

    This parameter is required to be a non-empty value for deployments using AWS Organizations.

    Organization ID/Remote Account IDs <Optional Input> If you're using AWS Organizations this field is required. Provide the Organization ID, for example, o-xxxxyyy. Otherwise, provide a comma separated list of spoke Account IDs to schedule, such as 1111111111, 2222222222 or {param: ssm-param-name} to load a list of accounts from 1 or more SSM parameters.
    Region(s) <Optional Input> List of Regions where instances will be scheduled. For example, us-east-1,us-west-1 .
    Note

    If you leave this parameter blank, the solution will use the current Region.

    Enabled hub account scheduling

    Yes

    Enable scheduling of instances within the hub account.
    Log retention period (days)

    30

    The log retention period for CloudWatch logs in days.
    Enable CloudWatch Debug Logs

    No

    Enable debug-level logging in CloudWatch logs.
    Operational Monitoring

    Enabled

    Deploy an operational insights dashboard to CloudWatch and gather custom metric data on the solution's operation.
    Important

    Enabling this feature will incur additional charges for custom CloudWatch metrics and dashboard.

    Memory Size

    128

    The memory size of the AWS Lambda function that schedules Amazon EC2 and Amazon RDS resources. Increase if you are experiencing high memory usage or timeouts.
    Protect DynamoDB Tables

    Enabled

    Enable deletion protection for DynamoDB tables used by the solution. This causes the tables to be retained when deleting this stack. To delete the tables when deleting this stack, first disable this parameter.
  6. Choose Next.

  7. On the Configure stack options page, choose Next.

  8. On the Review and create page, review and confirm the settings. Check the box acknowledging that the template will create IAM resources.

  9. Choose Submit to deploy the stack.

You can view the status of the stack in the AWS CloudFormation console in the Status column. You should receive a CREATE_COMPLETE status in approximately five minutes.