To delete an Amazon Machine Image (AMI) in AWS, you can use the AWS Management Console, AWS Command Line Interface (CLI), or one of the AWS SDKs.
You can’t delete an AMI that is used by running EC2 instances. One must terminate all instances using that AMI before deregistering it. Deregistered AMIs can still be shared with other AWS accounts. To completely remove an AMI from your account, you need to delete both the AMI and its associated snapshots.
How Do I Delete AMI in AWS
There are two main steps to deleting an AMI in AWS: deregistering and deleting the snapshots it’s based on (if applicable). Here’s how to do it:
Deregistering the AMI
To deregister the AMI follow the instructions below:
- Open the Amazon EC2 Console:
- Open your web browser and go to the following URL: https://console.aws.amazon.com/ec2/
- If you’re not already logged in, you will need to enter your AWS account credentials to log in.
- Select the “AMIs” Option:
- In the left navigation pane of the EC2 console, locate and click on the “AMIs” (Amazon Machine Images) option. This will take you to the AMIs dashboard.
- Choose the AMI You Want to Delete:
- On the AMIs dashboard, you will see a list of all your registered AMIs. You can use the filters and the search bar to narrow down the list and easily find the specific AMI you want to deregister.
- Click on the “Actions” Menu:
- Once you’ve identified the target AMI, select it by clicking on its corresponding checkbox.
- At the top of the page, you’ll find an “Actions” dropdown menu. Click on it to open the menu.
- Select “Deregister” from the Actions Menu:
- In the “Actions” menu, choose the “Deregister” option. This action tells AWS that you want to unregister this AMI.
- Confirm the Deregistration:
- After selecting “Deregister,” a confirmation dialog box will appear, asking if you are sure you want to deregister the selected AMI.
- Read the information carefully to ensure you’re deregistering the correct AMI.
- Click on the “Continue” button to confirm and proceed with the deregistration.
After completing these steps, the selected AMI will be deregistered. Keep in mind that deregistering an AMI does not delete the associated Amazon EBS snapshots. If you want to clean up completely, you may also need to manually delete any EBS snapshots associated with the AMI.
Deleting the snapshots
To delete the snapshots, perform the steps below:
- Go to the “Snapshots” option in the navigation pane.
- Find the snapshots associated with the deregistered AMI. You can identify them by looking for the AMI ID in the “Description” or “Owner” columns.
- Select the snapshots you want to delete. You can also choose to delete all associated snapshots by clicking the checkbox next to “Name”.
- Click on the “Actions” menu and select “Delete”.
- Confirm the deletion by clicking “Yes, Delete”.
What Happens if AMI Is Deleted
The consequences of deleting an AMI in AWS depend on how the AMI was used and your cleanup intentions:
For running EC2 instances
If you have running EC2 instances launched from the deleted AMI, they will continue to run normally. However, you cannot launch new instances from that AMI anymore. Any changes made to the running instances will not be reflected in the deleted AMI.
For future deployments
You cannot launch new EC2 instances from the deleted AMI. Therefore, if you rely on that specific configuration for future deployments, it will be unavailable. If you used the AMI for disaster recovery or similar purposes, losing it means you’ll have to create a new backup image if needed.
For storage and costs
Deregistering the AMI itself doesn’t necessarily free up storage space or reduce costs. The underlying snapshots associated with the AMI persist unless you specifically delete them as well.
To completely remove the AMI and reclaim storage space, you need to delete all associated snapshots. This will also reduce any storage-related costs.
Impact on other accounts
If you share the AMI with other AWS accounts, they will still be able to use it unless you revoke their access. However, they won’t be able to launch new instances after you delete the AMI itself.
Frequently Asked Questions
Is there a way to prevent accidental deletion of critical AMIs in AWS?
To prevent accidental deletion, IAM policies can be set to control user permissions regarding AMI deletion. Users should exercise caution and confirm their actions.
What precautions should I take before deleting an AMI in AWS?
Before deleting an AMI, ensure that no critical instances are using it. Additionally, create backups or alternative resources to avoid service disruptions.
Can I recover a deleted AMI in AWS?
No, the process of deleting an AMI is irreversible, and once an AMI is deleted, it cannot be recovered. It’s essential to have proper backups and procedures in place.
Overall, deleting an AMI is a potentially impactful action. Carefully consider the consequences and ensure you have a clear understanding of how it will affect your running instances, future deployments, storage, and potentially other AWS accounts before proceeding.