

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

# 使用 IPAM 自動化字首清單更新
<a name="automate-prefix-list-updates"></a>

[受管字首清單](https://docs.aws.amazon.com/vpc/latest/userguide/managed-prefix-lists.html)是一組 CIDR 區塊，您可以在安全群組規則與路由表中引用，而不是指定個別 IP 位址。例如，您可以建立一個包含所有三個 CIDR 的字首清單，並在單一規則中引用它，而不是為 `10.1.0.0/16`、`10.2.0.0/16` 和 `10.3.0.0/16` 分別建立安全群組規則。

受管字首清單有兩種類型：
+ **客戶管理字首清單**：您定義並管理的 IP 範圍
+ **AWS受管字首清單**： AWS 服務的 IP 範圍 （例如 S3 或 CloudFront)

此 IPAM 功能可使 CIDR 項目與您的網路變更保持同步，從而自動化管理**客戶管理字首清單**。

## 此功能解決了以下問題
<a name="the-problem-this-solves"></a>

如果沒有自動化，網路團隊會在基礎結構變更與維護跨環境和跨區域的字首清單一致性時，花費大量時間手動更新字首清單。

IPAM 可讓您建立自動填入字首清單的規則，從而解決了此問題。您可以使用兩種方法：參考 IPAM 集區的 CIDRs，或根據您的實際 AWS 資源建立規則，例如 ' 包含標記 env=prod' 的所有 VPCs、' 包含 us-east-1' 中的所有子網路，或 ' 包含帳戶 123456789' 擁有的所有彈性 IP 地址。您新增或移除這些資源時，IPAM 會自動根據 CIDR 更新字首清單。

## 運作方式
<a name="how-it-works"></a>

您可以建立規則，告知 IPAM 要在字首清單中包含的 IP 位址。例如「包含帶有 env=prod 標記的所有 VPC CIDR」。您新增或移除生產 VPC 時，IPAM 會自動更新字首清單。

## 使用時機
<a name="when-to-use-it"></a>
+ **安全群組**：建立規則「包含標記帶有 env=prod 標記所有 VPC」，因此當您新增新的生產 VPC 時，安全群組規則會自動允許這些 VPC
+ **多區域**：在多個區域中部署相同的 IPAM 規則，以保持相同的字首清單，而無需手動複製 CIDR 項目
+ **動態基礎結構**：您建立/刪除 VPC 或子網路時，其 CIDR 會自動從字首清單中新增/移除，無需手動更新

## 先決條件
<a name="prerequisites"></a>

