

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

# 教學課程：將 ASN 帶入 IPAM
<a name="tutorials-byoasn"></a>

如果您的應用程式使用的是合作夥伴或客戶允許在其網路中列出的受信任 IP 地址和自治系統編號 (ASN)，您可以在 AWS 中執行這些應用程式，而不需要合作夥伴或客戶變更其允許清單。

自治系統編號 (ASN) 是一個全域唯一編號，可透過網際網路識別一組網路，並使用[邊界閘道協定](https://aws.amazon.com/what-is/border-gateway-protocol/)動態地與其他網絡交換路由資料。例如，網際網路服務供應商 (ISP) 會使用 ASN 來識別網路流量來源。並非所有組織都會購買自己的 ASN，但對於購買的組織，他們可以將其 ASN 帶入 AWS。

帶入自有自治系統編號 (BYOASN) 後，可使用自有的公開 ASN (而不是 AWS ASN) 公告帶入 AWS 的 IPv4 或 IPv6 地址。使用 BYOASN 時，源自 IP 地址的流量會承載 ASN (而不是 AWS ASN)；根據您的 IP 地址和 ASN，允許列出流量的客戶或合作夥伴可以存取您的工作負載。

**重要**  
使用 IPAM 主區域中的 IPAM 管理員帳戶完成本教學課程。
本教學課程假設您擁有要帶入 IPAM 的公開 ASN、已將 BYOIP CIDR 帶入 AWS 並且已將其佈建到公有範圍中的集區。您可以隨時將 ASN 帶入 IPAM，但必須與您帶入 AWS 帳戶的 CIDR 建立關聯才能使用。此教學課程假設您已執行下列作業：如需更多詳細資訊，請參閱 [教學課程：將 IP 地址帶入 IPAM](tutorials-byoip-ipam.md)。
您可以立即在公告自有 ASN 或 AWS ASN 之間變更，但僅限於每小時從 AWS ASN 變更為自有 ASN 一次。
如果目前已公告 BYOIP CIDR，則不需要將其從公告中撤銷，就能與您的 ASN 建立關聯。

## ASN 加入先決條件
<a name="tutorials-byoasn-prereqs"></a>

完成本教學課程需要以下各項：
+ 公開的 2 位元組或 4 位元組 ASN。
+ 如果您已使用 [教學課程：將 IP 地址帶入 IPAM](tutorials-byoip-ipam.md) 將 IP 位址範圍帶入 AWS，則需要 IP 位址 CIDR 範圍。您也需要私有金鑰。您可以使用在將 IP 位址 CIDR 範圍帶入 AWS 時建立的私有金鑰，也可以按照 *Amazon EC2 User Guide* 中的 [Create a private key and generate an X.509 certificate](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/prepare-for-byoip.html#byoip-certificate) 中所述建立新的私有金鑰。
+ 當您使用 [教學課程：將 IP 地址帶入 IPAM](tutorials-byoip-ipam.md) 將 IPv4 或 IPv6 地址範圍帶入 AWS 時，您會[建立 X.509 憑證](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#byoip-add-certificate)，並[將 X.509 憑證上傳到 RIR 中的 RDAP 記錄](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#byoip-add-certificate)。您必須將您所建立的相同憑證上傳到 ASN 的 RIR 中的 RDAP 記錄。請務必包含 `-----BEGIN CERTIFICATE-----` 和 `-----END CERTIFICATE-----` 字串之前和之後的編碼部分。所有這些內容都必須在單獨的長線上。更新 RDAP 的程序取決於您的 RIR：
  + 對於 ARIN，請使用[客戶經理入口網站](https://account.arin.net/public/secure/dashboard)，藉由使用「修改 ASN」選項，在代表您 ASN 的「網路資訊」物件的「Public Comments」區段中新增憑證。請勿將其新增至您組織的評論區段。
  + 對於 RIPE，請將憑證作為新的「descr」欄位新增至代表您 ASN 的「aut-num」物件。您通常可以在

    [RIPE 資料庫入口網站的「我的資源」區段找到這些內容。](https://apps.db.ripe.net/db-web-ui/myresources/overview)請勿將其新增至組織的註解區段，或「aut-num」物件的「備註」欄位。
  + 對於 APNIC，請透過電子郵件將憑證傳送至 [helpdesk@apnic.net](mailto:helpdesk@apnic.net)，以手動將其新增至 ASN 的「備註」欄位。使用 ASN 的 APNIC 授權聯絡人傳送電子郵件。
+ 當您將 IP 位址範圍帶入 IPAM 時，您需要建立 ROA，以驗證您對所帶入 IPAM 的 IP 位址空間擁有控制權。除了該 ROA 之外，您還必須在 RIR 中建立第二個 ROA，其中包含您要帶入 IPAM 的 ASN。如果您在 RIR 中尚未擁有針對 ASN 的第二個 ROA，請完成 [3. 在 RIR 中建立一個 ROA 物件](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/prepare-for-byoip.html#byoip-create-roa-object)。忽略其他步驟。

## 教學步驟
<a name="tutorials-byoasn-process"></a>

使用 AWS 主控台或 AWS CLI 完成以下步驟。

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

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

1. 在左側導覽窗格中，選擇 **IPAMs** (IPAM)。

1. 選擇您的 IPAM。

1. 選擇 **BYOASNs** (BYOASN) 索引標籤，然後選擇 **Provision BYOASNs** (佈建 BYOASN)。

1. 輸入 **ASN**。因此，**Message** (訊息) 欄位會自動填入下一個步驟中需要登入的訊息。
   + 訊息的格式如下，其中 ACCOUNT 是您的 AWS 帳號，ASN 是要帶入 IPAM 的 ASN，而 YYYYMMDD 是訊息的到期日期 (預設為下個月的最後一天)。範例：

     ```
     text_message="1|aws|ACCOUNT|ASN|YYYYMMDD|SHA256|RSAPSS"
     ```

1. 複製訊息並根據需要將到期日期替換為您自己的值。

1. 使用私有金鑰來簽署訊息。範例：

   ```
   signed_message=$( echo -n $text_message | openssl dgst -sha256 -sigopt rsa_padding_mode:pss -sigopt rsa_pss_saltlen:-1 -sign private-key.pem -keyform PEM | openssl base64 | tr -- '+=/' '-_~' | tr -d "\n")
   ```

1. 在 **簽章** 下，輸入簽章。

1. (可選) 若要佈建其他 ASN，選擇 **佈建其他 ASN**。最多可以佈建 5 個 ASN。若要增加此配額，請參閱 [IPAM 的配額](quotas-ipam.md)。

1. 選擇 **Provision** (佈建)。

1. 在 **BYOASNs** 索引標籤中檢視佈建程序。等待 **State** (狀態) 從 *Pending-provision* (待佈建) 變更為 *Provisioned* (已佈建)。處於 *Failed-provision* (佈建失敗) 狀態的 BYOASN 會在 7 天後自動移除。成功佈建 ASN 後，您可以將其與 BYOIP CIDR 關聯。

1. 在左側導覽窗格中，選擇 **Pools** (集區)。

1. 選擇公有範圍。如需有關範圍的詳細資訊，請參閱 [IPAM 的運作方式](how-it-works-ipam.md)。

1. 選擇已佈建 BYOIP CIDR 的區域集區。必須將集區的 **Service** (服務) 設定為 **EC2** 並且必須為其選擇地區設定。

1. 選擇 **CIDRs** (CIDR) 索引標籤，然後選取 BYOIP CIDR。

1. 選擇 **Actions** (動作) > **Manage BYOASN associations** (管理 BYOASN 關聯)。

1. 在 **Associated BYOASNs** (關聯的 BYOASN) 下，選擇已帶入 AWS 的 ASN。如有多個 ASN，可以將多個 ASN 與 BYOIP CIDR 關聯。可以關聯的 ASN 與可帶入 IPAM 的一樣多。請注意，依預設，最多可以將 5 個 ASN 帶入 IPAM。如需更多詳細資訊，請參閱 [IPAM 的配額](quotas-ipam.md)。

1. 選擇**關聯**。

1. 等候 ASN 關聯完成。ASN 與 BYOIP CIDR 成功關聯後，就可以再次公告 BYOIP CIDR。

1. 選擇 **CIDRs** (CIDR) 索引標籤。

1. 選取 BYOIP CIDR，然後選擇 **Actions** (動作) > **Advertise** (公告)。因此，會顯示 ASN 選項：Amazon ASN 以及已帶入 IPAM 的任何 ASN。

1. 選取已帶入 IPAM 的 ASN，然後選擇 **Advertise CIDR** (公告 CIDR)。因此，BYOIP CIDR 會進行公告，並將 **Advertising** (公告) 欄位中的值從 Withdrawn (已撤回) 變更為 Advertised (已公告)。**Autonomous System Number** (自治系統編號) 欄位會顯示與 CIDR 相關聯的 ASN。

1. (可選) 如果決定要將 ASN 關聯變更回 Amazon ASN，選取 BYOIP CIDR，然後再次選擇 **Actions** (動作) > **Advertise** (公告)。這次選擇 Amazon ASN。您可以隨時切換回 Amazon ASN，但每小時只能變更一次自訂 ASN。

此教學課程完成。

**清除**

1. 取消 ASN 與 BYOIP CIDR 的關聯
   + 若要從公告中撤銷 BYOIP CIDR，在公有範圍的集區中選擇 BYOIP CIDR，然後選擇 **Actions** (動作) > **Withdraw from advertising** (從公告中撤回)。
   + 若要取消 ASN 與 CIDR 的關聯，選擇 **Actions** (動作) > **Manage BYOASN associations** (管理 BYOASN 關聯)。

1. 取消佈建 ASN
   + 若要取消佈建 ASN，在 BYOASNs (BYOASN) 索引標籤中選擇 ASN，然後選擇 **Deprovision ASN** (取消佈建 ASN)。即會取消佈建 ASN。處於 *Deprovisioned* (已取消佈建) 狀態的 BYOASN 會在 7 天後自動移除。

清理完成。

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

1. 透過提供您的 ASN 和授權訊息來佈建 ASN。簽章是使用私有金鑰簽署的訊息。

   ```
   aws ec2 provision-ipam-byoasn --ipam-id $ipam_id --asn 12345 --asn-authorization-context Message="$text_message",Signature="$signed_message"
   ```

1. 描述 ASN 以追蹤佈建程序。如果請求成功，應會在幾分鐘後看到 *ProvisionStatus* (佈建狀態) 已設定為 *provisioned* (已佈建)。

   ```
   aws ec2 describe-ipam-byoasn 
   ```

1. 將 ASN 與 BYOIP CIDR 關聯。想要公告的任何自訂 ASN 都必須先與 CIDR 關聯。

   ```
   aws ec2 associate-ipam-byoasn --asn 12345 --cidr xxx.xxx.xxx.xxx/n
   ```

1. 描述 CIDR 以追蹤關聯程序。

   ```
   aws ec2 describe-byoip-cidrs --max-results 10
   ```

1. 使用 ASN 公告 CIDR。如果已公告 CIDR，則會將原始 ASN 從 Amazon 交換為自有 ASN。

   ```
   aws ec2 advertise-byoip-cidr --asn 12345 --cidr xxx.xxx.xxx.xxx/n
   ```

1. 描述 CIDR，以查看 ASN 狀態從 *associated* (已關聯) 至 *advertised* (已公告) 的變更。

   ```
   aws ec2 describe-byoip-cidrs --max-results 10
   ```

此教學課程完成。

**清除**

1. 執行以下任意一項：
   + 如果希望僅撤回 ASN 公告並重新使用 Amazon ASN，同時保持公告 CIDR，必須為 asn 參數呼叫具有特殊 AWS 值的 advertise-byoip-cidr。您可以隨時切換回 Amazon ASN，但每小時只能變更一次自訂 ASN。

     ```
     aws ec2 advertise-byoip-cidr --asn AWS --cidr xxx.xxx.xxx.xxx/n 
     ```
   + 要同時撤回 CIDR 和 ASN 公告，可以呼叫 withdraw-byoip-cidr。

     ```
     aws ec2 withdraw-byoip-cidr --cidr xxx.xxx.xxx.xxx/n
     ```

1. 若要清除 ASN，必須先取消其與 BYOIP CIDR 的關聯。

   ```
   aws ec2 disassociate-ipam-byoasn --asn 12345 --cidr xxx.xxx.xxx.xxx/n
   ```

1. ASN 與相關聯的所有 BYOIP CIDR 取消關聯後，可以將其取消佈建。

   ```
   aws ec2 deprovision-ipam-byoasn --ipam-id $ipam_id --asn 12345 
   ```

1. 移除所有 ASN 關聯之後，也可以取消佈建 BYOIP CIDR。

   ```
   aws ec2 deprovision-ipam-pool-cidr --ipam-pool-id ipam-pool-1234567890abcdef0 --cidr xxx.xxx.xxx.xxx/n
   ```

1. 確認取消佈建。

   ```
   aws ec2 get-ipam-pool-cidrs --ipam-pool-id ipam-pool-1234567890abcdef0
   ```

清理完成。

------