查看 AMI 使用情况 - Amazon Elastic Compute Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

查看 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 使用情况报告
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 AMI

  3. 选择一个 AMI,然后选择操作AMI 使用情况查看我的 AMI 使用情况

  4. 创建我的 AMI 使用情况报告页面上,执行下列操作:

    1. 对于资源类型,选择一个或多个要报告的资源类型。

    2. 对于账户 ID,执行下列操作之一:

      • 选择指定账户 ID,然后为要报告的每个账户选择添加账户 ID

      • 选择包括所有帐户以报告所有帐户。

    3. 选择创建我的 AMI 使用情况报告

  5. 在 AMI 页面上,选择我的 AMI 使用情况选项卡。

  6. 选择一个报告 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-ids 111122223333 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 ` -AccountId 111122223333 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 使用情况报告
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 AMI

  3. 选择 AMI。

  4. 选择我的使用情况报告选项卡。

    报告列表显示:

    • 过去 30 天内为选定 AMI 生成的所有报告。

    • 对于每个报告,报告启动时间列显示创建报告的日期。

  5. 选择报告的 ID 以查看其内容。

  6. 要返回 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 使用情况报告
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 AMI

  3. 选择 AMI。

  4. 选择我的 AMI 使用情况选项卡。

  5. 选择要删除的报告旁边的选项按钮,然后选择删除

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