建立公開通告的前置字串

您可以將自己的 IP 位址 (BYOIP) 帶到 Google Cloud。驗證您擁有 IP 範圍,並將 IP 位址匯入Google Cloud後,即可將這些位址指派給支援的資源

使用自備 IP 的第一步是建立公開通告的前置字串。可用的選項如下:

設定 區域 (v2) 區域型內部 (v2) 區域性 (v1) 全球 (v1)
可用性 建議的區域設定 用於內部 IPv6 位址 不建議用於新的區域設定 必須要求將專案加入許可清單
公開 advertise 前置碼佈建時間 約 2 週 立即 約 4 週 約 4 週
公開委派前置字串佈建時間 幾分鐘 立即 4 週

可與公開 advertise 前置碼佈建時間重疊

4 週

可與公開 advertise 前置碼佈建時間重疊

子前置碼佈建時間 幾分鐘 立即 幾分鐘 幾分鐘
BGP 公告 公開通告前置字串佈建完成後,不會自動發布。您可以自行決定何時發布或撤回廣告。 未定 佈建完成後,系統會自動發布公開 advertise 的前置碼。 佈建完成後,系統會自動發布公開 advertise 的前置碼。
存取權類型 外部 內部 外部 外部
網路服務級別 進階級 進階級 進階級
IP 堆疊
  • 進階級:IPv4、IPv6 (僅適用於外部直通式網路負載平衡器和專門代管 VM 的子網路)
  • 標準級:IPv4
IPv6 IPv4 IPv4

事前準備

  • 如要將自有 IP 位址帶入 Google Cloud ,請務必審慎規劃。詳情請參閱「規劃自備 IP 位址」。
  • 建議您使用機構,並建立專屬專案來管理 BYOIP 位址。詳情請參閱「專案架構」。
  • 如果您要建立外部存取公開通告的前置字串,請檢查要匯入的前置字串是否有任何部分已公開通告。如果是,請務必確保 Google Cloud 不會在其他來源宣傳該產品時,也宣傳該產品:
    • 如果您要為區域地址建立第 2 版公開通告的前置字串,可以控制前置字串的公告。您可以建立公開通告的前置字串和公開委派的前置字串,但請務必確認前置字串未在其他地方發布,再從Google Cloud發布。
    • 如果您要為全域位址建立第 1 版公開通告的前置字串,系統會在公開委派前置字串佈建完成後,自動通告該前置字串。請勿建立公開委派前置字串,直到前置字串不再從其他來源發布為止。

角色

