識別參考指定 AMIs的資源 - Amazon Elastic Compute Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

識別參考指定 AMIs的資源

您可以識別參考指定 Amazon Machine Image (AMIs) AWS 的資源,無論 AMIs 是公有還是私有,還是擁有者。此可見性可協助您確保您的資源使用最新的合規 AMIs。

主要優點

檢查 AMI 參考可協助您:

  • 稽核您帳戶中 AMIs的使用情形。

  • 檢查正在參考特定 AMIs的位置。

  • 更新 資源以參考最新的 AMIs以維持合規性。

 

支援的資源

可以簽入 AMI 參考:

  • EC2 執行個體

  • 啟動範本

  • SSM 參數

  • 映像建置器映像配方

  • 映像建置器容器配方

AMI 參考檢查的運作方式

基本操作

當您執行 AMI 參考檢查時,您會:

  • 指定要檢查AMIs。

  • 選擇要掃描的資源類型。

  • 接收參考指定 AMIs的資源清單。

資源類型選取

在 主控台中,您可以選取要掃描的資源類型。

在 CLI 中,您可以使用下列其中一個或兩個 CLI 參數來指定要掃描的資源類型:

  • IncludeAllResourceTypes:掃描所有支援的資源類型。

  • ResourceTypes:掃描您指定的資源類型。

回應範圍

您可以使用 ResourceTypes 參數自訂ResourceTypeOptions值,以限制 EC2 執行個體和啟動範本的回應範圍。主控台和IncludeAllResourceTypes參數都使用預設選項值。當 ResourceTypesIncludeAllResourceTypes 一起使用時,ResourceTypes選項值優先於預設值。

以下是預設值:

資源類型 範圍選項 (OptionName) 用途 OptionValue 和 主控台的預設值
EC2 執行個體 state-name 依執行個體狀態篩選 pendingrunningshutting-downterminatedstoppingstopped(所有狀態)
啟動範本 version-depth 指定要檢查的啟動範本版本數量 (從最新版本開始) 10 (最新版本)

所需的 IAM 許可

若要使用 DescribeImageReferences API 來識別參考指定 AMIs的資源,您需要下列 IAM 許可來描述資源:

  • ec2:DescribeInstances

  • ec2:DescribeLaunchTemplates

  • ec2:DescribeLaunchTemplateVersions

  • ssm:DescribeParameters

  • ssm:GetParameters

  • imagebuilder:ListImageRecipes

  • imagebuilder:ListContainerRecipes

  • imagebuilder:GetContainerRecipe

使用 DescribeImageReferences API 的 IAM 政策範例

下列範例政策授予您使用 DescribeImageReferences API 的許可,其中包括描述 EC2 執行個體、啟動範本、Systems Manager 參數、映像建置器映像配方和映像建置器容器配方的許可。

JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:DescribeImageReferences", "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeLaunchTemplates", "ec2:DescribeLaunchTemplateVersions", "ssm:DescribeParameters", "ssm:GetParameters", "imagebuilder:ListImageRecipes", "imagebuilder:ListContainerRecipes", "imagebuilder:GetContainerRecipe" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia": [ "ec2-images.amazonaws.com" ] } } } ] }
重要

我們強烈建議您使用 AWS 受管政策,AmazonEC2ImageReferencesAccessPolicy而不是自行建立政策。建立僅提供必要許可的自訂 IAM 政策需要時間和專業知識,而且當新的資源類型可用時, 將需要更新。

AmazonEC2ImageReferencesAccessPolicy 受管政策:

  • 授予使用 DescribeImageReferences API 所需的所有許可 (包括描述 EC2 執行個體、啟動範本、Systems Manager 參數以及映像建置器容器和映像配方的許可)。

  • 自動支援可用的新資源類型 (使用 IncludeAllResourceTypes 參數時尤其重要)。

您可以將AmazonEC2ImageReferencesAccessPolicy政策連接至 IAM 身分 (使用者、群組和角色)。

若要檢視此政策中包含的許可,請參閱《 AWS 受管政策參考AmazonEC2ImageReferencesAccessPolicy》中的 。

檢查 AMI 參考的步驟

使用下列程序來識別哪些 AWS 資源正在參考指定的 AMIs。

