Share via


使用 Azure CLI 建立自訂 IPv4 位址前置詞

自訂 IPv4 位址前置詞可讓您將自己的 IPv4 範圍帶入 Microsoft,並將其與 Azure 訂用帳戶產生關聯。 範圍會繼續由您擁有,但 Microsoft 可以將其公告給網際網路。 自訂 IP 位址前置詞可做為區域資源,代表客戶擁有之 IP 位址的連續區塊。

本文中的步驟詳細說明下列程序:

  • 準備要佈建的範圍

  • 佈建 IP 配置的範圍

  • 啟用 Microsoft 要公告的範圍

如果您沒有 Azure 訂閱,請在開始之前,先建立 Azure 免費帳戶

必要條件

  • 具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶
  • 本教學課程需要 2.28 版或更新版本的 Azure CLI (您可以執行 az 版來判斷您擁有的版本)。 如果您是使用 Azure Cloud Shell,就已安裝最新版本。
  • 登入 Azure CLI,並確定您已使用 az account 選取要使用此功能的訂閱。
  • 可在 Azure 中佈建的客戶擁有 IPv4 範圍。
    • 此範例會使用樣本客戶範圍 (1.2.3.0/24)。 Azure 不會驗證此範圍。 將範例範圍取代為您的值。

注意

針對佈建流程期間遇到的問題,請參閱自訂 IP 前置詞的疑難排解

佈建前步驟

若要利用 Azure BYOIP 功能,您必須在佈建 IPv4 位址範圍之前執行下列步驟。

需求和前置詞整備程度

  • 位址範圍必須由您擁有,並使用五個主要區域網際網路登錄的其中一個,以您的名稱註冊:

  • 位址範圍不得小於 /24,因此網際網路服務提供者將接受該位址範圍。

  • 授權 Microsoft 公告位址範圍的路由來源授權 (ROA) 文件,必須由客戶在適當的路由網際網路登錄 (RIR) 網站上,或經由其 API 填寫。 RIR 會要求使用 RIR 的資源公開金鑰基礎結構 (RPKI) 對 ROA 進行數位簽署。

    針對此 ROA:

    • 原始 AS 必須列為公用雲端的 8075。 (如果範圍將上線至 US Gov Cloud,則原始 AS 必須列為 8070。)

    • 有效結束日期 (到期日期) 必須考慮您想要讓 Microsoft 公告前置詞的時間。 某些 RIR 不會將有效結束日期顯示為選項,或為您選擇日期。

    • 前置詞長度應該完全符合 Microsoft 可公告的前置詞。 例如,如果您打算將 1.2.3.0/24 和 2.3.4.0/23 帶入 Microsoft,則兩者都應該命名。

    • 在 ROA 完成並提交之後,請至少等待 24 小時讓 Microsoft 得以利用該文件,在此期間,將會驗證其作為布建程序一部分的真實性和正確性。

注意

也建議您為任何現有的 ASN 建立 ROA,ASN 會公告範圍,避免在移轉期間發生任何問題。

重要

雖然 Microsoft 不會在指定日期之後停止廣告範圍,但如果原始到期日已通過,強烈建議您獨立建立後續 ROA,以避免外部電信業者不接受廣告。

憑證整備程度

若要授權 Microsoft 將前置詞與客戶訂用帳戶產生關聯,必須比較公開憑證與已簽署的訊息。

下列步驟顯示準備樣本客戶範圍 (1.2.3.0/24) 佈建至公用雲端所需的步驟。

注意

在已安裝 OpenSSL 的 PowerShell 中執行下列命令。

  1. 必須建立自我簽署的 X509 憑證,才能新增至前置詞的 Whois/RDAP 記錄。 如需 RDAP 的相關資訊,請參閱 ARINRIPEAPNICAFRINIC 網站。

    使用 OpenSSL 工具組的範例如下所示。 下列命令會產生 RSA 金鑰組,並使用六個月內到期的金鑰組來建立 X509 憑證:

    ./openssl genrsa -out byoipprivate.key 2048
    Set-Content -Path byoippublickey.cer (./openssl req -new -x509 -key byoipprivate.key -days 180) -NoNewline
    
  2. 建立憑證之後,請針對前置詞更新 Whois/RDAP 記錄的公開註解區段。 若要顯示複製,包括帶有虛線虛線的 BEGIN/END 頁首/頁尾,請使用命令 cat byoippublickey.cer:您應該能夠透過路由網際網路註冊機構執行此程序。

    每個註冊機構的指示如下:

    • ARIN - 編輯前置詞記錄的「註解」。

    • RIPE - 編輯 inetnum 記錄的「備註」。

    • APNIC - 使用 MyAPNIC 編輯 inetnum 記錄的「備註」。

    • AFRINIC - 使用 MyAFRINIC 編輯 inetnum 記錄的「備註」。

    • 如需 LACNIC 登錄的範圍,請使用 Microsoft 建立支援票證。

    填妥公開註解之後,Whois/RDAP 記錄看起來應該如下列範例所示。 請確定沒有空格或歸位字元。 包含所有虛線:

    Screenshot of example certificate comment

  3. 若要建立將傳遞給 Microsoft 的訊息,請建立包括前置詞和訂用帳戶相關資訊的字串。 使用上述步驟中產生的金鑰組簽署此訊息。 使用如下所示的格式,取代訂用帳戶識別碼、要佈建的前置詞,以及符合 ROA 上有效日期的到期日。 請確定格式依該順序排列。

    使用下列命令,來建立將傳遞至 Microsoft 以進行驗證的已簽署訊息。

    注意

    如果原始 ROA 中未包含有效結束日期,請挑選對應至您想要讓 Azure 公告前置詞的日期。 另請注意,Microsoft 不會在指定日期之後停止廣告範圍,但如果原始到期日已通過,建議您獨立建立後續 ROA。

    $byoipauth="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx|1.2.3.0/24|yyyymmdd"
    Set-Content -Path byoipauth.txt -Value $byoipauth -NoNewline
    ./openssl dgst -sha256 -sign byoipprivate.key -keyform PEM -out byoipauthsigned.txt byoipauth.txt
    $byoipauthsigned=(./openssl enc -base64 -in byoipauthsigned.txt) -join ''
    
  4. 若要檢視已簽署訊息的內容,請輸入從先前建立的已簽署訊息建立的變數,然後在 PowerShell 提示字元中選取 Enter

    $byoipauthsigned
    dIlwFQmbo9ar2GaiWRlSEtDSZoH00I9BAPb2ZzdAV2A/XwzrUdz/85rNkXybXw457//gHNNB977CQvqtFxqqtDaiZd9bngZKYfjd203pLYRZ4GFJnQFsMPFSeePa8jIFwGJk6JV4reFqq0bglJ3955dVz0v09aDVqjj5UJx2l3gmyJEeU7PXv4wF2Fnk64T13NESMeQk0V+IaEOt1zXgA+0dTdTLr+ab56pR0RZIvDD+UKJ7rVE7nMlergLQdpCx1FoCTm/quY3aiSxndEw7aQDW15+rSpy+yxV1iCFIrUa/4WHQqP4LtNs3FATvLKbT4dBcBLpDhiMR+j9MgiJymA==
    

