# Scheduling Amazon EC2 Instance

> Stopping an EC2 instance ends the compute charge immediately and keeps everything else: the instance ID, the private IP, and every attached EBS volume. Those volumes keep billing at the full rate, which is why a schedule saves the compute line and not the whole bill.

Source: https://zop.dev/integrations/aws/ec2/schedule
Updated: 2026-08-19

---

## What survives the stop

A stopped instance is not a terminated one. It keeps its instance ID, its private IP address, its
attached volumes and its root device. Start it again and it comes back the same machine.

What it does not keep is the **public IP**, unless that address is an Elastic IP. An instance with
an auto-assigned public IP gets a different address on every start, which breaks anything that
allowlisted it or pointed DNS at it. That is the single most common surprise when a team first
schedules instances.

## Instance store data is destroyed

Instances with instance-store volumes lose that data on stop. It is ephemeral by design and there
is no warning at stop time. If a workload writes anything it needs to local NVMe rather than EBS,
a schedule will quietly delete it every evening.

## What keeps billing overnight

Attached EBS volumes, at their full provisioned rate. A stopped instance with a 500 GB gp3 root
volume still costs roughly $40 a month for that disk.

Any associated Elastic IP also keeps billing: since 2024 AWS charges for every allocated public
IPv4 address regardless of instance state.

So the honest saving is the compute rate multiplied by the off-hours, not the instance's total
monthly cost.

## The arithmetic worth doing

A weekday 08:00–18:00 schedule leaves an instance running 50 hours a week out of 168. That is
118 hours off, or roughly 70% of the compute line, on non-production instances that nobody
touches at night or at weekends.

## Reserved instances change the answer entirely

A Reserved Instance or Savings Plan bills whether or not the instance runs. Scheduling a covered
instance saves nothing at all. You keep paying the commitment and simply stop using it.

Check commitment coverage before scheduling. The instances worth scheduling are the on-demand
ones.
