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 祖先を表示する
次の方法を使用して、AMI の祖先を表示できます。
- Console
-
AMI の祖先を表示するには
-
Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。
-
ナビゲーションペインで [AMI] を選択してください。
-
AMI を選択し、[AMI 祖先] タブを選択します。
-
[AMI 祖先エントリ] テーブルには、祖先リスト内のすべての AMI が一覧表示されます。
-
AMI ID – 祖先リスト内の各 AMI の識別子。テーブルの最初のエントリは選択した AMI です。その後に祖先が続きます。
-
ソース AMI ID – AMI ID 列の AMI が作成された AMI の ID。ダッシュ (-) は、AMI 祖先リストの末尾を示します。
-
ソース AMI リージョン – ソース AMI がある AWS リージョン です。
-
祖先レベル – 祖先リスト内の位置。意味を次に記します。
-
作成日 – 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 を特定するには
-
Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。
-
ナビゲーションペインで [AMI] を選択してください。
-
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