Start resumes a stopped instance (you are billed again), Stop shuts down the instance while preserving the EBS root volume and Elastic IP (billing for the instance stops but EBS storage costs continue), and Terminate permanently deletes the instance and its root EBS volume by default.
Understanding the difference between these three actions is critical to managing EC2 costs and data persistence. Start and Stop are reversible operations, while Terminate is permanent and irreversible. Always confirm before terminating an instance in production.
Start — Resumes a previously stopped EBS-backed instance. The instance gets a new public IP (unless using Elastic IP). Billing for compute resumes. Data on EBS volumes is preserved.
Stop — Gracefully shuts down the instance. Compute billing stops. EBS root volume is preserved and you continue to pay for EBS storage. Public IP is released (unless Elastic IP). Instance store volumes lose their data.
Terminate — Permanently deletes the instance. By default, the root EBS volume is also deleted (DeleteOnTermination = true). Additional EBS volumes attached are NOT deleted unless configured to do so. This action is irreversible.
Hibernate — A special stop state where the contents of RAM are saved to the EBS root volume and restored on start. Must be enabled at launch time.
Running — You are billed for compute (per second for most instance types), EBS storage, data transfer, and any Elastic IPs not associated.
Stopped — No compute charges. You are still billed for EBS storage, Elastic IPs that are NOT associated with a running instance, and other attached resources.
Terminated — All billing stops once the instance is fully terminated and root volume is deleted.
Instance Store — Data is permanently lost on stop or terminate. Instance store volumes are ephemeral.