

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

# 管理及監控 AMI 用量
<a name="ec2-ami-usage"></a>

AWS 提供多種功能，可協助您有效管理和監控 AMI 用量。您可以追蹤哪些帳戶正在使用您的共用 AMIs、識別您的 AMIs 上次使用的時間，以及探索您 中哪些資源 AWS 帳戶 參考特定 AMIs。

下表提供了管理及監控 AMI 用量的功能概觀：


| 功能 | 使用案例 | 主要優點 | 
| --- | --- | --- | 
| [AMI 用量報告](your-ec2-ami-usage.md) | 了解哪些 AWS 帳戶 正在使用您的 AMIs，以及每個 AMI 的使用量。 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/ec2-ami-usage.html)  | 
| [上次使用追蹤](ami-last-launched-time.md) | 檢查上次使用您的 AMI 的時間 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/ec2-ami-usage.html)  | 
| [AMI 參考檢查](ec2-ami-references.md) | 確保您的 AWS 資源使用最新的合規 AMIs。 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/ec2-ami-usage.html)  | 

**Topics**
+ [檢視您的 AMI 用量](your-ec2-ami-usage.md)
+ [檢查上次使用 Amazon EC2 AMI 的時間](ami-last-launched-time.md)
+ [確定參考指定 AMI 的資源](ec2-ami-references.md)

# 檢視您的 AMI 用量
<a name="your-ec2-ami-usage"></a>

如果您與其他 共用 Amazon Machine Image AMIs) AWS 帳戶，無論是與特定 AWS 帳戶、組織、組織單位 (OUs) 或公開 ，您都可以透過建立 AMIs用量報告來查看這些 AMI 的使用方式。報告提供對以下項目的深入解析：
+ 在 EC2 執行個體或啟動範本中 AWS 帳戶 使用您的 AMIs 
+ 參考每個 AMI 的 EC2 執行個體或啟動範本的數目

AMI 用量報告藉由提供以下協助可助您更高效地管理 AMI：
+ 識別參考 AMIs AWS 帳戶 和資源類型，以便您可以安全地取消註冊或停用 AMIs。
+ 確定未使用的 AMI 以取消註冊，進而降低儲存費用。
+ 確定您最常用的 AMI。

