Update the solution - Instance Scheduler on AWS

Update the solution

If you have previously deployed the solution, follow this procedure to update the Instance Scheduler on AWS CloudFormation stack to get the latest version of the solution's framework.

  1. Sign in to the AWS CloudFormation console, select your existing instance-scheduler-on-aws, and select Update.

  2. Select Replace current template.

  3. Under Specify template:

    • Select Amazon S3 URL.

    • Copy the link of the latest template.

    • Paste the link in the Amazon S3 URL box.

    • Verify that the correct template URL shows in the Amazon S3 URL text box, and choose Next. Choose Next again.

  4. Under Parameters, review the parameters for the template and modify them as necessary. For details about the parameters, see Step 1. Launch the instance scheduler stack.

  5. Choose Next.

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

  7. On the Review page, review and confirm the settings. Check the box acknowledging that the template will create AWS Identity and Access Management (IAM) resources.

  8. Choose View change set and verify the changes.

  9. Choose Update stack to deploy the stack.

You can view the status of the stack in the AWS CloudFormation console in the Status column. You should receive an UPDATE_COMPLETE status in a few minutes.

Repeat the above steps for the aws-instance-scheduler-remote stacks in each of your spoke accounts.

Updating to v1.5.x

Version 1.5.0 changes the way Instance Scheduler on AWS manages cross-account scheduling roles and introduces the ability to optionally manage them through your AWS Organization.

If you don't want to use AWS Organizations, Instance Scheduler on AWS only requires the Account IDs of the spoke accounts you wish to schedule instead of full role ARNs, however the update process will differ slightly if you do not plan to use AWS Organizations.

To update to v1.5.x, do the following:

  1. Update the hub template using the normal update instructions while updating the following parameters:

    1. Choose a unique namespace for the solution.

    2. Select whether you would like to Use AWS Organizations to manage spoke registration going forward.

      1. If you selected Yes replace Organization ID/Remote Account IDs with the ID of your AWS Organization.

  2. Update all remote stacks in spoke accounts with the following parameters:

    1. Namespace – same as you chose for the hub account.

    2. Use AWS Organizations – same as hub account.

    3. Hub Account ID – Account ID of the hub account (should be unchanged from before).

  3. Update the hub template for a second time to configure the remote Account IDs in hub account:

    1. If you selected Yes for Use AWS Organizations you can skip this step entirely.

    2. Update the hub template for a second time (select Use current template).

    3. Replace Organizations ID/Remote Account IDs with a comma separated list of {param: ssm-param-name} and/or remote Account IDs for each of your spoke accounts.

Updating from v1.5.0

Instance Scheduler v1.5.0 has a known compatibility issue with AppRegistry that prevents it from being able to directly upgrade to newer versions of the solution.

In order to upgrade v1.5.0 to a newer version of the solution, you must first update to an intermediary stack using the following templates:

Hub Stack: https://solutions-reference.s3.amazonaws.com/aws-instance-scheduler/v1.5.0/aws-instance-scheduler-1.5.0-u.template

Remote Stack: https://solutions-reference.s3.amazonaws.com/aws-instance-scheduler/v1.5.0/aws-instance-scheduler-remote-1.5.0-u.template

Installation of these stacks will disable AppRegistry integration on your deployment, allowing newer versions of the solution to recreate the association.

Updating to v3.x

Updating from 1.5.x to 3.x can be done without interruption to scheduling with the exception of the following:

  • "CloudWatch Metrics" feature in 1.5.x has been replaced with the Operational Insights Dashboard.

    • Per-schedule metrics in CloudWatch have been moved from Schedule/Service/MetricName → Schedule/Service/SchedulingInterval/MetricName

  • KMS key ARNs for use with encrypted EBS volumes on EC2 DB instances must now be provided to the hub/spoke CloudFormation stack in their respective accounts. (For more information, refer to Encrypted EC2 EBS Volumes.)

  • The CloudFormation parameter for scheduled services has been broken up into individual parameters for each supported service.

  • Instance Scheduler 3.0 is not backwards compatible with older versions of the Instance Scheduler CLI.

In addition to the above, the schema of the Maintenance Window table has been updated and will be replaced as part of the update. This will reset tracking for EC2 maintenance windows for the first few minutes after updating to v3.x and in rare cases may cause instances currently within a maintenance window to be stopped prematurely immediately following the update, after which scheduling operations will continue as normal.