Cost - Instance Scheduler on AWS

Cost

You are responsible for the cost of the AWS services used while running Instance Scheduler on AWS. As of the latest revision, the cost for running this solution a small deployment in two accounts and two Regions is approximately $13.15 per month. See the following sample cost tables for a more detailed breakdown.

Instance Scheduler on AWS is designed to invoke AWS Lambda functions multiple times per run cycle. For example, if you use the solution to manage both Amazon EC2 and Amazon RDS instances in one Region for two accounts (one account where the solution is deployed and the other account is a cross account), the solution runs five Lambda function invocations:

  • One to handle the initial Orchestration Request from Event Bridge, which is invoked based on the selected frequency (default: five minutes).

  • An additional Lambda invocation for each service, account, and Region.

  • If Auto Scaling Group scheduling is enabled, another orchestration invocation runs for all accounts/regions every hour.

Custom Operational Metrics add additional costs based on the number of schedules and instance types (such as m2.medium, t3.large) being scheduled by the solution. If you don't want to track these metrics, you can turn off this feature to save costs. Refer to Operational insights dashboard for more details on these metrics and their associated costs.

This solution uses on-demand scaling for its Amazon DynamoDB tables to provide sufficient read and write capacity.

See the pricing webpage for each AWS service in this solution.

The cost of the solution per run depends on the number of instances being tagged and managed by the solution. As the number of EC2 and RDS DB instances increases, the Lambda run time also increases proportionately.

We recommend creating a budget through AWS Cost Explorer to help manage costs. Prices are subject to change.

Note

For cost optimization purposes, Instance Scheduler groups all Amazon RDS-related services into a single invocation. So even if you enable Amazon RDS, Amazon Aurora, Amazon Neptune, and Amazon DocDB scheduling; this will still be considered just "RDS" for the purpose of cost calculations.

Pricing examples (monthly)

Small deployment

This pricing example is based on these assumptions:

  • Two accounts, two Regions, scheduling all possible services

  • 3 schedules in active use

  • 20 instances of 3 different sizes

  • Scheduling interval: 5 minutes

  • Lambda function size: 128 MB

  • Average Lambda function runtime: 8 seconds

AWS service Dimensions Monthly Cost [USD]
AWS Lambda

288 + 24 scheduling runs per day

1+8 Lambda functions per run

8 second average Lambda runtime

($0.0000021/second)

($0.0000002/Lambda function call)

~$1.50

Operational Metrics (optional)

CloudWatch dashboard ($3/month)

3 per-instance-type metrics

($0.90/month)

3 per-schedule metrics * 2 services ($0.60/month)

~80,000 PutMetric calls/month

($0.01/1000)

~$10.00

Amazon DynamoDB

~75,000 WRU/month ($1.25 per million)

~100,000 RRU/month ($0.5 per million)

negligible storage costs (<$0.01)

~$0.15
AWS KMS

1 AWS KMS key ($1/month)

~140,000 API requests/month ($0.30/10000)

~$1.50
Total: ~$13.15

Medium deployment

This pricing example is based on these assumptions:

  • 50 accounts, 4 Regions, scheduling all supported services

  • 10 schedules in active use

  • 200 instances of 10 different sizes

  • Scheduling interval: 5 minutes

  • Lambda function size: 128 MB

  • Average Lambda runtime: 8 seconds

  • 5 EC2 Maintenance Windows

AWS service Dimensions Monthly Cost [USD]
AWS Lambda

288 + 24 scheduling runs per day

1+400 Lambda functions per run

8 second average Lambda runtime

($0.0000021/second)

($0.0000002/Lambda function call)

~$64.00

Operational Metrics (optional)

CloudWatch dashboard ($3/month)

10 per-instance-type metrics

($0.90/month)

10 per-schedule metrics * 2 services ($0.60/month)

~3.5m PutMetric calls/month

($0.01/1000)

~$60.00

Amazon DynamoDB

~7m WRU/month ($1.25 per million)

~8m RRU/month ($0.5 per million)

Storage costs (<$0.01)

~$12.00
AWS KMS

1 AWS KMS key ($1/month)

~7m API requests/month ($0.30/10000)

~$22.00
Total: ~$158.00

Large deployment

This pricing example is based on these assumptions:

  • 120 accounts, 6 Regions, scheduling both Amazon EC2 and Amazon RDS

  • 100 schedules in active use

  • 2000 instances of 50 different sizes

  • 100 EC2 Maintenance Windows

  • Scheduling interval: 5 minutes

  • Lambda function size: 128 MB

  • Average Lambda function runtime: 8 seconds

AWS service Dimensions Monthly Cost [USD]
AWS Lambda

288 + 24 scheduling runs per day

1+1440 Lambda functions per run

8 second average Lambda function runtime

($0.0000021/second)

($0.0000002/Lambda call)

~$230.00

Operational Metrics (optional)

CloudWatch dashboard ($3/month)

50 per-instance-type metrics

($0.90/month)

100 per-schedule metrics * 2 services ($0.60/month)

~3.5m PutMetric calls/month

($0.01/1000)

~$300.00

Amazon DynamoDB

~26m WRU/month ($1.25 per million)

~26m RRU/month ($0.5 per million)

Storage costs (<$0.01)

~$40.00
AWS KMS

1 KMS key ($1/month)

~25m API requests/month ($0.30/10000)

~$80.00
Total: ~$650.00

To efficiently configured the solution, consider the following:

  1. Deploy the solution in a Region where the cost of the Lambda function is lowest.

  2. Do not change the memory of the Lambda function (CloudFormation parameter Memory unless absolutely required). This will increase the cost of the solution significantly.

  3. Remove unused schedules from the solution configurations.

  4. Select a frequency that reduces the number of Lambda function runs per day. For example, if the schedules are hours apart, set the frequency (Frequency CloudFormation parameter) to one-hour increments. By default, the solution is set to five minutes which means the Lambda function will be invoked 288 times a day, whereas a one-hour frequency will run 24 times a day.