**Topics**
+ [AMI 用量報告運作方式](#how-ami-usage-reports-work)
+ [建立 AMI 用量報告](#create-ami-usage-reports)
+ [檢視 AMI 用量報告](#view-ami-usage-reports)
+ [刪除 AMI 用量報告](#delete-ami-usage-reports)
+ [匯入配額](#ami-usage-report-quotas)

## AMI 用量報告運作方式
<a name="how-ami-usage-reports-work"></a>

若建立 AMI 用量報告，您可指定：
+ 待報告的 AMI。
+  AWS 帳戶 要檢查的 （特定帳戶或所有帳戶）。
+ 待檢查的資源類型 (EC2 執行個體、啟動範本，或者兩者）。
+ 若是啟動範本，則為待檢查的版本數目 (預設為 20 個最新版本）。

Amazon EC2 可針對每個 AMI 建立一個單獨的請求。每份報告皆提供：
+  AWS 帳戶 使用 AMI 的 清單。
+ 根據每個帳戶的資源類型參考 AMI 的資源計數。請注意，針對啟動範本，若在啟動範本的多個版本中參考 AMI，則計數僅為 1。

**重要**  
若產生 AMI 用量報告，可能不會包含最新活動。過去 24 小時小時的執行個體活動，以及過去幾天的啟動範本活動，可能皆不會在報告中顯示。

Amazon EC2 在建立報告後 30 天會自動刪除報告。您可透過 EC2 主控台下載報告，以便在本機保留。

## 建立 AMI 用量報告
<a name="create-ami-usage-reports"></a>

如需檢視如何使用 AMI，必須先建立 AMI 用量報告，指定要報告的帳戶與資源類型。一旦建立報告，即可檢視報告內容。您可透過 EC2 主控台下載報告。

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

**如需建立 AMI 用量報告**

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

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

1. 選取 AMI，然後選擇**動作**、**AMI 用量**、**檢視我的 AMI 用量**。

1. 在**建立我的 AMI 用量報告**頁面，執行以下操作：

   1. 針對**資源類型**，選取要報告的一個或多個資源類型。

   1. 針對**帳戶**，執行下列其中一項操作：
      + 選擇**指定帳戶 ID**，然後針對要報告的每個帳戶，選擇**新增帳戶 ID**。
      + 選擇**包括所有帳戶**，以報告全部帳戶。

   1. 選擇**建立我的 AMI 用量報告**。

1. 在 AMI 頁面，選擇**我的 AMI 用量**索引標籤。

1. 選擇報告 ID 來檢視其詳細資訊。

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

**如需針對帳戶清單建立 AMI 用量報告**  
請使用以下必要參數並搭配 [create-image-usage-report](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-image-usage-report.html) 命令：
+ `--image-id` – 待報告 AMI 的 ID。
+ `--resource-types` – 待檢查資源的類型。在以下範例中，待檢查資源類型為 EC2 執行個體及啟動範本。另外還會指定待檢查啟動範本版本的數目 (`version-depth=100`)。

 如需報告特定帳戶，使用 `--account-ids` 參數來指定待報告的每個帳戶 ID。

```
aws ec2 create-image-usage-report \
    --image-id ami-0abcdef1234567890 \
    --account-ids 111122223333 444455556666 123456789012 \
    --resource-types ResourceType=ec2:Instance \
      'ResourceType=ec2:LaunchTemplate,ResourceTypeOptions=[{OptionName=version-depth,OptionValues=100}]'
```

**如需建立所有帳戶的 AMI 用量報告**  
如需使用指定 AMI 來報告所有帳戶，可使用同一命令但省略 `--account-ids` 參數。

```
aws ec2 create-image-usage-report \
    --image-id ami-0abcdef1234567890 \
    --resource-types ResourceType=ec2:Instance \
      'ResourceType=ec2:LaunchTemplate,ResourceTypeOptions=[{OptionName=version-depth,OptionValues=100}]'
```

以下為範例輸出。

```
{
    "ReportId": "amiur-00b877d192f6b02d0"
}
```

**如需監控報告建立狀態**  
請使用 [describe-image-usage-reports](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-image-usage-reports.html) 命令，然後指定報告 ID。

```
aws ec2 describe-image-usage-reports --report-ids amiur-00b877d192f6b02d0
```

以下為範例輸出。`State` 欄位的初始值為 `pending`。為了能夠檢視報告項目，狀態必須為 `available`。

```
{
    "ImageUsageReports": [
        {
            "ImageId": "ami-0e9ae3dc21c2b3a64",
            "ReportId": "amiur-abcae3dc21c2b3999",
            "ResourceTypes": [
                {"ResourceType": "ec2:Instance"}
            ],
            "State": "pending",
            "CreationTime": "2025-09-29T13:27:12.322000+00:00",
            "ExpirationTime": "2025-10-28T13:27:12.322000+00:00"
        }
    ]
}
```

------
#### [ PowerShell ]

**如需針對帳戶清單建立 AMI 用量報告**  
請使用以下必要參數並搭配 [New-EC2ImageUsageReport](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2ImageUsageReport.html) cmdlet：
+ `-ImageId` – 待報告 AMI 的 ID。
+ `-ResourceType` – 待檢查資源的類型。在以下範例中，待檢查資源類型為 EC2 執行個體及啟動範本。另外還會指定待檢查啟動範本版本的數目 (`'version-depth' = 100`)。

 如需報告特定帳戶，使用 `-AccountId` 參數來指定待報告的每個帳戶 ID。

```
New-EC2ImageUsageReport `
    -ImageId ami-0abcdef1234567890 `
    -AccountId 111122223333 444455556666 123456789012 `
    -ResourceType @(
        @{ResourceType = 'ec2:Instance'},
        @{ResourceType = 'ec2:LaunchTemplate'ResourceTypeOptions = @{'version-depth' = 100}
        })
```

**如需建立所有帳戶的 AMI 用量報告**  
如需使用指定 AMI 來報告所有帳戶，可使用同一命令但省略 `-AccountId` 參數。

```
New-EC2ImageUsageReport `
    -ImageId ami-0abcdef1234567890 `
    -ResourceType @(
        @{ResourceType = 'ec2:Instance'},
        @{ResourceType = 'ec2:LaunchTemplate'ResourceTypeOptions = @{'version-depth' = 100}
        })
```

以下為範例輸出。

```
ReportId
--------
amiur-00b877d192f6b02d0
```

**如需監控報告建立狀態**  
請使用 [Get-EC2ImageUsageReport](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ImageUsageReport.html) 命令，然後指定報告 ID。

```
Get-EC2ImageUsageReport -ReportId amiur-00b877d192f6b02d0
```

以下為範例輸出。`State` 欄位的初始值為 `pending`。為了能夠檢視報告項目，狀態必須為 `available`。

```
ImageUsageReports
-----------------
{@{ImageId=ami-0e9ae3dc21c2b3a64; ReportId=amiur-abcae3dc21c2b3999; ResourceTypes=System.Object[]; State=pending; CreationTime=2025-09-29; ExpirationTime=2025-10-28}}
```

------

## 檢視 AMI 用量報告
<a name="view-ami-usage-reports"></a>

您可檢視在過去 30 天針對 AMI 建立的全部用量報告。Amazon EC2 在建立報告後 30 天會自動刪除報告。

針對每個報告，您可以看到使用 AMI AWS 帳戶 的 ，以及針對每個帳戶，依資源類型參考 AMI 的資源計數。您還可查看報告起始建立時間。只有在報告處於**完成** （主控台） 或 `available`(AWS CLI) 狀態時，才能使用此資訊。

**重要**  
若產生 AMI 用量報告，可能不會包含最新活動。過去 24 小時小時的執行個體活動，以及過去幾天的啟動範本活動，可能皆不會在報告中顯示。

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

**檢視 AMI 用量報告**

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

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

1. 選取 AMI。

1. 選擇**我的用量報告**索引標籤。

   報告清單會顯示：
   + 過去 30 天內為所選 AMI 產生的所有報告。
   + 對於每個報告，**報告起始時間**欄會顯示報告建立的日期。

1. 選擇報告的 ID，以便檢視其內容。

1. 如需返回 AMI 詳細資訊頁面的**我的用量報告**索引標籤，選擇**檢視此 AMI 的所有報告**。

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

**如需列出指定 AMI 的全部 AMI 用量報告**  
請使用 [describe-image-usage-reports](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-image-usage-reports.html) 命令，然後指定 AMI 的 ID，以便獲取其報告清單。

```
aws ec2 describe-image-usage-reports --image-ids ami-0abcdef1234567890
```

以下為範例輸出。每個報告 ID 會與掃描的資源類型，以及報告建立日期與到期日期一同列示。您可透過此資訊來確定您想要檢視其項目的報告。

```
{
  "ImageUsageReports": [
    {
      "ImageId": "ami-0abcdef1234567890",
      "ReportId": "amiur-1111111111111111",
      "ResourceTypes": [
        {
          "ResourceType": "ec2:Instance"
        }
      ],
      "State": "available",
      "CreationTime": "2025-09-29T13:27:12.322000+00:00",
      "ExpirationTime": "2025-10-28T13:27:12.322000+00:00",
      "Tags": []
    },
    {
      "ImageId": "ami-0abcdef1234567890",
      "ReportId": "amiur-22222222222222222",
      "ResourceTypes": [
        {
          "ResourceType": "ec2:Instance"
        },
        {
          "ResourceType": "ec2:LaunchTemplate"
        }
      ],
      "State": "available",
      "CreationTime": "2025-10-01T13:27:12.322000+00:00",
      "ExpirationTime": "2025-10-30T13:27:12.322000+00:00",
      "Tags": []
    }
  ],
  "NextToken": "opaque"
}
```

**如需檢視指定 AMI 的 AMI 用量報告內容**  
請使用 [describe-image-usage-report-entries](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-image-usage-report-entries.html) 命令，然後指定 AMI 的 ID。回應會傳回指定 AMI 的所有報告，並顯示已使用該 AMI 的帳戶及其資源計數。

```
aws ec2 describe-image-usage-report-entries --image-ids ami-0abcdef1234567890
```

以下為範例輸出。

```
{
  "ImageUsageReportEntries": [
    {
      "ImageId": "ami-0abcdef1234567890",
      "ResourceType": "ec2:Instance",
      "AccountId": "123412341234",
      "UsageCount": 15,
      "ReportCreationTime": "2025-09-29T13:27:12.322000+00:00",
      "ReportId": "amiur-1111111111111111"
    },
    {
      "ImageId": "ami-0abcdef1234567890",
      "ResourceType": "ec2:Instance",
      "AccountId": "123412341234",
      "UsageCount": 2,
      "ReportCreationTime": "2025-10-01T13:27:12.322000+00:00",
      "ReportId": "amiur-22222222222222222"
    },
    {
      "ImageId": "ami-0abcdef1234567890",
      "ResourceType": "ec2:Instance",
      "AccountId": "001100110011",
      "UsageCount": 39,
      "ReportCreationTime": "2025-10-01T13:27:12.322000+00:00",
      "ReportId": "amiur-22222222222222222"
    }
  ],
  "NextToken": "opaque"
}
```

**如需檢視指定報告的 AMI 用量報告內容**  
請使用 [describe-image-usage-report-entries](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-image-usage-report-entries.html) 命令，然後指定報告的 ID。針對指定報告，回應可傳回全部項目，並顯示已使用 AMI 的帳戶以及資源計數。

```
aws ec2 describe-image-usage-report-entries --report-ids amiur-11111111111111111
```

以下為範例輸出。

```
{
  "ImageUsageReportEntries": [
    {
      "ImageId": "ami-0abcdef1234567890",
      "ResourceType": "ec2:Instance",
      "AccountId": "123412341234",
      "UsageCount": 15,
      "ReportCreationTime": "2025-09-29T13:27:12.322000+00:00",
      "ReportId": "amiur-11111111111111111"
    },
    {
      "ImageId": "ami-0abcdef1234567890",
      "ResourceType": "ec2:LaunchTemplate",
      "AccountId": "123412341234",
      "UsageCount": 4,
      "ReportCreationTime": "2025-09-29T13:27:12.322000+00:00",
      "ReportId": "amiur-11111111111111111"
    },
    {
      "ImageId": "ami-0abcdef1234567890",
      "ResourceType": "ec2:LaunchTemplate",
      "AccountId": "001100110011",
      "UsageCount": 2,
      "ReportCreationTime": "2025-09-29T13:27:12.322000+00:00",
      "ReportId": "amiur-11111111111111111"
    }
  ],
  "NextToken": "opaque"
}
```

------
#### [ PowerShell ]

**如需列出指定 AMI 的全部 AMI 用量報告**  
請使用 [Get-EC2ImageUsageReport](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ImageUsageReport.html) cmdlet，然後指定 AMI 的 ID，以便獲取其報告清單。

```
Get-EC2ImageUsageReport -ImageId ami-0abcdef1234567890
```

以下為範例輸出。每個報告 ID 會與掃描的資源類型，以及報告建立日期與到期日期一同列示。您可透過此資訊來確定您想要檢視其項目的報告。

```
@{
    ImageUsageReports = @(
        @{
            ImageId = "ami-0abcdef1234567890"
            ReportId = "amiur-1111111111111111"
            ResourceTypes = @(
                @{
                    ResourceType = "ec2:Instance"
                }
            )
            State = "available"
            CreationTime = "2025-09-29T13:27:12.322000+00:00"
            ExpirationTime = "2025-10-28T13:27:12.322000+00:00"
        },
        @{
            ImageId = "ami-0abcdef1234567890"
            ReportId = "amiur-22222222222222222"
            ResourceTypes = @(
                @{
                    ResourceType = "ec2:Instance"
                }
            )
            State = "available"
            CreationTime = "2025-09-30T13:27:12.322000+00:00"
            ExpirationTime = "2025-10-29T13:27:12.322000+00:00"
        },
        @{
            ImageId = "ami-0abcdef1234567890"
            ReportId = "amiur-33333333333333333"
            ResourceTypes = @(
                @{
                    ResourceType = "ec2:Instance"
                }
            )
            State = "available"
            CreationTime = "2025-10-01T13:27:12.322000+00:00"
            ExpirationTime = "2025-10-30T13:27:12.322000+00:00"
        }
    )
    NextToken = "opaque"
}
```

**如需檢視指定 AMI 的 AMI 用量報告內容**  
請使用 [Get-EC2ImageUsageReportEntry](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ImageUsageReportEntry.html) cmdlet，然後指定 AMI 的 ID。回應會傳回指定 AMI 的所有報告，並顯示已使用該 AMI 的帳戶及其資源計數。

```
Get-EC2ImageUsageReportEntry -ImageId ami-0abcdef1234567890
```

以下為範例輸出。

```
ImageUsageReportEntries : {@{
    ImageId = "ami-0abcdef1234567890"
    ResourceType = "ec2:Instance"
    AccountId = "123412341234"
    UsageCount = 15
    ReportCreationTime = "2025-09-29T13:27:12.322000+00:00"
    ReportId = "amiur-1111111111111111"
    }, @{
    ImageId = "ami-0abcdef1234567890"
    ResourceType = "ec2:Instance"
    AccountId = "123412341234"
    UsageCount = 7
    ReportCreationTime = "2025-09-30T13:27:12.322000+00:00"
    ReportId = "amiur-22222222222222222"
    }...}
NextToken : opaque
```

**如需檢視指定報告的 AMI 用量報告內容**  
請使用 [Get-EC2ImageUsageReportEntry](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ImageUsageReportEntry.html) cmdlet，然後指定報告的 ID。針對指定報告，回應可傳回全部項目，並顯示已使用 AMI 的帳戶以及資源計數。

```
Get-EC2ImageUsageReportEntry -ReportId amiur-11111111111111111
```

以下為範例輸出。

```
ImageUsageReportEntries : {@{
    ImageId = "ami-0abcdef1234567890"
    ResourceType = "ec2:Instance"
    AccountId = "123412341234"
    UsageCount = 15
    ReportCreationTime = "2025-09-29T13:27:12.322000+00:00"
    ReportId = "amiur-11111111111111111"
    }, @{
    ImageId = "ami-0abcdef1234567890"
    ResourceType = "ec2:LaunchTemplate"
    AccountId = "123412341234"
    UsageCount = 4
    ReportCreationTime = "2025-09-29T13:27:12.322000+00:00"
    ReportId = "amiur-11111111111111111"
    }, @{
    ImageId = "ami-0abcdef1234567890"
    ResourceType = "ec2:LaunchTemplate"
    AccountId = "************"
    UsageCount = 2
    ReportCreationTime = "2025-09-29T13:27:12.322000+00:00"
    ReportId = "amiur-11111111111111111"
    }}
NextToken : opaque
```

------

## 刪除 AMI 用量報告
<a name="delete-ami-usage-reports"></a>

Amazon EC2 會在報告建立之後 30 天內自動將其刪除。您可在該時間之前手動將其刪除。

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

**如需刪除 AMI 用量報告**

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

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

1. 選取 AMI。

1. 選擇**我的 AMI 用量**索引標籤。

1. 選擇待刪除報告旁邊的選項按鈕，然後選擇**刪除**。

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

**如需刪除 AMI 用量報告**  
請使用 [delete-image-usage-report](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-image-usage-report.html) 命令，然後指定報告的 ID。

```
aws ec2 delete-image-usage-report --report-id amiur-0123456789abcdefg
```

------
#### [ PowerShell ]

**如需刪除 AMI 用量報告**  
請使用 [Remove-EC2ImageUsageReport](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2ImageUsageReport.html) cmdlet，並指定報告的 ID。

```
Remove-EC2ImageUsageReport -ReportId amiur-0123456789abcdefg
```

------

## 匯入配額
<a name="ami-usage-report-quotas"></a>

在建立 AMI 用量報告時，以下配額適用。這些配額適用於每個 AWS 區域。


| Description | 配額 | 
| --- | --- | 
| 每個 的進行中 (pending) AMI 用量報告 AWS 帳戶 | 2,000 | 
| 每個 AMI 的進行中 (pending) AMI 用量報告 | 1 | 

# 檢查上次使用 Amazon EC2 AMI 的時間
<a name="ami-last-launched-time"></a>

Amazon EC2 會自動追蹤上次使用 AMI 啟動執行個體的日期和時間。如果您有長時間未用於啟動執行個體的 AMI，請考慮該 AMI 是否適合[取消註冊](deregister-ami.md)或[棄用](ami-deprecate.md)。

**考量事項**
+ 使用 AMI 啟動執行個體時，在報告該使用情況之前會有 24 小時延遲。
+ 您必須是 AMI 的擁有者才能取得上次啟動時間。
+ AMI 用量資料自 2017 年 4 月開始提供。

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

**檢視 AMI 的上次啟動時間**

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

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

1. 從篩選條件列中，選擇 **Owned by me** (由我擁有)。

1. 選取 AMI 的核取方塊。

1. 在**詳細資訊**索引標籤上，找到**上次啟動的時間**。

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

**如需藉由描述 AMI 來檢視上次啟動的時間**  
使用 [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) 命令。若 `LastLaunchedTime` 在輸出中不存在，請確認您擁有該 AMI。

```
aws ec2 describe-images \
    --image-id ami-0abcdef1234567890 \
    --query Images[].LastLaunchedTime \
    --output text
```

以下為範例輸出。

```
2025-02-17T20:22:19Z
```

**如需檢視 AMI 的上次啟動的時間屬性**  
請使用 [describe-image-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-image-attribute.html) 命令。您必須為指定 AMI 的擁有者。

```
aws ec2 describe-image-attribute \
    --image-id ami-0abcdef1234567890 \
    --attribute lastLaunchedTime \
    --query LastLaunchedTime.Value \
    --output text
```

以下為範例輸出。

```
2025-02-17T20:22:19Z
```

------
#### [ PowerShell ]

**如需藉由描述 AMI 來檢視上次啟動的時間**  
使用 [Get-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html) cmdlet。若 `LastLaunchedTime` 在輸出中不存在，請確認您擁有該 AMI。

```
(Get-EC2Image -ImageId ami-0abcdef1234567890).LastLaunchedTime
```

以下為範例輸出。

```
2025-02-17T20:22:19Z
```

**如需檢視 AMI 的上次啟動的時間屬性**  
使用 [Get-EC2ImageAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ImageAttribute.html) cmdlet。您必須為指定 AMI 的擁有者。

```
(Get-EC2ImageAttribute `
    -ImageId ami-0abcdef1234567890 `
    -Attribute LastLaunchedTime).LastLaunchedTime
```

以下為範例輸出。

```
2025-02-17T20:22:19Z
```

------

# 確定參考指定 AMI 的資源
<a name="ec2-ami-references"></a>

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

**主要優點**

檢查 AMI 參考有助您：
+ 稽核帳戶中 AMI 的使用。
+ 檢查正在參考的特定 AMI 的位置。
+ 藉由更新資源來參考最新 AMI，以確保合規。

 

**Topics**
+ [支援的資源](#ec2-ami-references-supported-resources)
+ [AMI 參考檢查運作方式](#how-ami-references-works)
+ [所需的 IAM 許可](#ami-references-required-permissions)
+ [檢查 AMI 參考的步驟](#ami-reference-procedures)

## 支援的資源
<a name="ec2-ami-references-supported-resources"></a>

可簽入的 AMI 參考：
+ EC2 執行個體
+ 啟動範本
+ SSM 參數
+ Image Builder 映像配方
+ Image Builder 容器配方

## AMI 參考檢查運作方式
<a name="how-ami-references-works"></a>

**基本操作**

您在執行 AMI 參考檢查時可：
+ 指定待檢查的 AMI。
+ 選擇掃描哪些資源類型。
+ 接收可參考指定 AMI 的資源清單。

**資源類型選取**

在主控台中，您可選取待掃描的資源類型。

在 CLI 中，您可使用以下一個或兩個 CLI 參數，來指定待掃描的資源類型：
+ `IncludeAllResourceTypes`：掃描全部受支援的資源類型。
+ `ResourceTypes`：掃描您指定的資源類型。

**回應範圍**

您可使用 `ResourceTypes` 參數來自訂 `ResourceTypeOptions` 值，藉此限制 EC2 執行個體與啟動範本的回應範圍。主控台與 `IncludeAllResourceTypes` 參數皆使用預設選項值。若 `ResourceTypes` 與 `IncludeAllResourceTypes` 一起使用，`ResourceTypes` 選項值會優先於預設值。

下面為預設值：


| Resource Type (資源類型) | 範圍選項 (`OptionName`) | 用途 | `OptionValue` 與 主控台的預設值 | 
| --- | --- | --- | --- | 
| EC2 執行個體 | state-name | 依據執行個體狀態篩選 | pending、running、shutting-down、terminated、stopping、stopped (所有狀態) | 
| 啟動範本 | version-depth | 指定待檢查的啟動範本版本數目 (自最新版本開始) | 10 (最新版本) | 

## 所需的 IAM 許可
<a name="ami-references-required-permissions"></a>

如需使用 DescribeImageReferences API 來確定參考指定 AMI 的資源，需要下面的 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 參數、Image Builder 映像配方，以及 Image Builder 容器配方的許可。

------
#### [ 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 受管政策，[https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ImageReferencesAccessPolicy.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ImageReferencesAccessPolicy.html)而不是自行建立政策。建立僅提供必要許可的自訂 IAM 政策，需要時間與專業知識，並且在新的資源類型可用時，還需要更新。  
`AmazonEC2ImageReferencesAccessPolicy` 受管政策：  
授予使用 DescribeImageReferences API 所需的全部許可 (這些許可包括描述 EC2 執行個體、啟動範本、Systems Manager 參數，以及 Image Builder 容器配方與映像配方)。
在新資源類型變得可用時自動提供支援 (使用 `IncludeAllResourceTypes` 參數時尤其重要)。
您可將 `AmazonEC2ImageReferencesAccessPolicy` 政策連接至您的 IAM 身分 (使用者、群組或角色)。  
若要檢視此政策中包括的許可，請參閱 *AWS 受管政策參考*中的 [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ImageReferencesAccessPolicy.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ImageReferencesAccessPolicy.html)。

## 檢查 AMI 參考的步驟
<a name="ami-reference-procedures"></a>

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

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

**確定參考指定 AMI 的資源**

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

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

1. 選取一個或多個要檢查參考的 AMI。

1. 請選擇**動作**、**AMI 用量**、**檢視參考的資源**。

1. 在**檢視參考所選 AMI 的資源**頁面：

   1. 對於**資源類型**，請選取一個或多個資源類型。

   1. 請選擇**檢視資源**。

1. **參考所選 AMI 的資源**區段即會顯示。清單顯示參考指定 AMI 的資源。每列可提供以下資訊：
   + **AMI ID** – 參考 AMI 的 ID。
   + **資源類型** – 參考 AMI 的資源的資源類型。
   + **資源 ID** – 參考 AMI 的資源的 ID。

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

**如需檢查特定資源類型的 AMI 參考**  
請使用 `--resource-types` 參數並搭配 [describe-image-references](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-image-references.html) 命令。下面的範例將檢查 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 參考**  
請使用 `--include-all-resource-types` 參數並搭配 [describe-image-references](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-image-references.html) 命令。

```
aws ec2 describe-image-references \
    --image-ids ami-0abcdef1234567890 ami-1234567890abcdef0 \
    --include-all-resource-types
```

**檢查所有受支援資源類型與特定選項的 AMI 參考**  
請使用 `--include-all-resource-types` 和 `--resource-types` 參數並搭配 [describe-image-references](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-image-references.html) 命令。此範例將檢查所有資源類型，同時將 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 參考**  
請使用 `-ResourceType` 參數並搭配 [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ImageReference.html) cmdlet。下面的範例將檢查 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 參考**  
請使用 `-IncludeAllResourceTypes` 參數並搭配 [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ImageReference.html) cmdlet。

```
Get-EC2ImageReference `
    -ImageId 'ami-0abcdef1234567890', 'ami-1234567890abcdef0' `
    -IncludeAllResourceTypes
```

**檢查所有受支援資源類型與特定選項的 AMI 參考**  
請使用 `-IncludeAllResourceTypes` 與 `-ResourceType` 參數並搭配 [Get-EC2ImageReference](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ImageReference.html) cmdlet。此範例將檢查所有資源類型，同時將 EC2 執行個體的回應範圍限定為執行中或擱置中執行個體。

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

------