Glossary // AWS AMI
What is AWS AMI?
An Amazon Machine Image (AMI) is used to create virtual servers (EC2 instances) in the Amazon Web Services (AWS) environment. Different types of instances can be launched from a single AMI to support the hardware used by the host computer. With AMIs, it is faster and easier to set up an instance when compared to traditional software deployments. This is because 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, its user community, or its AWS marketplace. Custom AMIs can also be created by users or third-party providers (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.
- 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.