查看 AMI 使用情况
如果与其他 Amazon Web Services 账户共享 Amazon 系统映像 (AMI)(无论是与特定 Amazon Web Services 账户、组织、组织单元 (OU) 还是公开),可以通过创建 AMI 使用情况报告来了解这些 AMI 的使用情况。这些报告可让您了解以下内容:
-
哪些 Amazon Web Services 账户正在 EC2 实例或启动模板中使用您的 AMI
-
引用每个 AMI 的 EC2 实例或启动模板数量
AMI 使用情况报告可帮助您更有效地管理 AMI,方式如下:
-
识别引用 AMI 的 Amazon Web Services 账户和资源类型,以便您可以安全地取消注册或禁用 AMI。
-
识别未使用的 AMI 以取消注册,从而降低存储成本。
-
识别最常用的 AMI。
AMI 使用情况报告的工作原理
在创建 AMI 使用情况报告时,可以指定:
-
要报告的 AMI。
-
要检查的 Amazon Web Services 账户(特定账户或所有账户)。
-
要检查的资源类型(EC2 实例、启动模板或两者)。
-
对于启动模板,要检查的版本数(默认为最新 20 个版本)。
Amazon EC2 为每个 AMI 创建一份单独的报告。每份报告都提供:
-
使用 AMI 的 Amazon Web Services 账户列表。
-
按每个账户的资源类型划分的引用 AMI 的资源计数。请注意,对于启动模板,如果在启动模板的多个版本中引用了某个 AMI,则计数仅为 1。
重要
当您生成 AMI 使用情况报告时,它可能不包含最新的活动。过去 24 小时的实例活动和过去几天的启动模板活动可能不会出现在报告中。
Amazon EC2 会在报告创建 30 天后自动删除该报告。您可以从 EC2 控制台下载报告以在本地保留。
创建 AMI 使用情况报告
要查看 AMI 的使用情况,您必须首先创建 AMI 使用情况报告,指定要报告的账户和资源类型。报告创建完成后,您可以查看报告的内容。您也可以从 EC2 控制台下载报告。
- Console
-
创建 AMI 使用情况报告
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 AMI。
-
选择一个 AMI,然后选择操作、AMI 使用情况、查看我的 AMI 使用情况。
-
在创建我的 AMI 使用情况报告页面上,执行下列操作:
-
对于资源类型,选择一个或多个要报告的资源类型。
-
对于账户 ID,执行下列操作之一:
-
选择指定账户 ID,然后为要报告的每个账户选择添加账户 ID。
-
选择包括所有帐户以报告所有帐户。
-
-
选择创建我的 AMI 使用情况报告。
-
-
在 AMI 页面上,选择我的 AMI 使用情况选项卡。
-
选择一个报告 ID 来查看其详细信息。
-
- Amazon CLI
-
为账户列表创建 AMI 使用情况报告
使用带以下必需参数的 create-image-usage-report
命令: --image-id
– 要报告的 AMI 的 ID。--resource-types
– 要检查的资源类型。在下面的示例中,要检查的资源类型是 EC2 实例和启动模板。此外,还指定要检查的启动模板版本的数量 (version-depth=
)。100
要报告特定账户,请使用
--account-ids
参数指定要报告的每个账户的 ID。aws ec2 create-image-usage-report \ --image-id
ami-0abcdef1234567890
\ --account-ids111122223333 444455556666 123456789012
\ --resource-types ResourceType=ec2:Instance \ 'ResourceType=ec2:LaunchTemplate,ResourceTypeOptions=[{OptionName=version-depth,OptionValues=100
}]'创建所有账户的 AMI 使用情况报告
要使用指定 AMI 报告所有账户,请使用相同的命令,但省略
--account-ids
参数。aws ec2 create-image-usage-report \ --image-id
ami-0abcdef1234567890
\ --resource-types ResourceType=ec2:Instance \ 'ResourceType=ec2:LaunchTemplate,ResourceTypeOptions=[{OptionName=version-depth,OptionValues=100
}]'下面是示例输出。
{ "ReportId": "amiur-00b877d192f6b02d0" }
监控报告创建状态
使用 describe-image-usage-reports
命令并指定报告 ID。 aws ec2 describe-image-usage-reports --report-ids
amiur-00b877d192f6b02d0
下面是示例输出。
State
字段的初始值为pending
。为了能够查看报告条目,状态必须为available
。{ "ImageUsageReports": [ { "ImageId": "ami-0e9ae3dc21c2b3a64", "ReportId": "amiur-abcae3dc21c2b3999", "ResourceTypes": [ {"ResourceType": "ec2:Instance"} ], "State": "pending", "CreationTime": "2025-09-29T13:27:12.322000+00:00", "ExpirationTime": "2025-10-28T13:27:12.322000+00:00" } ] }
- PowerShell
-
为账户列表创建 AMI 使用情况报告
使用带以下必需参数的 New-EC2ImageUsageReport cmdlet:
-
-ImageId
– 要报告的 AMI 的 ID。 -
-ResourceType
– 要检查的资源类型。在下面的示例中,要检查的资源类型是 EC2 实例和启动模板。此外,还指定要检查的启动模板版本的数量 ('version-depth' =
)。100
要报告特定账户,请使用
-AccountId
参数指定要报告的每个账户的 ID。New-EC2ImageUsageReport ` -ImageId
ami-0abcdef1234567890
` -AccountId111122223333 444455556666 123456789012
` -ResourceType @( @{ResourceType = 'ec2:Instance'}, @{ResourceType = 'ec2:LaunchTemplate'ResourceTypeOptions = @{'version-depth' = 100} })创建所有账户的 AMI 使用情况报告
要使用指定 AMI 报告所有账户,请使用相同的命令,但省略
-AccountId
参数。New-EC2ImageUsageReport ` -ImageId
ami-0abcdef1234567890
` -ResourceType @( @{ResourceType = 'ec2:Instance'}, @{ResourceType = 'ec2:LaunchTemplate'ResourceTypeOptions = @{'version-depth' = 100} })下面是示例输出。
ReportId -------- amiur-00b877d192f6b02d0
监控报告创建状态
使用 Get-EC2ImageUsageReport 命令并指定报告 ID。
Get-EC2ImageUsageReport -ReportId
amiur-00b877d192f6b02d0
下面是示例输出。
State
字段的初始值为pending
。为了能够查看报告条目,状态必须为available
。ImageUsageReports ----------------- {@{ImageId=ami-0e9ae3dc21c2b3a64; ReportId=amiur-abcae3dc21c2b3999; ResourceTypes=System.Object[]; State=pending; CreationTime=2025-09-29; ExpirationTime=2025-10-28}}
-
查看 AMI 使用情况报告
可以查看过去 30 天内为 AMI 创建的所有使用情况报告。Amazon EC2 会在报告创建 30 天后自动删除该报告。
对于每个报告,您可以查看正在使用 AMI 的 Amazon Web Services 账户,并且对于每个帐户,可以按资源类型查看引用 AMI 的资源计数。您还可以查看启动报告创建的时间。仅当报告处于完成(控制台)或 available
(Amazon CLI) 状态时,此信息才可用。
重要
当您生成 AMI 使用情况报告时,它可能不包含最新的活动。过去 24 小时的实例活动和过去几天的启动模板活动可能不会出现在报告中。
- Console
-
查看 AMI 使用情况报告
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 AMI。
-
选择 AMI。
-
选择我的使用情况报告选项卡。
报告列表显示:
-
过去 30 天内为选定 AMI 生成的所有报告。
-
对于每个报告,报告启动时间列显示创建报告的日期。
-
-
选择报告的 ID 以查看其内容。
-
要返回 AMI 详细信息页面上的我的使用情况报告选项卡,请选择查看此 AMI 的所有报告。
-
- Amazon CLI
-
列出指定 AMI 的所有 AMI 使用情况报告
使用 describe-image-usage-reports
命令并指定 AMI 的 ID 以获取其报告列表。 aws ec2 describe-image-usage-reports --image-ids
ami-0abcdef1234567890
下面是示例输出。每个报告 ID 都与扫描的资源类型以及报告创建和到期日期一起列出。您可以使用此信息来识别您想要查看其条目的报告。
{ "ImageUsageReports": [ { "ImageId": "ami-0abcdef1234567890", "ReportId": "amiur-1111111111111111", "ResourceTypes": [ { "ResourceType": "ec2:Instance" } ], "State": "available", "CreationTime": "2025-09-29T13:27:12.322000+00:00", "ExpirationTime": "2025-10-28T13:27:12.322000+00:00", "Tags": [] }, { "ImageId": "ami-0abcdef1234567890", "ReportId": "amiur-22222222222222222", "ResourceTypes": [ { "ResourceType": "ec2:Instance" }, { "ResourceType": "ec2:LaunchTemplate" } ], "State": "available", "CreationTime": "2025-10-01T13:27:12.322000+00:00", "ExpirationTime": "2025-10-30T13:27:12.322000+00:00", "Tags": [] } ], "NextToken": "opaque" }
查看指定 AMI 的 AMI 使用情况报告的内容
使用 describe-image-usage-report-entries
命令并指定 AMI 的 ID。响应会返回指定 AMI 的所有报告,显示使用过 AMI 的账户及其资源计数。 aws ec2 describe-image-usage-report-entries --image-ids
ami-0abcdef1234567890
下面是示例输出。
{ "ImageUsageReportEntries": [ { "ImageId": "ami-0abcdef1234567890", "ResourceType": "ec2:Instance", "AccountId": "123412341234", "UsageCount": 15, "ReportCreationTime": "2025-09-29T13:27:12.322000+00:00", "ReportId": "amiur-1111111111111111" }, { "ImageId": "ami-0abcdef1234567890", "ResourceType": "ec2:Instance", "AccountId": "123412341234", "UsageCount": 2, "ReportCreationTime": "2025-10-01T13:27:12.322000+00:00", "ReportId": "amiur-22222222222222222" }, { "ImageId": "ami-0abcdef1234567890", "ResourceType": "ec2:Instance", "AccountId": "001100110011", "UsageCount": 39, "ReportCreationTime": "2025-10-01T13:27:12.322000+00:00", "ReportId": "amiur-22222222222222222" } ], "NextToken": "opaque" }
查看指定报告的 AMI 使用情况报告的内容
使用 describe-image-usage-report-entries
命令并指定报告的 ID。响应会返回指定报告的所有条目,显示使用过 AMI 的账户及其资源计数。 aws ec2 describe-image-usage-report-entries --report-ids
amiur-11111111111111111
下面是示例输出。
{ "ImageUsageReportEntries": [ { "ImageId": "ami-0abcdef1234567890", "ResourceType": "ec2:Instance", "AccountId": "123412341234", "UsageCount": 15, "ReportCreationTime": "2025-09-29T13:27:12.322000+00:00", "ReportId": "amiur-11111111111111111" }, { "ImageId": "ami-0abcdef1234567890", "ResourceType": "ec2:LaunchTemplate", "AccountId": "123412341234", "UsageCount": 4, "ReportCreationTime": "2025-09-29T13:27:12.322000+00:00", "ReportId": "amiur-11111111111111111" }, { "ImageId": "ami-0abcdef1234567890", "ResourceType": "ec2:LaunchTemplate", "AccountId": "001100110011", "UsageCount": 2, "ReportCreationTime": "2025-09-29T13:27:12.322000+00:00", "ReportId": "amiur-11111111111111111" } ], "NextToken": "opaque" }
- PowerShell
-
列出指定 AMI 的所有 AMI 使用情况报告
使用 Get-EC2ImageUsageReport cmdlet 并指定 AMI 的 ID 以获取其报告列表。
Get-EC2ImageUsageReport -ImageId
ami-0abcdef1234567890
下面是示例输出。每个报告 ID 都与扫描的资源类型以及报告创建和到期日期一起列出。您可以使用此信息来识别您想要查看其条目的报告。
@{ ImageUsageReports = @( @{ ImageId = "ami-0abcdef1234567890" ReportId = "amiur-1111111111111111" ResourceTypes = @( @{ ResourceType = "ec2:Instance" } ) State = "available" CreationTime = "2025-09-29T13:27:12.322000+00:00" ExpirationTime = "2025-10-28T13:27:12.322000+00:00" }, @{ ImageId = "ami-0abcdef1234567890" ReportId = "amiur-22222222222222222" ResourceTypes = @( @{ ResourceType = "ec2:Instance" } ) State = "available" CreationTime = "2025-09-30T13:27:12.322000+00:00" ExpirationTime = "2025-10-29T13:27:12.322000+00:00" }, @{ ImageId = "ami-0abcdef1234567890" ReportId = "amiur-33333333333333333" ResourceTypes = @( @{ ResourceType = "ec2:Instance" } ) State = "available" CreationTime = "2025-10-01T13:27:12.322000+00:00" ExpirationTime = "2025-10-30T13:27:12.322000+00:00" } ) NextToken = "opaque" }
查看指定 AMI 的 AMI 使用情况报告的内容
使用 Get-EC2ImageUsageReportEntry cmdlet 并指定 AMI 的 ID。响应会返回指定 AMI 的所有报告,显示使用过 AMI 的账户及其资源计数。
Get-EC2ImageUsageReportEntry -ImageId
ami-0abcdef1234567890
下面是示例输出。
ImageUsageReportEntries : {@{ ImageId = "ami-0abcdef1234567890" ResourceType = "ec2:Instance" AccountId = "123412341234" UsageCount = 15 ReportCreationTime = "2025-09-29T13:27:12.322000+00:00" ReportId = "amiur-1111111111111111" }, @{ ImageId = "ami-0abcdef1234567890" ResourceType = "ec2:Instance" AccountId = "123412341234" UsageCount = 7 ReportCreationTime = "2025-09-30T13:27:12.322000+00:00" ReportId = "amiur-22222222222222222" }...} NextToken : opaque
查看指定报告的 AMI 使用情况报告的内容
使用 Get-EC2ImageUsageReportEntry cmdlet 并指定报告的 ID。响应会返回指定报告的所有条目,显示使用过 AMI 的账户及其资源计数。
Get-EC2ImageUsageReportEntry -ReportId
amiur-11111111111111111
下面是示例输出。
ImageUsageReportEntries : {@{ ImageId = "ami-0abcdef1234567890" ResourceType = "ec2:Instance" AccountId = "123412341234" UsageCount = 15 ReportCreationTime = "2025-09-29T13:27:12.322000+00:00" ReportId = "amiur-11111111111111111" }, @{ ImageId = "ami-0abcdef1234567890" ResourceType = "ec2:LaunchTemplate" AccountId = "123412341234" UsageCount = 4 ReportCreationTime = "2025-09-29T13:27:12.322000+00:00" ReportId = "amiur-11111111111111111" }, @{ ImageId = "ami-0abcdef1234567890" ResourceType = "ec2:LaunchTemplate" AccountId = "************" UsageCount = 2 ReportCreationTime = "2025-09-29T13:27:12.322000+00:00" ReportId = "amiur-11111111111111111" }} NextToken : opaque
删除 AMI 使用情况报告
Amazon EC2 会在报告创建 30 天后自动删除该报告。您可以在此之前手动将其删除。
- Console
-
删除 AMI 使用情况报告
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 AMI。
-
选择 AMI。
-
选择我的 AMI 使用情况选项卡。
-
选择要删除的报告旁边的选项按钮,然后选择删除。
-
- Amazon CLI
-
删除 AMI 使用情况报告
使用 delete-image-usage-report
命令并指定报告的 ID。 aws ec2 delete-image-usage-report --report-id
amiur-0123456789abcdefg
- PowerShell
-
删除 AMI 使用情况报告
使用 Remove-EC2ImageUsageReport cmdlet 并指定报告的 ID。
Remove-EC2ImageUsageReport -ReportId
amiur-0123456789abcdefg