Deregister your AMI - Amazon Elastic Compute Cloud

Deregister your AMI

You can deregister an AMI when you have finished using it. After you deregister an AMI, you can't use it to launch new instances.

When you deregister an AMI, it doesn't affect any instances that you've already launched from the AMI or any snapshots created during the AMI creation process. You'll continue to incur usage costs for these instances and storage costs for the snapshot. Therefore, you should terminate any instances and delete any snapshots that you're finished with.

The procedure that you'll use to clean up your AMI depends on whether it's backed by Amazon EBS or instance store. For more information, see Determine the root device type of your AMI.

Considerations

The following considerations apply to deregistering AMIs:

  • You can't deregister an AMI that is not owned by your account.

  • You can't deregister an AMI that is managed by the AWS Backup service using Amazon EC2. Instead, use AWS Backup to delete the corresponding recovery points in the backup vault. For more information, see Deleting backups in the AWS Backup Developer Guide.

Clean up your Amazon EBS-backed AMI

When you deregister an Amazon EBS-backed AMI, it doesn't affect the snapshot(s) that were created for the volume(s) of the instance during the AMI creation process. You'll continue to incur storage costs for the snapshots. Therefore, if you are finished with the snapshots, you should delete them.

The following diagram illustrates the process for cleaning up your Amazon EBS-backed AMI.


        Process to clean up your Amazon EBS-backed AMI.

You can use one of the following methods to clean up your Amazon EBS-backed AMI.

Console
To clean up your Amazon EBS-backed AMI
  1. Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/.

  2. Deregister the AMI

    1. In the navigation pane, choose AMIs.

    2. From the filter bar, choose Owned by me to list your available AMIs or Disabled images to list your disabled AMIs.

    3. Select the AMI to deregister, and take note of its ID—this can help you find the snapshots to delete in the next step.

    4. Choose Actions, Deregister AMI. When prompted for confirmation, choose Deregister AMI.

      Note

      It might take a few minutes before the console removes the AMI from the list. Choose Refresh to refresh the status.

  3. Delete snapshots that are no longer needed

    1. In the navigation pane, choose Snapshots.

    2. Select a snapshot to delete (look for the AMI ID from the prior step in the Description column).

    3. Choose Actions, Delete snapshot. When prompted for confirmation, choose Delete.

  4. (Optional) Terminate instances

    If you are finished with an instance that you launched from the AMI, you can terminate it.

    1. In the navigation pane, choose Instances, and then select the instance to terminate.

    2. Choose Instance state, Terminate instance. When prompted for confirmation, choose Terminate.

AWS CLI

Follow these steps to clean up your Amazon EBS-backed AMI

  1. Deregister the AMI

    Deregister the AMI using the deregister-image command:

    aws ec2 deregister-image --image-id ami-12345678
  2. Delete snapshots that are no longer needed

    Delete snapshots that are no longer needed by using the delete-snapshot command:

    aws ec2 delete-snapshot --snapshot-id snap-1234567890abcdef0
  3. Terminate instances (Optional)

    If you are finished with an instance that you launched from the AMI, you can terminate it by using the terminate-instances command:

    aws ec2 terminate-instances --instance-ids i-12345678
PowerShell

Follow these steps to clean up your Amazon EBS-backed AMI

  1. Deregister the AMI

    Deregister the AMI using the Unregister-EC2Image cmdlet:

    Unregister-EC2Image -ImageId ami-12345678
  2. Delete snapshots that are no longer needed

    Delete snapshots that are no longer needed by using the Remove-EC2Snapshot cmdlet:

    Remove-EC2Snapshot -SnapshotId snap-12345678
  3. Terminate instances (Optional)

    If you are finished with an instance that you launched from the AMI, you can terminate it by using the Remove-EC2Instance cmdlet:

    Remove-EC2Instance -InstanceId i-12345678

Clean up your instance store-backed AMI

When you deregister an instance store-backed AMI, it doesn't affect the files that you uploaded to Amazon S3 when you created the AMI. You'll continue to incur usage costs for these files in Amazon S3. Therefore, if you are finished with these files, you should delete them.

The following diagram illustrates the process for cleaning up your instance store-backed AMI.


        Process to clean up your instance store-backed AMI.
To clean up your instance store-backed AMI
  1. Deregister the AMI using the deregister-image command as follows.

    aws ec2 deregister-image --image-id ami_id
  2. Delete the bundle in Amazon S3 using the ec2-delete-bundle (AMI tools) command as follows.

    ec2-delete-bundle -b myawsbucket/myami -a your_access_key_id -s your_secret_access_key -p image
  3. (Optional) If you are finished with an instance that you launched from the AMI, you can terminate it using the terminate-instances command as follows.

    aws ec2 terminate-instances --instance-ids instance_id
  4. (Optional) If you are finished with the Amazon S3 bucket that you uploaded the bundle to, you can delete the bucket. To delete an Amazon S3 bucket, open the Amazon S3 console, select the bucket, choose Actions, and then choose Delete.

Last launched time

LastLaunchedTime is a timestamp that indicates when your AMI was last used to launch an instance. AMIs that have not been used recently to launch an instance might be good candidates for deregistering or deprecation.

Note
  • When the AMI is used to launch an instance, there is a 24-hour delay before that usage is reported.

  • lastLaunchedTime data is available starting April 2017.

Console
To view the last launched time of an AMI
  1. Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/.

  2. In the left navigator, choose AMIs.

  3. From the filter bar, choose Owned by me.

  4. Select the AMI, and then check the Last launched time field (if you selected the check box next to the AMI, it's located on the Details tab). The field shows the date and time when the AMI was last used to launch an instance.

AWS CLI
To view the last launched time of an AMI

Run the describe-image-attribute command and specify --attribute lastLaunchedTime. You must be the AMI owner to run this command.

aws ec2 describe-image-attribute \ --image-id ami-1234567890example \ --attribute lastLaunchedTime

Example output

{ "LastLaunchedTime": { "Value": "2022-02-10T02:03:18Z" }, "ImageId": "ami-1234567890example", }