How do I create an AMI that's based on my EBS-backed EC2 instance?

2 minute read

I want to create a backup or launch multiple copies of my Amazon Elastic Compute Cloud (Amazon EC2) instance. Or, I received a maintenance notification suggesting that I create an Amazon Machine Image (AMI) of my instance.

Short description

Amazon Machine Images (AMIs) are archival copies of instances that you can use to launch other instances. You can create AMIs from instances as a backup or to create new instances with the exact configuration of the parent instance.

You can launch multiple instances from a single AMI when you require multiple instances with the same configuration. For example, you have an instance with a specific OS version, custom configurations, and multiple applications installed. You can create an AMI of this instance and use it to launch multiple new instances with the same applications and configurations.

During the AMI-creation process, Amazon EC2 creates snapshots of your instance's root volume and any other Amazon Elastic Block Store (Amazon EBS) volumes attached to the instance. This allows you to replicate both an instance's configuration and the state of all of the EBS volumes that are attached to that instance. You're charged for the snapshots until you deregister the AMI and delete the snapshots.


Note: Instances created from AMIs don't retain or copy any data stored in instance store volumes. The source instance that you create the AMI from retains all data that's stored in the instance store.

Create an AMI

Note: To maintain data consistency, your instance reboots during the AMI creation process. During the reboot, the public IP address and instance store volumes for your instance remain the same. You can choose the NoReboot option when creating an AMI to prevent the EC2 instance from rebooting. This option can affect the filesystem integrity of the AMI.

Related information

(Linux) Amazon Machine Images (AMIs)

(Windows) Amazon Machine Images (AMI)

Shared AMIs

How can I restrict access to launch Amazon EC2 instances from only tagged AMIs?

Controlling access during AWS requests

AWS OFFICIALUpdated a year ago