What is AWS Amazon Machine Image (AMI)?
Learning Center | Glossary | AMI
What is AWS AMI?
An Amazon Machine Image (AMI) is used to create virtual servers (Amazon Elastic Compute Cloud or EC2 instances) in the Amazon Web Services (AWS) environment. Different types of instances can be launched from a single AMI to support the hardware of the host computer used for the instance. With AMIs, it is faster and easier to set up an instance than with traditional software deployments as there is no manual set up, no configuration and no additional hardware.
AMIs can be created or acquired. Prebuilt AMIs can be found by searching AWS, the user community or the AWS marketplace. Custom AMIs can also be created by users or third-party providers (for example, from a vendor such as Aviatrix) to meet specific requirements. Custom AMIs can be kept private. They can also be shared or sold publicly.
The main component of an AMI is a read-only file system that is compressed, encrypted and stored in Amazon S3. AMIs include:
- A template for the instance’s root volume, which typically contains an operating system*, application server, and applications
- Permissions that restrict AMI instance launches to defined accounts
- Public – launch permission granted to all AWS accounts
- Explicit – launch permission only granted to specific accounts
- Implicit – launch permission only granted for an AMI
- A block device mapping that directs which volumes are attached to a launched instance
Once an AMI has been created and registered, it can be reused to launch multiple instances with the same configuration. Tags can be used to categorize and manage AMIs. When an AMI is no longer needed, it can be deregistered. A deregistered AMI cannot be used to launch new instances, but existing instances will remain active.
*Amazon EC2 currently (as of March 2018) supports a variety of operating systems, including Amazon Linux, Ubuntu, Windows Server, Red Hat Enterprise Linux, SUSE Linux Enterprise Server, Fedora, Debian, CentOS, Gentoo Linux, Oracle Linux, and FreeBSD.