如要取得完成本指南中工作所需的權限,請要求管理員授予您專案的「Compute Public IP Admin」(Compute 公用 IP 管理員) (roles/compute.publicIpAdmin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

建立並驗證公開通告的前置字串

建立公開通告的前置字串時,必須驗證前置字串的擁有權。以下各節將詳細說明這些驗證工作。驗證程序取決於字首的存取類型

  • 如果是外部存取權前置字串,請完成兩項工作,共同 Google Cloud 驗證您擁有這個前置字串:

    • 為前置碼建立路徑來源授權 (ROA)。
    • 為前置字元中的 IP 位址建立 PTR 記錄。

    驗證完成後,系統大約需要兩週的時間完成 v2 前置字元的設定,或四週的時間完成 v1 前置字元的設定。

  • 如果是內部存取前置字串,您只需要為前置字串建立 ROA。設定會立即完成,前置字串也隨時可供使用。

建立 ROA 要求

如要證明前置字串擁有權,請建立路徑來源授權 (ROA) 要求。

向您要宣傳的前置碼區域註冊機構提交 ROA 要求。Google Cloud 建立公開通告前置字串時,該前置字串的 ROA 必須存在,且指向 Google Cloud的 ASN,並在您刪除公開通告前置字串後的一段時間內保持有效。詳情請參閱「移除 ROA」。

您在 ROA 要求中加入的值,取決於前置字串的網路層級。

進階級 ROA 規定

如果是進階級,請建立 ROA 要求,其中包含公開通告的前置字串、前置字串長度,以及「 Google Cloud」的進階級 ASN:396982

標準級 ROA 規定

如果是 Standard 層級 (預先發布版),請執行下列任一操作:

  • 針對公開通告的前置字串,以及您打算佈建的每個頂層公開委派前置字串,分別建立 ROA 要求。請在每個要求中加入前置字串、前置字串長度,以及 Google Cloud的 Standard Tier ASN:19527。Google 建議採用這種做法。

  • 建立單一 ROA 要求,其中包含公開 advertise 的前置字串、前置字串長度、前置字串長度上限 (maxLength) /24,以及 Google Cloud的標準層級 ASN:19527

為自己的 ASN 建立 ROA

建議您為公開宣傳的前置字串提交另一個 ROA 要求。使用與您透過 Google 的 ASN 提交的 ROA 相同的詳細資料,但將您自己的 ASN 替換為來源。如果您需要宣傳前置字串,含有您 ASN 的 ROA 可防止使用資源公開金鑰基礎架構 (RPKI) 的網路將前置字串視為無效,因為該前置字串也會透過 Google Cloud的來源 ASN 宣傳。

區域網路註冊機構

您當地的區域網際網路註冊機構會處理 ROA 要求。詳情請參閱您所在地區的連結:

  • AFRINIC (非洲)
  • APNIC (亞洲和大洋洲部分地區)
  • ARIN (北美洲和部分加勒比海島嶼)
  • LACNIC (拉丁美洲)
  • RIPE NCC (歐洲、中亞、中東)

續約 ROA

如要 Google Cloud 宣傳公開宣傳的前置字元,您必須主動向區域網路登錄機構維持有效的 ROA。ROA 會定期失效,因此必須在失效前更新。

如果 ROA 過期,且您未在收到續約通知後的四週內續約, Google Cloud 會停止向網際網路宣傳公開宣傳的前置字元,這可能會導致使用前置字元 IP 位址的資源連線中斷。

如要續約 ROA,請向當地區域網路註冊機構洽詢具體的操作說明。詳情請參閱「建立 ROA 要求」。

建立公開通告的前置字串

以相符或不相符的前置字串長度宣傳相同路徑,您可能會遇到非預期的路由和封包遺失情形。

您可以為要帶入 Google Cloud的前置字串建立公開通告的前置字串

如要變更公開通告的前置碼名稱,必須先刪除資源,然後重新建立。因此,建議您建立不需要變更的通用名稱,例如 pap-203-0-113-0-24,其中 pap 表示資源類型,203-0-113-0-24 則表示特定前置字串和前置字串長度。

如要使用公開通告的前置字串建立全域公開委派前置字串,必須將專案加入允許清單。詳情請參閱「全域公開委派前置字元」。

如果是外部存取前置碼,請選擇未使用的 IP 位址進行 DNS 驗證。驗證時,您必須為這個 IP 位址設定新的 PTR 記錄,但您要等到建立公開宣傳前置字元後,才能得知主機名稱。

如要建立標準層級公開宣傳的前置字元 (預先發布版),請使用 Google Cloud CLI。

控制台

  1. 前往 Google Cloud 控制台的「Bring your own IP」(自備 IP) 頁面。

    前往「自備 IP」

  2. 按一下「新增 PAP」

  3. 在「Name」(名稱) 部分,輸入公開 advertise 前置碼的名稱。

  4. 在「說明」中,輸入公開宣傳前置字串的說明 (選填)。

  5. 在「IP version」(IP 版本) 部分,選取「IPv4」或「IPv6」

  6. 輸入要匯入的前置字串。

  7. 如果您要匯入 IPv4 前置字串,請為公開通告的前置字串選取「範圍」區域通用

  8. 如要匯入 IPv6 前置字元,請選取存取權類型。

  9. 點選「下一步」

  10. 檢查輸入的資訊。如要確認您擁有這個前置字元,請按一下「確認」

  11. 如果您要新增可從外部存取的 PAP,請在「IP address」(IP 位址) 中,輸入您要新增前置字元中未使用的 IP 位址。這個位址會用於 DNS 驗證,您必須在後續步驟中為該位址建立 PTR 記錄,並使用 Google Cloud提供的主機名稱。

  12. 點選「建立」。「驗證」畫面會顯示這項要求的驗證狀態。

gcloud

使用 public-advertised-prefixes create 指令。

除非另有說明,否則本節中的指令會建立進階級前置字元。

  • 如要為全域位址建立公開通告的前置字串 (v1),請執行下列指令:

    gcloud compute public-advertised-prefixes create PAP_NAME \
        --range=PAP_IP_RANGE \
        --dns-verification-ip=VERIFICATION_IP_ADDRESS
    
  • 如要為區域位址建立公開通告的前置字串 (第 2 版),請執行下列指令:

    gcloud compute public-advertised-prefixes create PAP_NAME \
        --range=PAP_IP_RANGE \
        --pdp-scope=REGIONAL \
        --dns-verification-ip=VERIFICATION_IP_ADDRESS
    
  • 如要為區域 IPv4 位址建立標準級公開通告前置字串 (第 2 版) (搶先版),請執行下列指令:

    gcloud beta compute public-advertised-prefixes create PAP_NAME \
        --range=PAP_IP_RANGE \
        --pdp-scope=REGIONAL \
        --dns-verification-ip=VERIFICATION_IP_ADDRESS \
        --network-tier=STANDARD
    
  • 如要為區域 IPv6 位址建立內部存取公開通告的前置字串,請執行下列指令:

    gcloud compute public-advertised-prefixes create PAP_NAME \
        --range=PAP_IP_RANGE \
        --pdp-scope=REGIONAL \
        --ipv6-access-type=INTERNAL
    

    如果您要建立內部存取公開通告的前置字串,完成這個步驟後即可使用前置字串。您不需要完成本頁的其餘步驟。

  • 不建議為區域位址建立公開通告的前置字串 (v1)。請改為建立第 2 版公開通告的前置字串。如要為區域位址建立 v1 公開通告前置字串,請執行下列指令:

    gcloud compute public-advertised-prefixes create PAP_NAME \
        --range=PAP_IP_RANGE \
        --dns-verification-ip=VERIFICATION_IP_ADDRESS
    

更改下列內容:

  • PAP_NAME:您要建立的公開宣傳前置字元名稱。

  • PAP_IP_RANGE:公開宣傳前置字串的 IP 位址範圍。範圍可以是 IPv4 或 IPv6 位址範圍。

  • VERIFICATION_IP_ADDRESS:從 PAP_IP_RANGE 中選擇未使用的 IP 位址。這個位址會用於 DNS 驗證,您必須在稍後的步驟中為這個位址建立 PTR 記錄,並使用 Google Cloud提供的主機名稱。

使用 DNS 驗證擁有權

如果您建立了外部存取公開通告的前置字串,請完成下列各節的步驟,驗證您擁有該前置字串。如果您建立內部存取權公開通告前置碼,就不必透過 DNS 驗證擁有權。

找出要用於 PTR 記錄的名稱

建立外部存取公開通告的前置字串時, Google Cloud會產生名稱,供您在 PTR 驗證步驟中做為主機名稱使用。

控制台

  1. 前往 Google Cloud 控制台的「Bring your own IP」(自備 IP) 頁面。

    前往「自備 IP」

  2. 找出要檢查的前置字元,然後按一下「檢查狀態」

  3. 「DNS 驗證」部分會顯示用於 PTR 驗證的名稱和 IP 位址。

gcloud

  1. 如要從 sharedSecret 欄位取得名稱,請使用 public-advertised-prefixes describe 指令

    gcloud compute public-advertised-prefixes describe \
        PAP_NAME --format='value(sharedSecret)'
    
  2. 如有需要,您可以擷取您為 DNS 驗證提供的 IP 位址。

    gcloud compute public-advertised-prefixes describe \
        PAP_NAME --format='value(dnsVerificationIp)'
    

在這兩個指令中,請將 PAP_NAME 換成公開 advertise 的前置碼名稱。

建立 PTR 記錄

如要驗證您擁有要匯入Google Cloud的 IP 位址範圍,您必須在用於匯入 IP 位址範圍的 DNS 區域中,建立公開 PTR 記錄。

在 PTR 記錄中使用下列值:

範例:

  • IPv4:如果驗證 IP 位址為 203.0.113.144,且 203.0.113.0/24 的 DNS 網域為 example.net,而Google Cloud 提供的名稱為 55kk88tt00,則所需的 PTR 記錄如下:

    $ dig +noall +answer -x 203.0.113.144
    
    144.113.0.203.in-addr.arpa. 21599 IN PTR 55kk88tt00.example.net
    
  • IPv6:如果驗證 IP 位址為 2001:db8::102001:db8::/32 的 DNS 網域為 example.net, Google Cloud提供的名稱為 55kk88tt00,則必要的 PTR 記錄如下:

    $ dig +noall +answer -x 2001:db8::10
    
    0.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa
    21599 IN PTR 55kk88tt00.example.net.
    

驗證 PTR 記錄

建立 PTR 記錄後,請更新公開通告的前置碼,觸發 PTR 記錄驗證。

控制台

  1. 前往 Google Cloud 控制台的「Bring your own IP」(自備 IP) 頁面。

    前往「自備 IP」

  2. 按一下要更新前置字元的「檢查狀態」

  3. 在「DNS validation」(DNS 驗證) 部分,選取「I have created this PTR record」(我已建立這項 PTR 記錄) 核取方塊,然後按一下「Validate」(驗證)

gcloud

如要將公開通告的前置字串狀態變更為「PTR-CONFIGURED」,請使用 public-advertised-prefixes update 指令

狀態變更會觸發 PTR 記錄的驗證。如果成功,狀態會變更為 VALIDATED。如果失敗,狀態會變更為 REVERSE_DNS_LOOKUP_FAILED

gcloud compute public-advertised-prefixes update PAP_NAME --status=PTR-CONFIGURED

PAP_NAME 換成您已建立 PTR 記錄的公開通告前置字串。

查看公開宣傳前置字元的狀態

Google Cloud 佈建公開 advertise 的前置字串約需四週。您可以查看狀態,確認佈建是否完成。

控制台

  1. 前往 Google Cloud 控制台的「Bring your own IP」(自備 IP) 頁面。

    前往「自備 IP」

  2. 找出要檢查的前置字元,然後按一下「檢查狀態」

  3. 查看「驗證」部分。

gcloud

如要說明公開通告的前置字串並取得其狀態,請使用 public-advertised-prefixes describe 指令。

gcloud compute public-advertised-prefixes describe PAP_NAME --format='value(status)'

PAP_NAME 替換為要取得狀態資訊的公開 advertise 前置碼。

前置字串通過驗證後,狀態欄位會從 VALIDATED 變更為 PREFIX_CONFIGURATION_COMPLETE

後續步驟