# AWS AMI

> AWS AMI, or Amazon Machine Image, is a pre-configured virtual machine image used to create and launch Amazon Elastic Compute Cloud (EC2) instances

- Source: https://www.itwonderlab.com/aws-ami/
- Published: 2023-09-05
- Updated: 2026-10-05
- Author: Javier Ruiz Jiménez (https://www.javierruizjimenez.com/)
- Site: IT Wonder Lab (https://www.itwonderlab.com/)

---

## Amazon Machine Image

An Amazon Machine Image (AMI) is essentially a template that contains all the necessary information to launch a virtual machine (EC2 instance) within the AWS cloud environment.

It includes the following components:

-   **Operating System**: An AMI typically contains an operating system, such as Amazon Linux, Ubuntu, Windows Server, or other supported OS distributions.
-   **Software Configuration**: Along with the OS, an AMI can include additional software, libraries, and configurations that are needed for a specific application or use case. This allows you to create instances that are ready to run specific workloads.
-   **Architecture and virtualization**: an AMI is built for a processor architecture (x86_64 or arm64) and a virtualization type (HVM), which determine the instance types that can launch it. The instance type then sets the hardware resources (CPU, GPU, memory, network) of the EC2 instance.
-   **Storage Snapshot**: An AMI may reference an Amazon Elastic Block Store (EBS) snapshot that serves as the root volume for the EC2 instance. This snapshot includes the initial state of the instance’s boot volume.
-   **Permissions**: You can control who can access and use your AMIs by specifying permissions using IAM. This allows you to share custom AMIs with other AWS accounts or make them public.

Common use cases for AWS AMIs include:

-   **Golden Images**: A pre-configured and fully optimized template or master copy of a software environment created with Vagrant, AWS EC2 Image Builder or by making an image from a running instance.
-   **Custom Environments**: You can create custom AMIs with your preferred software and configurations, making it easy to replicate and launch consistent environments.
-   **Application Deployment**: AMIs are often used to package and distribute applications, ensuring that they can be easily deployed on EC2 instances.
-   **Backup and Disaster Recovery**: You can create AMIs from running instances, providing a copy of the instance that can be used for backup or disaster recovery purposes.
-   **Scaling and Auto Scaling**: AMIs are used in Auto Scaling groups to automatically launch new instances based on predefined templates as traffic load increases or decreases.
-   **Version Control**: AMIs allow you to maintain version control over your EC2 instance configurations and applications, ensuring that you can roll back to a known state if needed.

AWS AMIs are essential for launching and managing [EC2 instances](https://www.itwonderlab.com/aws-ec2/). They provide a convenient way to package, distribute, and maintain virtual machine templates for various computing needs within the AWS cloud ecosystem.
