What is Amazon Machine Image (AMI)?
An AMI is a special type of pre-configured virtual machine image that is used to create virtual servers
(EC2 instances) in the AWS environment. You must specify an AMI during the launch of EC2 instance. This is a faster way to setup an EC2 instance with pre-configured software, no manual setup is required. Multiple EC2 instances can be launched from a single AMI.
AMI Includes the following :
- A template for the root volume of the instance (for example operating system, application server, and other applications).
- Launch permissions that control which Amazon Web Services (AWS) accounts can use the machine images to setup an instance.
- A block device that specifies the root volume to attach to the instance when it’s launched.
- You can keep incremental changes to your OS, Application code, and system software packages using AMIs.
- Using System Manager Automation, you can patch your AMIs with security and other software updates.
Types of AMI
You can select your Type of AMI’s based on:
- Region
- Operating system
- Architecture (32-bit or 64-bit)
- Storage for the Root Device(Backed by Amazon EBS or instance store)
- Launch Permissions
- Launch permissions fall into the following categories:
- Public: The owner grants launch permissions to all AWS accounts.
- Explicit: The owner grants launch permissions to specific AWS accounts.
- Implicit: The owner has implicit launch permissions for an AMI.
- Launch permissions fall into the following categories:
AMI best practices
- Ensure that your AMI should meet all AWS Marketplace policies, including disabling root login.
- You can create your AMI in any AWS region but it is recommended to create in the US East (N. Virginia) Region.
- Build AMIs using the latest version of operating systems, packages, and software.
- All AMIs must start with a public AMI that uses hardware virtual machine (HVM) virtualization and 64-bit architecture.
- To keep AMIs updated, develop a repeatable process for building, updating, and republishing AMIs.
- Use a consistent operating system (OS) username across all versions and products. AWS recommends ec2-user.
- Test all installation methods, features, and performance before AMI submission to AWS Marketplace.
- Clearly define the AMI lifecycle provided by trusted, reputable sources such as AWS Marketplace.
- Check the following port settings
- Linux-based AMIs – Ensure that a valid SSH port (default SSH port 22) is open.
- Windows-based AMIs – Ensure that an RDP port (default RDP port is 3389) is open.
Amazon Machine Image: Simplify Cloud Management