Console
識別參考指定 AMIs的資源
  1. 前往 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 AMIs (AMI)。

  3. 選取要檢查參考AMIs。

  4. 選擇動作AMI 用量檢視參考的資源

  5. 參考所選 AMIs檢視資源頁面上:

    1. 針對資源類型,選取一或多個資源類型。

    2. 選擇檢視資源

  6. 參考所選 AMIs的資源區段隨即出現。清單會顯示參考指定 AMIs的資源。每一列都提供下列資訊:

    • AMI ID – 參考 AMI 的 ID。

    • 資源類型 – 參考 AMI 的資源類型。

    • 資源 ID – 參考 AMI 的資源 ID。

AWS CLI
檢查特定資源類型的 AMI 參考

使用 describe-image-references 命令搭配 --resource-types 參數。下列範例會檢查 EC2 執行個體 (依執行個體狀態分類)、啟動範本 (範圍限定為 20 個最新的啟動範本版本) 和其他特定資源類型。

aws ec2 describe-image-references \ --image-ids ami-0abcdef1234567890 ami-1234567890abcdef0 \ --resource-types \ 'ResourceType=ec2:Instance,ResourceTypeOptions=[{OptionName=state-name,OptionValues=[running,pending]}]' \ 'ResourceType=ec2:LaunchTemplate,ResourceTypeOptions=[{OptionName=version-depth,OptionValues=[20]}]' \ 'ResourceType=ssm:Parameter' \ 'ResourceType=imagebuilder:ImageRecipe' \ 'ResourceType=imagebuilder:ContainerRecipe'

下列為範例輸出。

{ "ImageReferences": [ { "ImageId": "ami-0abcdef1234567890", "ResourceType": "ec2:Instance", "Arn": "arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0" }, { "ImageId": "ami-1234567890abcdef0", "ResourceType": "ec2:LaunchTemplate", "Arn": "arn:aws:ec2:us-east-1:123456789012:launch-template/lt-1234567890abcdef0" } ] }
檢查所有支援資源類型的 AMI 參考

使用 describe-image-references 命令搭配 --include-all-resource-types 參數。

aws ec2 describe-image-references \ --image-ids ami-0abcdef1234567890 ami-1234567890abcdef0 \ --include-all-resource-types
檢查所有支援的資源類型和特定選項的 AMI 參考

使用 describe-image-references 命令搭配 --include-all-resource-types--resource-types 參數。此範例會檢查所有資源類型,同時將 EC2 執行個體的回應範圍限定為執行中或待定的執行個體。

aws ec2 describe-image-references \ --image-ids ami-0abcdef1234567890 ami-1234567890abcdef0 \ --include-all-resource-types \ --resource-types 'ResourceType=ec2:Instance,ResourceTypeOptions=[{OptionName=state-name,OptionValues=[running,pending]}]'
PowerShell
檢查特定資源類型的 AMI 參考

使用 Get-EC2ImageReference cmdlet 搭配 -ResourceType 參數。下列範例會檢查 EC2 執行個體 (依執行個體狀態分類)、啟動範本 (範圍限定為 20 個最新的啟動範本版本) 和其他特定資源類型。

Get-EC2ImageReference ` -ImageId 'ami-0abcdef1234567890', 'ami-1234567890abcdef0' ` -ResourceType @( @{ ResourceType = 'ec2:Instance' ResourceTypeOptions = @( @{ OptionName = 'state-name' OptionValues = @('running', 'pending') } ) }, @{ ResourceType = 'ec2:LaunchTemplate' ResourceTypeOptions = @( @{ OptionName = 'version-depth' OptionValues = @('20') } ) }, @{ ResourceType = 'ssm:Parameter' }, @{ ResourceType = 'imagebuilder:ImageRecipe' }, @{ ResourceType = 'imagebuilder:ContainerRecipe' } )
檢查所有支援資源類型的 AMI 參考

使用 Get-EC2ImageReference cmdlet 搭配 -IncludeAllResourceTypes 參數。

Get-EC2ImageReference ` -ImageId 'ami-0abcdef1234567890', 'ami-1234567890abcdef0' ` -IncludeAllResourceTypes
檢查所有支援的資源類型和特定選項的 AMI 參考

使用 Get-EC2ImageReference cmdlet 搭配 -IncludeAllResourceTypes-ResourceType 參數。此範例會檢查所有資源類型,同時將 EC2 執行個體的回應範圍限定為執行中或待定的執行個體。

Get-EC2ImageReference ` -ImageId 'ami-0abcdef1234567890', 'ami-1234567890abcdef0' ` -IncludeAllResourceTypes ` -ResourceType @( @{ ResourceType = 'ec2:Instance' ResourceTypeOptions = @( @{ OptionName = 'state-name' OptionValues = @('running', 'pending') } ) } )