佈建步驟

下列步驟顯示將樣本客戶範圍 (1.2.3.0/24) 佈建至美國西部 2 區域的程序。

注意

根據資源的本質,此頁面不會顯示清除或刪除步驟。 如需移除已佈建自訂 IP 前置詞的資訊,請參閱管理自訂 IP 前置詞

建立資源群組並指定前置詞和授權訊息

在佈建 BYOIP 範圍所需的位置中建立資源群組。

  az group create \
    --name myResourceGroup \
    --location westus2

佈建自訂 IP 位址前置詞

下列命令會在指定的區域和資源群組中建立自訂 IP 前置詞。 將 CIDR 標記法中的確切前置詞指定為字串,以確保沒有語法錯誤。 針對 --authorization-message 參數,請使用 $byoipauth 變數,其中包括要佈建的訂閱識別碼、欲佈建的前置詞,以及符合 ROA 上有效日期的到期日。 請確定格式依該順序排列。 針對在<憑證整備>一節中建立的 --signed-message 參數,使用 $byoipauthsigned 變數。

  byoipauth="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx|1.2.3.0/24|yyyymmdd"
  
  az network custom-ip prefix create \
    --name myCustomIpPrefix \
    --resource-group myResourceGroup \
    --location westus2 \
    --cidr ‘1.2.3.0/24’ \
    --zone 1 2 3
    --authorization-message $byoipauth \
    --signed-message $byoipauthsigned

範圍將會推送至 Azure IP 部署管線。 部署程序是非同步的。 若要判斷此狀態,請執行下列命令:

 az network custom-ip prefix show \
   --name myCustomIpPrefix \
   --resource-group myResourceGroup

下列顯示範例輸出,並移除一些欄位以明確表示:

{
  "cidr": "1.2.3.0/24",
  "commissionedState": "Provisioning",
  "id": "/subscriptions/xxxx/resourceGroups/myResourceGroup/providers/Microsoft.Network/customIPPrefixes/myCustomIpPrefix",
  "location": "westus2",
  "name": myCustomIpPrefix,
  "resourceGroup": "myResourceGroup",
}

[CommissionedState] 欄位應該會顯示一開始範圍為 [佈建中],後面接著顯示 [已佈建]

注意

完成佈建程序的預估時間為 30 分鐘。

重要

自訂 IP 前置詞處於佈建狀態之後,就可以建立子公用 IP 前置詞。 這些公用 IP 前置詞和任何公用 IP 位址都可以連結至網路資源。 例如,虛擬機器網路介面或負載平衡器前端。 不會公告這些 IP,因此無法連線。 如需使用中前置詞移轉的詳細資訊,請參閱管理自訂 IP 前置詞

委派自訂 IP 位址前置詞

當自訂 IP 前置詞處於已佈建狀態時,下列命令會更新前置詞以開始從 Azure 公告範圍的程序。

az network custom-ip prefix update \
    --name myCustomIpPrefix \
    --resource-group myResourceGroup \
    --state commission 

如同之前,作業是非同步。 使用 az network custom-ip prefix show 來擷取狀態。 [CommissionedState] 欄位一開始會顯示前置詞作為 [委派中],後面接著顯示 [已委派]。 公告推出非二進位,而且範圍將會部分公告,同時仍處於 [委派中] 狀態。

注意

完整完成委任流程的預估時間為 3-4 小時。

重要

當自訂 IP 前置詞轉換為 [已委任] 狀態時,會透過 Microsoft 從本地 Azure 區域公告範圍,並透過 Microsoft 的廣域網路在自發系統號碼 (ASN) 8075 下向網際網路全域公告。 從 Microsoft 以外的位置向網際網路公告此相同範圍,可能會導致 BGP 路由不穩定或流量遺失。 例如,客戶內部部署組建。 規劃維護期間內作用中範圍的任何移轉,以避免造成影響。 此外,您可以利用區域委託功能,將自訂 IP 前置詞放入狀態,其中只會在 Azure 區域內公告其部署,請參閱管理自訂 IP 位址前置碼 (BYOIP) 以取得詳細資訊。

下一步