ThisCalculator

Everyday

Cut Your AWS Bill with Scheduled Scale to Zero?

Updated · Standard formula, shown below

Monthly savings 761.90 USD
Savings percentage
76.2 %
Result
Hours per day running
8 h
You entered
Days per week running
5 days
You entered

Yes, scheduling your non-production AWS resources to scale to zero during off-hours can cut your bill significantly, often by 50-70% for dev/test environments. This article explains how it works, what to watch out for, and how to implement it safely.

Formula

Monthly savings = Current monthly cost × (1 − (hours per day × days per week) / (24 × 7)).

Variables:

  • Current monthly cost – your total AWS spend for the resources you plan to schedule (USD).
  • Hours per day – how many hours the resources run each day (e.g., 8 for a business day).
  • Days per week – how many days per week they run (e.g., 5 for weekdays).

The formula assumes the cost is proportional to running time, which is true for most EC2, RDS, and ECS resources billed per second/hour.

Worked Example

Using the defaults from the calculator: current monthly cost = $1000, hours per day = 8, days per week = 5.

  1. Calculate the fraction of the week the resources run: (8 × 5) / (24 × 7) = 40 / 168 ≈ 0.2381.
  2. Subtract from 1: 1 − 0.2381 = 0.7619.
  3. Multiply by the monthly cost: 0.7619 × 1000 = $761.90.

So you would save about $762 per month, or 76.2%.

What “Scale to Zero” Actually Means

In AWS, “scale to zero” means reducing the number of running instances or resources to zero when they are not needed. This is different from stopping an instance (which keeps the EBS volumes and Elastic IPs, but stops compute charges) or terminating it (which deletes everything). For EC2, you can stop instances; for RDS, you can stop the database (but storage and backup charges remain); for ECS/EKS, you can scale down to zero tasks or nodes. Scheduling these actions automatically is the key to saving money without manual effort.

How to Schedule Scale-to-Zero

There are several ways to automate this, each with different levels of complexity and cost:

  • AWS Instance Scheduler – a free solution from AWS that uses CloudFormation, Lambda, and DynamoDB to start/stop EC2 and RDS instances based on tags and schedules. It supports time zones, multiple periods, and can be extended to other services.
  • Lambda + CloudWatch Events – write a Lambda function that stops or starts resources based on a cron expression in CloudWatch Events (now Amazon EventBridge). This gives you full control but requires coding.
  • AWS Auto Scaling Scheduled Actions – for Auto Scaling groups, you can define scheduled actions to set desired capacity to 0 at a certain time and back to N later. This works for EC2 fleets and ECS services.
  • Third-party tools – tools like ParkMyCloud or CloudHealth (now part of VMware) offer scheduling with a GUI, but they add cost and are not necessary for basic needs.

The Instance Scheduler is the most common choice because it is free, well-documented, and handles the heavy lifting.

What Costs Remain Even When Scaled to Zero?

Scaling to zero does not mean the bill drops to zero. You still pay for:

  • EBS volumes – stopped EC2 instances keep their root and data volumes, and you pay per GB-month.
  • Elastic IPs – if you reserve an Elastic IP and it is not attached to a running instance, you pay a small hourly fee.
  • RDS storage and backups – stopping an RDS instance still incurs storage and backup costs (though compute stops).
  • Snapshots – any snapshots you take are billed per GB-month.
  • Data transfer – if you transfer data out of AWS (e.g., to the internet), that is billed separately.

In many dev/test setups, compute is the dominant cost, so stopping instances still yields large savings, but you should estimate the residual costs to set expectations.

Common Pitfalls and How to Avoid Them

  • Losing data on ephemeral storage – if you use instance store volumes, stopping the instance erases them. Always use EBS for persistent data.
  • IP address changes – stopping and starting an EC2 instance changes its public IP unless you attach an Elastic IP. Make sure your DNS or configuration uses the Elastic IP or a private IP that stays the same.
  • Startup time – some applications take minutes to warm up. Schedule the start time earlier than when users actually need the service.
  • Dependencies – if your app depends on other resources (e.g., a database), make sure the start order is correct. For example, start the database before the application servers.
  • Time zone confusion – schedules are typically in UTC. If your team is in a different time zone, double-check the cron expression or use the Instance Scheduler’s time zone feature.
  • Forgetting to exclude production – never apply a scale-to-zero schedule to production resources. Use tags like “Environment=prod” to filter them out.

Is It Safe for Production?

No, scaling to zero is generally not appropriate for production workloads that need 24/7 availability. However, you can use a similar pattern to scale down (not to zero) during off-peak hours, reducing capacity but keeping a minimum number of instances. For example, you might scale a web fleet from 10 instances during the day to 2 at night. This saves money while maintaining a baseline level of service. For truly critical systems, consider using Reserved Instances or Savings Plans instead, which reduce cost without changing capacity.

Alternatives to Scheduled Scale-to-Zero

  • Reserved Instances / Savings Plans – commit to a 1- or 3-year term for a lower hourly rate. Good for steady-state workloads.
  • Spot Instances – use spare AWS capacity at a discount (up to 90%) for fault-tolerant or flexible workloads. Spot can be stopped or reclaimed by AWS with a two-minute warning.
  • Auto Scaling based on load – instead of a fixed schedule, scale based on CPU or request count. This adapts to real demand but may not reduce to zero if there is any traffic.
  • Serverless – move to AWS Lambda or Fargate with scale-to-zero built in. You pay only for requests and compute time, with no idle cost.

Frequently Asked Questions

How much can I actually save with scheduled scale-to-zero?
If you run a dev environment 8 hours a day, 5 days a week, you save about 76% of the compute cost. The exact amount depends on your current usage and what other resources (storage, backups) you keep. Use the calculator above with your actual monthly bill to get an estimate.

Does stopping an EC2 instance lose my data?
No, if you use EBS volumes, your data persists. However, any data on instance store volumes is lost. Also, if your instance has a public IP that is not Elastic, it will change when you restart, which could break connections.

Can I schedule RDS databases to stop/start?
Yes, RDS supports stopping and starting for most database engines. You still pay for storage and backups, but the compute cost is eliminated. Note that a stopped database cannot accept connections, so plan the schedule carefully.

What is the best tool for scheduling?
AWS Instance Scheduler is free, well-maintained, and handles EC2 and RDS. For more complex needs, you can write your own Lambda functions. Third-party tools are easier to use but cost money.

Will scheduled scaling affect my CloudWatch alarms or monitoring?
Yes, when an instance is stopped, CloudWatch metrics like CPU utilization stop reporting. Alarms that depend on those metrics will go into INSUFFICIENT_DATA. You may want to adjust alarms to be less noisy during off-hours.

Is it better to use Lambda or Auto Scaling scheduled actions?
It depends. Lambda gives you more flexibility (you can call APIs for any service), while Auto Scaling scheduled actions are simpler for scaling EC2 fleets and ECS services. For most users, Auto Scaling is easier to set up and maintain.

Related

Formula used
in h | Hours per day running | h | 8 | 0
in d | Days per week running | days | 5 | 0
in cost | Current monthly cost | USD | 1000 | 0
out savings | Monthly savings | USD | cost * (1 - (h * d) / (24 * 7)) | 2
out pct | Savings percentage | % | (1 - (h * d) / (24 * 7)) * 100 | 1

Each line is one input (in, sel, list) or one result (out: label, unit, formula, decimals). How the calculators work

Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.