Create an Amazon EBS-backed Linux AMI
To create an Amazon EBS-backed Linux AMI, start from an instance that you've launched from an
existing Amazon EBS-backed Linux AMI. This can be an AMI you have obtained from the AWS Marketplace, an
AMI you have created using the AWS Server Migration Service
The procedures described below work for Amazon EC2 instances backed by encrypted Amazon Elastic Block Store (Amazon EBS) volumes (including the root volume) as well as for unencrypted volumes.
The AMI creation process is different for instance store-backed AMIs. For information about the differences between Amazon EBS-backed and instance store-backed instances, and how to determine the root device type for your instance, see Storage for the root device. For information about creating an instance store-backed Linux AMI, see Create an instance store-backed Linux AMI.
For information about creating an Amazon EBS-backed Windows AMI, see Create an Amazon EBS-backed Windows AMI in the Amazon EC2 User Guide for Windows Instances.
Overview of creating Amazon EBS-backed AMIs
The following diagram summarizes the process for creating an Amazon EBS-backed AMI from a running EC2 instance: Start with an existing AMI, launch an instance, customize it, create a new AMI from it, and finally launch an instance of your new AMI. The numbers in the diagram match the numbers in the description that follows.

- 1 – AMI #1: Start with an existing AMI
-
Find an existing AMI that is similar to the AMI that you'd like to create. This can be an AMI you have obtained from the AWS Marketplace, an AMI you have created using the AWS Server Migration Service
or VM Import/Export, or any other AMI you can access. You'll customize this AMI for your needs. In the diagram, EBS root volume snapshot #1 indicates that the AMI is an Amazon EBS-backed AMI and that information about the root volume is stored in this snapshot.
- 2 – Launch instance from existing AMI
-
The way to configure an AMI is to launch an instance from the AMI on which you'd like to base your new AMI, and then customize the instance (indicated at 3 in the diagram). Then, you'll create a new AMI that includes the customizations (indicated at 4 in the diagram).
- 3 – EC2 instance #1: Customize the instance
-
Connect to your instance and customize it for your needs. Your new AMI will include these customizations.
You can perform any of the following actions on your instance to customize it:
-
Install software and applications
-
Copy data
-
Reduce start time by deleting temporary files and defragmenting your hard drive
-
Attach additional EBS volumes
-
- 4 – Create image
-
When you create an AMI from an instance, Amazon EC2 powers down the instance before creating the AMI to ensure that everything on the instance is stopped and in a consistent state during the creation process. If you're confident that your instance is in a consistent state appropriate for AMI creation, you can tell Amazon EC2 not to power down and reboot the instance. Some file systems, such as XFS, can freeze and unfreeze activity, making it safe to create the image without rebooting the instance.
During the AMI-creation process, Amazon EC2 creates snapshots of your instance's root volume and any other EBS volumes attached to your instance. You're charged for the snapshots until you deregister the AMI and delete the snapshots. If any volumes attached to the instance are encrypted, the new AMI only launches successfully on instances that support Amazon EBS encryption.
Depending on the size of the volumes, it can take several minutes for the AMI-creation process to complete (sometimes up to 24 hours). You might find it more efficient to create snapshots of your volumes before creating your AMI. This way, only small, incremental snapshots need to be created when the AMI is created, and the process completes more quickly (the total time for snapshot creation remains the same). For more information, see Create Amazon EBS snapshots.
- 5 – AMI #2: New AMI
-
After the process completes, you have a new AMI and snapshot (snapshot #2) created from the root volume of the instance. If you added instance-store volumes or EBS volumes to the instance, in addition to the root device volume, the block device mapping for the new AMI contains information for these volumes.
Amazon EC2 automatically registers the AMI for you.
- 6 – Launch instance from new AMI
-
You can use the new AMI to launch an instance.
- 7 – EC2 instance #2: New instance
-
When you launch an instance using the new AMI, Amazon EC2 creates a new EBS volume for the instance's root volume using the snapshot. If you added instance-store volumes or EBS volumes when you customized the instance, the block device mapping for the new AMI contains information for these volumes, and the block device mappings for instances that you launch from the new AMI automatically contain information for these volumes. The instance-store volumes specified in the block device mapping for the new instance are new and don't contain any data from the instance store volumes of the instance you used to create the AMI. The data on EBS volumes persists. For more information, see Block device mappings.
When you create a new instance from an EBS-backed AMI, you should initialize both its root volume and any additional EBS storage before putting it into production. For more information, see Initialize Amazon EBS volumes.
Create a Linux AMI from an instance
You can create an AMI using the AWS Management Console or the command line.
Create a Linux AMI from a snapshot
If you have a snapshot of the root device volume of an instance, you can create an AMI from this snapshot using the AWS Management Console or the command line.
Launch an instance from an AMI you created
You can launch an instance from an AMI that you created from an instance or snapshot.
To launch an instance from your AMI
Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/
. -
In the navigation pane, under Images, choose AMIs.
-
Set the filter to Owned by me and select your AMI.
-
Choose Launch instance from AMI.
-
Accept the default values or specify custom values in the launch instance wizard. For more information, see Launch an instance using the new launch instance wizard.