

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

# 使用 AMI 原始伺服器追蹤 AMI 的原始伺服器
<a name="ami-ancestry"></a>

AMI 上階透過傳回其所有上階 AMI IDs 和區域，協助您追蹤 AMIs 的原始伺服器。當您建立或複製 AMI 時，新的 AMI 會保留其來源 （父） AMI 的 ID 和區域。這可讓您將 AMIs 鏈追蹤回根 AMI。

**主要優點**

使用 AMI 原始伺服器可協助您：
+ 追蹤 AMI 衍生產品以確保符合內部政策。
+ 在舊版 AMIs 中發現安全問題時，識別潛在易受攻擊的 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 的 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。原始清單中AMIs 數目上限為 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) 建立AMIs。
+ 對於使用 [CreateImage](creating-an-ami-ebs.md#how-to-create-ebs-ami) 建立AMIs （從執行個體建立 AMI)，來源 AMI ID 是用來啟動執行個體的 AMI ID。
+ 來源 AMI 資訊不適用於：
  + 使用 [RegisterImage](creating-an-ami-ebs.md#creating-launching-ami-from-snapshot) 建立AMIs，因為它們是從快照建立的。
  + 對於某些較舊AMIs。
+ 來源 AMI 資訊會在下列情況下保留：
  + AMIs會跨區域複製。
  + 已取消註冊 （刪除） 來源 AMIs。
  + 您無法存取來源 AMIs。
+ 每個前代清單限制為 50 AMIs。

## 檢視 AMI 原始伺服器
<a name="view-ami-ancestry"></a>

您可以使用下列方法檢視 AMI 的祖系。

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

**檢視 AMI 的原始伺服器**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選擇 **AMI**。

1. 選取 AMI，然後選擇 **AMI 原始標籤**。

1. **AMI 祖系項目**表列出祖系清單中的所有 AMIs。
   + **AMI ID** – 原始清單中每個 AMI 的識別符。資料表中的第一個項目是選取的 AMI，後面接著其祖先。
   + **來源 AMI ID** – 建立 AMI ID 欄中 AMI 的 **AMI ID**。破折號 (**-**) 表示 AMI 原始清單的結尾。
   + **來源 AMI 區域** – AWS 區域 來源 AMI 所在的 。
   + **上階層級** – 上階清單中的位置，其中：
     + **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}}
```

以下為範例輸出。輸出會依祖先順序列出 AMIs：第一個項目是指定的 （輸入） 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) cmdlet。

```
Get-EC2ImageAncestry -ImageId {{ami-1111111111EXAMPLE}}
```

以下為範例輸出。輸出會依祖先順序列出 AMIs：第一個項目是指定的 （輸入） 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. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon 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) cmdlet。

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

以下為範例輸出。

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

------