開始前，請確保您具備以下條件：
+ 已啟用[進階方案](https://docs.aws.amazon.com/vpc/latest/ipam/mod-ipam-tier.html)的 [IPAM](https://docs.aws.amazon.com/vpc/latest/ipam/create-ipam.html)
+ [客戶管理字首清單](https://docs.aws.amazon.com/vpc/latest/userguide/managed-prefix-lists.html#create-prefix-list) (或在設定期間建立字首清單)
+ IPAM 與 EC2 字首清單操作的 [IAM 許可](https://docs.aws.amazon.com/vpc/latest/ipam/iam-ipam.html)

## 設定步驟
<a name="setup-steps"></a>

### 步驟 1：建立 IPAM 字首清單解析程式
<a name="step-1-create-ipam-prefix-list-resolver"></a>

透過建立 IPAM 字首清單解析程式，定義要包含在字首清單中的 CIDR。

------
#### [ AWS Management Console ]

**建立 IPAM 字首清單解析程式**

1. 開啟 [IAM 主控台](https://console.aws.amazon.com/ipam/)。

1. 在導覽窗格中，選擇**字首清單解析程式**。

1. 選擇**建立字首清單解析程式**。

1. 在**步驟 1：設定解析程式詳細資訊**中，選擇下列項目：
   + **IPAM**：IPAM 執行個體
   + **位址系列**：IPv4 或 IPv6
   + **名稱標籤 – 選用**：描述性名稱
   + **描述 – 選用**：描述
   + **標籤**：資源標籤

1. 選擇**下一步**。

1. 在**步驟 2：設定規則**中，選擇**新增規則**。您最多可以新增 99 個規則。
**重要**  
可以在沒有任何 CIDR 選取規則的情況下建立字首清單解析程式，但此操作會產生空白版本 (不包含任何 CIDR)，直至您新增規則為止。

1. 選擇其中一個規則類型：
   + **靜態 CIDR**：不會變更的 CIDR 固定清單 (例如，跨區域複寫的手動清單)
   + **IPAM 集區 CIDR**：來自特定 IPAM 集區的 CIDR (例如來自 IPAM 生產集區的所有 CIDR)

     如果您選擇此選項，請選擇下列項目：
     + **IPAM 範圍**：選取用於搜尋資源的 IPAM 範圍
     + **條件：**
       + **屬性**
         + **IPAM 集區 ID**：選取包含資源的 IPAM 集區
         + **CIDR** (例如 10.24.34.0/23)
       + **操作**：等於/不等於
       + **值**：要比對條件的值
   + **範圍資源 CIDR**：來自 IPAM 範圍內 VPCs、子網路、EIPs 等 AWS 資源的 CIDRs 

     如果您選擇此選項，請選擇下列項目：
     + **IPAM 範圍**：選取用於搜尋資源的 IPAM 範圍
     + **資源類型**：選取資源，例如 VPC 或子網路。
     + **條件**：
       + **屬性**：
         + 資源 ID：資源的唯一 ID (例如 vpc-1234567890abcdef0)
         + 資源擁有者 (例如 111122223333)
         + 資源區域 (例如 us-east-1)
         + 資源標籤 (例如索引鍵：名稱、值：dev-vpc-1)
         + CIDR (例如 10.24.34.0/23)
       + **操作**：等於/不等於
       + **值**：要比對條件的值

1. 選擇**下一步**。

1. 選擇**驗證並建立**。

------
#### [ Command line ]

本節中的命令與《AWS CLI 命令參考》**連結。本文件旨在詳細說明執行命令時可使用的選項。

使用下列 AWS CLI 命令來建立 IPAM 字首清單解析程式：
+ 使用 [create-ipam-prefix-list-resolver](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-ipam-prefix-list-resolver.html) 命令，並儲存傳回解析程式 ID，在步驟 2 中使用。

------

### 步驟 2：建立解析程式目標以連線至字首清單
<a name="step-2-create-resolver-target"></a>

建立解析程式目標，將解析程式連結至現有的字首清單。使用步驟 1 傳回的解析程式 ID。

------
#### [ AWS Management Console ]

**建立 IPAM 字首清單解析程式目標**

1. 在 IPAM 主控台中，選擇**字首清單解析程式**。

1. 選擇您在步驟 1 中建立的解析程式。

1. 在解析程式詳細資訊頁面上，選擇**目標**索引標籤。

1. 選擇**建立目標**。

1. 設定目標：
   + **區域**：選取存在現有受管字首清單所在區域或您要在其中建立字首清單的區域。
   + **字首清單**：選擇現有的受管字首清單或建立新的字首清單

1. 在**所需版本**下，選取下列其中一個項目：
   + **一律追蹤最新版本**：如果您希望字首清單與基礎結構變更保持同步，完全不需要手動介入，請選擇此選項以進行自動更新。
   + **追蹤特定版本**：如果您需要可預測、可控制的更新，並想要手動核准字首清單的變更，請選擇此選項，獲得針穩定性。

1. 選擇**建立目標**。

------
#### [ Command line ]

本節中的命令與《AWS CLI 命令參考》**連結。本文件旨在詳細說明執行命令時可使用的選項。

使用下列 AWS CLI 命令來建立 IPAM 字首清單解析程式目標：
+ 使用步驟 1 的解析程式 ID 和現有的字首清單 ID 執行 [create-ipam-prefix-list-resolver-target](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-ipam-prefix-list-resolver-target.html) 命令。

------

IPAM 現在會根據規則自動更新您的字首清單。該字首清單會填入符合條件的 CIDR。

### 步驟 3：監控版本與同步情況
<a name="step-3-monitor-versions-synchronization"></a>

由於建立了字首清單解析程式與目標，字首清單解析程式會根據規則產生 CIDR 版本，然後目標會將這些 CIDR 從解析程式同步到特定的受管字首清單。每個版本都是在特定時刻與您的規則相符的 CIDR 的快照。每次 CIDR 清單因基礎設施變更而變更時，版本編號就會遞增。

**版本範例：**

**初始狀態 (第 1 版)**

生產環境：
+ vpc-prod-web (10.1.0.0/16) – 帶有 env=prod 標記
+ vpc-prod-db (10.2.0.0/16) – 帶有 env=prod 標記

解析程式規則：包含所有帶有 env=prod 標記的 VPC

**第 1 版 CIDR：**10.1.0.0/16、10.2.0.0/16

**基礎結構變更 (第 2 版)**

新增了新的 VPC：
+ vpc-prod-api (10.3.0.0/16) – 帶有 env=prod 標記

IPAM 會自動偵測變更並建立新版本。

**第 2 版 CIDR：**10.1.0.0/16、10.2.0.0/16、10.3.0.0/16

本節說明如何使用 AWS 主控台或 CLI AWS 監控版本建立，以及使用 CLI AWS 同步成功。

此外，建議針對失敗指標設定 CloudWatch 警示，因為您可能需要重新評估與調整 CIDR 選取規則，以確保版本與字首清單大小在限制範圍內。如需與 IPAM 字首清單相關的 CloudWatch 指標清單，請參閱 [IPAM 字首清單解析程式指標](cloudwatch-ipam-ip-address-usage.md#cloudwatch-ipam-prefix-list-resolver-metrics)。

------
#### [ AWS Management Console ]

**檢視建立的版本並監控目標同步情況**

1. 在 IPAM 主控台中，選擇**字首清單解析程式**。

1. 選擇您在步驟 1 中建立的解析程式。

1. 在解析程式詳細資訊頁面上，選擇**版本**索引標籤。在這裡，您將看到解析程式已建立的所有版本，以及各版本中的所有 CIDR。

1. 在解析程式詳細資訊頁面上，選擇**監控**索引標籤。在此檢視中，[IPAM 字首清單解析程式指標](cloudwatch-ipam-ip-address-usage.md#cloudwatch-ipam-prefix-list-resolver-metrics) 會以圖形形式顯示：
   + 字首清單解析程式版本建立成功
   + 字首清單解析程式版本建立失敗

1. 在**監控**索引標籤中，也可以選擇**為字首清單解析程式版本建立建立警示**來設定 CloudWatch 警示。系統會將您導向 CloudWatch 主控台，您會看到針對該指標的警示已完成部分設定。如需有關如何完成警示建立的詳細資訊，請參閱《Amazon CloudWatch 使用者指南**》中的[建立基於靜態閾值的 CloudWatch 警示](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ConsoleAlarms.html)。

------
#### [ Command line ]

本節中的命令與《AWS CLI 命令參考》**連結。本文件旨在詳細說明執行命令時可使用的選項。

使用下列 AWS CLI 命令來監控版本和同步：

1. 使用 [get-ipam-prefix-list-resolver-version-entries](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-ipam-prefix-list-resolver-version-entries.html) 命令來檢視解析程式建立的最新版本。

1. 使用 [describe-ipam-prefix-list-resolver-targets](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-ipam-prefix-list-resolver-targets.html) 命令來監控解析程式目標同步狀態。

監控命令會顯示：
+ state– 目前同步狀態 (建立完成、修改完成等)
+ lastSyncedVersion – 上次成功同步的版本
+ desiredVersion – 要同步的目標版本
+ stateMessage – 同步失敗時的錯誤詳細資訊

------

**重要**  
為了支援轉返工作流程，IPAM 會為每個目標保留先前 10 個字首清單解析程式版本的副本；此外，如果超過此閾值的版本保留 7 天，IPAM 將會刪除這些版本。

### 步驟 4：(選用) 啟用和停用 IPAM 字首清單同步
<a name="step-4-optional-enable-disable-sync"></a>

如果受管字首清單已設定為 IPAM 字首清單目標，而且您想要變更字首清單，而不需要存取 IPAM 字首清單解析程式目標的許可，您可以[修改受管字首清單](https://docs.aws.amazon.com/vpc/latest/userguide/work-with-cust-managed-prefix-lists.html#modify-managed-prefix-list)，並停用與 IPAM 字首清單解析程式的同步。停用後，字首清單 CIDR 不會自動更新，您可以對其進行變更。啟用後，字首清單 CIDR 會根據相關聯的解析程式 CIDR 選取規則自動更新。