

# AMI 祖先を使用して AMI のオリジンをトレースする
<a name="ami-ancestry"></a>

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

**主な利点**

AMI 祖先を使用すると、次のことができます。
+ AMI 派生を追跡して、内部ポリシーに準拠していることを確認する。
+ 祖先 AMI でセキュリティの問題が見つかったときに、脆弱性を持つ可能性がある AMI を特定する。
+ 複数のリージョンにわたる AMI オリジンの可視性を維持する。

**Topics**
+ [AMI 祖先の仕組み](#how-ami-ancestry-works)
+ [考慮事項](#ami-ancestry-conditions)
+ [AMI 祖先を表示する](#view-ami-ancestry)
+ [ソースを AMI を識別](#identify-source-ami-used-to-create-new-ami)

## AMI 祖先の仕組み
<a name="how-ami-ancestry-works"></a>

AMI 祖先は、指定された AMI の作成に使用された親 AMI、親の親など、ルート AMI に遡るまで AMI を識別します。処理の流れ
+ 各 AMI には、ソース (親) AMI の ID とリージョンが表示されます。
+ 選択した AMI から始まる祖先エントリのリストには、各親 AMI が順番に表示されます。
+ 祖先エントリのリストは、ルート AMI に到達するまでトレースバックすることができます。ルート AMI は次のいずれかです。
  + [検証済みプロバイダー](sharing-amis.md#verified-ami-provider)からのパブリック AMI (所有者エイリアスによって識別されます。これは `amazon` または `aws-marketplace` です)。
  + 祖先が記録されていない AMI。例えば、[RegisterImage](creating-an-ami-ebs.md#creating-launching-ami-from-snapshot) を使用してスナップショットのセットから直接 AMI を作成する場合、インスタンスから AMI を作成する場合とは異なり、追跡できるソース AMI はありません。
  + ソース AMI が別の[パーティション](https://docs.aws.amazon.com/glossary/latest/reference/glos-chap.html#partition)の AMI。
  + リスト内の 50 番目の AMI。祖先リスト内の AMI の最大数は 50 です。

## 考慮事項
<a name="ami-ancestry-conditions"></a>
+ ソース AMI の ID とリージョンは、[CreateImage](creating-an-ami-ebs.md#how-to-create-ebs-ami)、[CopyImage](CopyingAMIs.md#ami-copy-steps)、または [CreateRestoreImageTask](store-restore-how-it-works.md#CreateRestoreImageTask) を使用して作成された AMI でのみ使用できます。
+ [CreateImage](creating-an-ami-ebs.md#how-to-create-ebs-ami) (インスタンスから AMI を作成) を使用して作成された AMI の場合、ソース AMI ID はインスタンスの起動に使用される AMI の ID です。
+ ソース AMI 情報は、次の場合は使用できません。
  + [RegisterImage](creating-an-ami-ebs.md#creating-launching-ami-from-snapshot) を使用して作成された AMI (スナップショットから作成されているため)。
  + 一部の古い AMI。
+ ソース AMI 情報は、次の場合に保持されます。
  + AMI がリージョン間でコピーされている場合。
  + ソース AMI が登録解除 (削除) されている場合。
  + お客様がソース AMI にアクセスできない場合。
+ 各祖先リストが 50 AMI に制限されている場合。

## AMI 祖先を表示する
<a name="view-ami-ancestry"></a>

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

------
#### [ Console ]

**AMI の祖先を表示するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

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

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

1. **[AMI 祖先エントリ]** テーブルには、祖先リスト内のすべての AMI が一覧表示されます。
   + **AMI ID** – 祖先リスト内の各 AMI の識別子。テーブルの最初のエントリは選択した AMI です。その後に祖先が続きます。
   + **ソース AMI ID** – **AMI 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](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-image-ancestry.html) コマンドを使用して、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](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ImageAncestry.html) コマンドレットを使用します。

```
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 を識別
<a name="identify-source-ami-used-to-create-new-ami"></a>

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

------
#### [ Console ]

**選択した AMI の作成に使用されるソース AMI を特定するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

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

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

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

------
#### [ AWS CLI ]

**指定した AMI の作成に使用されるソース AMI を特定するには**  
[describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) コマンドを使用します。

```
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](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html) コマンドレットを使用します。

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

以下は出力の例です。

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

------