AMI 祖先を使用して AMI のオリジンをトレースする - Amazon Elastic Compute Cloud

AMI 祖先を使用して AMI のオリジンをトレースする

AMI 祖先は、すべての祖先 AMI の ID とリージョンを返すことで、AMI のオリジンをトレースするのに役立ちます。AMI を作成またはコピーすると、新しい AMI はソース (親) AMI の ID とリージョンを保持します。これにより、ルート AMI に遡るまで AMI のチェーンを追跡することができます。

主な利点

AMI 祖先を使用すると、次のことができます。

  • AMI 派生を追跡して、内部ポリシーに準拠していることを確認する。

  • 祖先 AMI でセキュリティの問題が見つかったときに、脆弱性を持つ可能性がある AMI を特定する。

  • 複数のリージョンにわたる AMI オリジンの可視性を維持する。

AMI 祖先の仕組み

AMI 祖先は、指定された AMI の作成に使用された親 AMI、親の親など、ルート AMI に遡るまで AMI を識別します。処理の流れ

  • 各 AMI には、ソース (親) AMI の ID とリージョンが表示されます。

  • 選択した AMI から始まる祖先エントリのリストには、各親 AMI が順番に表示されます。

  • 祖先エントリのリストは、ルート AMI に到達するまでトレースバックすることができます。ルート AMI は次のいずれかです。

    • 検証済みプロバイダーからのパブリック AMI (所有者エイリアスによって識別されます。これは amazon または aws-marketplace です)。

    • 祖先が記録されていない AMI。例えば、RegisterImage を使用してスナップショットのセットから直接 AMI を作成する場合、インスタンスから AMI を作成する場合とは異なり、追跡できるソース AMI はありません。

    • ソース AMI が別のパーティションの AMI。

    • リスト内の 50 番目の AMI。祖先リスト内の AMI の最大数は 50 です。

考慮事項

  • ソース AMI の ID とリージョンは、CreateImageCopyImage、または CreateRestoreImageTask を使用して作成された AMI でのみ使用できます。

  • CreateImage (インスタンスから AMI を作成) を使用して作成された AMI の場合、ソース AMI ID はインスタンスの起動に使用される AMI の ID です。

  • ソース AMI 情報は、次の場合は使用できません。

    • RegisterImage を使用して作成された AMI (スナップショットから作成されているため)。

    • 一部の古い AMI。

  • ソース AMI 情報は、次の場合に保持されます。

    • AMI がリージョン間でコピーされている場合。

    • ソース AMI が登録解除 (削除) されている場合。

    • お客様がソース AMI にアクセスできない場合。

  • 各祖先リストが 50 AMI に制限されている場合。

AMI 祖先を表示する

次の方法を使用して、AMI の祖先を表示できます。

Console
AMI の祖先を表示するには
  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

  2. ナビゲーションペインで [AMI] を選択してください。

  3. AMI を選択し、[AMI 祖先] タブを選択します。

  4. [AMI 祖先エントリ] テーブルには、祖先リスト内のすべての AMI が一覧表示されます。

    • AMI ID – 祖先リスト内の各 AMI の識別子。テーブルの最初のエントリは選択した AMI です。その後に祖先が続きます。

    • ソース AMI IDAMI ID 列の AMI が作成された AMI の ID。ダッシュ (-) は、AMI 祖先リストの末尾を示します。

    • ソース AMI リージョン – ソース AMI がある AWS リージョン です。

    • 祖先レベル – 祖先リスト内の位置。意味を次に記します。

      • 0 (入力 AMI) は、お客様が祖先を知りたいと考えている、選択した AMI を示します。

      • 数字が増えると、古い祖先が表示されます。

      • n (元の AMI) はルート AMI を示し、数は祖先リストをどこまで遡るかを示します。

    • 作成日 – AMI が作成された日時。UTC 形式。

    • 所有者エイリアス – AMI 所有者のエイリアス (amazon など)。ダッシュ (-) は、AMI に所有者エイリアスがないことを示します。

AWS CLI
AMI 祖先を表示するには

get-image-ancestry コマンドを使用して、AMI の ID を指定します。

aws ec2 get-image-ancestry \ --image-id ami-1111111111EXAMPLE \ --region us-east-1

以下は出力の例です。出力には、AMI が祖先順に一覧表示されます。最初のエントリは指定された (入力) AMI で、その後に親、親の親などが続き、ルート AMI で終わります。

{ "ImageAncestryEntries": [ { "CreationDate": "2025-01-17T18:37:50.000Z", "ImageId": "ami-1111111111EXAMPLE", // Input AMI "SourceImageId": "ami-2222222222EXAMPLE", "SourceImageRegion": "us-east-1" }, { "CreationDate": "2025-01-17T18:37:50.000Z", "ImageId": "ami-2222222222EXAMPLE", // Parent AMI "SourceImageId": "ami-3333333333EXAMPLE", "SourceImageRegion": "us-east-1" }, ... { "CreationDate": "2025-01-17T18:37:50.000Z", "ImageId": "ami-8888888888EXAMPLE", // Root AMI "ImageOwnerAlias": "aws-marketplace", "SourceImageId": "ami-9999999999EXAMPLE", "SourceImageRegion": "us-east-2" } ] }
PowerShell
AMI 祖先を表示するには

Get-EC2ImageAncestry コマンドレットを使用します。

Get-EC2ImageAncestry -ImageId ami-1111111111EXAMPLE

以下は出力の例です。出力には、AMI が祖先順に一覧表示されます。最初のエントリは指定された (入力) AMI で、その後に親、親の親などが続き、ルート AMI で終わります。

ImageAncestryEntries : { @{ CreationDate = "2025-01-17T18:37:50.000Z" ImageId = "ami-1111111111EXAMPLE" # Input AMI SourceImageId = "ami-2222222222EXAMPLE" SourceImageRegion = "us-east-1" }, @{ CreationDate = "2025-01-17T18:37:50.000Z" ImageId = "ami-2222222222EXAMPLE" # Parent AMI SourceImageId = "ami-3333333333EXAMPLE" SourceImageRegion = "us-east-1" }, ... @{ CreationDate = "2025-01-17T18:37:50.000Z" ImageId = "ami-8888888888EXAMPLE" # Root AMI ImageOwnerAlias = "aws-marketplace" SourceImageId = "ami-9999999999EXAMPLE" SourceImageRegion = "us-east-2" } }

ソースを AMI を識別

AMI の作成に使用される直接の親 (ソース) AMI のみを特定する必要がある場合は、次の方法を使用できます。

Console
選択した AMI の作成に使用されるソース AMI を特定するには
  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

  2. ナビゲーションペインで [AMI] を選択してください。

  3. AMI を選択して詳細を表示します。

    ソース AMI 情報は、[ソース AMI ID] および [ソース AMI リージョン] のフィールドに表示されます。

AWS CLI
指定した AMI の作成に使用されるソース AMI を特定するには

describe-images コマンドを使用します。

aws ec2 describe-images \ --region us-east-1 \ --image-ids ami-0abcdef1234567890 \ --query "Images[].{ID:SourceImageId,Region:SourceImageRegion}"

以下は出力の例です。

[ { "ID": "ami-0abcdef1234567890", "Region": "us-west-2" } }
PowerShell
指定した AMI の作成に使用されるソース AMI を特定するには

Get-EC2Image コマンドレットを使用します。

Get-EC2Image -ImageId ami-0abcdef1234567890 | Select SourceImageId, SourceImageRegion

以下は出力の例です。

SourceImageId SourceImageRegion ------------- ----------------- ami-0abcdef1234567890 us-west-2