設定及管理虛擬私有雲網路對等互連

Google Cloud 虛擬私有雲網路對等互連可在兩個虛擬私有雲網路之間建立內部 IP 位址連線,無論這兩個網路是否屬於同一個 Google Cloud 專案或機構都一樣。對等互連支援在具有任何 IPv4 專用、雙重堆疊和 IPv6 專用子網路組合的網路之間建立連線。

事前準備

IAM 權限

請確認您在專案中具備下列其中一個角色:

  • Compute 網路管理員角色 (roles/compute.networkAdmin)
  • 包含下列權限的自訂角色:
    • compute.networks.addPeering
    • compute.networks.updatePeering
    • compute.networks.removePeering
    • compute.networks.listPeeringRoutes

建立對等互連設定

開始前,您必須知道要進行對等互連的虛擬私有雲網路名稱。若該網路位於另一個專案,您也必須知道該專案的專案 ID。您無法列出虛擬私有雲網路的對等互連要求,如有必要,請向您要建立對等互連的網路管理員索取網路名稱和專案 ID。

您的網路與另一個網路之間必須具備對方的對等互連設定才可連線。詳情請參閱「關於對等互連連線」。

Google Cloud 一次僅允許一項和對等互連相關的活動。舉例來說,如果您在設定與某一網路的對等互連後,便立即嘗試設定另一個對等互連,作業會失敗並顯示以下訊息:Error: There is a peering operation in progress on the local or peer network. Try again later.

控制台

針對對等互連連線的每一端執行下列步驟。

  1. 前往 Google Cloud 控制台的「VPC Network Peering」(VPC 網路對等互連) 頁面。

    前往「VPC Network Peering」(虛擬私有雲網路對等互連)

  2. 點選「建立連線」

  3. 按一下「繼續」

  4. 在「對等互連連線名稱」欄位中,輸入對等互連設定的名稱。

  5. 在「Your VPC network」(您的虛擬私有雲網路) 欄位中,選取要建立對等互連的網路。

  6. 在「對等互連的虛擬私有雲網路」部分,選取要對等互連的網路:

    • 若您要建立對等互連的網路位於相同的專案中,請選取「In project [name-of-your-project]」(位在 [專案名稱] 專案),然後選擇要建立對等互連的網路。
    • 若您要建立對等互連的網路位於不同的專案,請選擇 [In another project] (位在其他專案)。請指定專案 ID,包含您要建立對等互連的網路與虛擬私有雲網路的名稱。
  7. 選取要在對等互連網路之間交換的路由 IP 版本:

    • IPv4 (單一堆疊):僅交換 IPv4 路由。對等互連網路也必須啟用這個選項。
    • IPv4 和 IPv6 (雙重堆疊):交換 IPv4 和 IPv6 路由。對等互連網路也必須啟用這個選項。
  8. 如要交換 IPv4 自訂路由,請在「Exchange IPv4 custom routes」(交換 IPv4 自訂路由) 區段中,選擇下列一或多個選項:

    • 匯入自訂路徑:從對等互連網路匯入自訂路徑。對等互連網路必須啟用自訂路徑匯出功能,才能匯入路徑。
    • 匯出自訂路徑:將自訂路徑匯出至對等互連網路。對等互連網路必須啟用自訂路徑匯入功能,才能匯出路徑。
  9. 如果您的網路或對等互連網路的子網路有私用公開 IPv4 範圍,系統預設會匯出這些路徑,但不會匯入。

    如要匯入私用公開 IPv4 子網路路徑,請在「交換使用私用公開 IPv4 位址的子網路路由」部分中,選取「匯入具有公開 IP 的子網路路由」

  10. 在「Advanced options」(進階選項) 部分,選擇對等互連連線的更新策略:

    • 獨立 (預設):選取這個選項後,連結雙方隨時可以更新或刪除連結。詳情請參閱「連線模式」。
    • 共識:選取這個選項後,更新或刪除連線時,需要對接網路確認。詳情請參閱「連線模式」。
  11. 點選「建立」

gcloud

使用 gcloud compute networks peerings create 指令。

您可以透過預設設定建立對等互連設定,也可以自訂設定。

建立預設對等互連設定

如要建立預設對等互連設定,請執行下列指令:

gcloud compute networks peerings create PEERING_NAME \
    --network=NETWORK \
    --peer-project=PEER_PROJECT_ID \
    --peer-network=PEER_NETWORK_NAME

更改下列內容:

  • PEERING_NAME:對等互連設定的名稱
  • NETWORK:要對等互連的專案網路名稱
  • PEER_PROJECT_ID:您要對等互連的網路所在專案的 ID

    如果對等互連網路與您的網路位於同一個專案,這個標記為選用。

  • PEER_NETWORK_NAME:要對等互連的網路名稱

舉例來說,如要將 project-a 中的 network-aproject-b 中的 network-b 對等互連,請執行下列操作:

  1. 為「network-a」建立對等互連設定。

    gcloud compute networks peerings create peering-a \
        --network=network-a \
        --peer-project=project-b \
        --peer-network=network-b
    
  2. network-b 建立對應的對等互連設定。這個步驟通常由網路管理員為 network-b 執行。

    gcloud compute networks peerings create peering-b \
        --network=network-b \
        --peer-project=project-a \
        --peer-network=network-a
    

兩個網路的對等互連狀態都會變成 ACTIVE

自訂對等互連設定

如要自訂對等互連設定,可以使用下列選用參數:

  • --stack-type 會為對等互連連線設定堆疊類型。根據預設,系統只會交換 IPv4 路由,且堆疊類型會設為 IPV4_ONLY。如要交換 IPv4 和 IPv6 路徑,請在連線兩端指定 IPV4_IPV6
  • --import-custom-routes 會告知網路接受來自對等互連網路的自訂路徑。對等互連網路必須先匯出路徑。
  • --export-custom-routes 會指示網路將自訂路徑匯出至對等互連網路。對等互連網路必須設為匯入路徑。
  • --import-subnet-routes-with-public-ip 會告知網路接受對等互連網路的子網路路徑 (如果該網路的子網路中有私用公開 IPv4 位址)。對等互連網路必須先匯出路徑。
  • --export-subnet-routes-with-public-ip 會指示網路匯出包含私用公開 IPv4 位址的子網路路徑。對等互連網路必須設為匯入路徑。
  • --update-strategy 設定對等互連連線的更新策略。更新策略預設為 INDEPENDENT。如要設定連線使用共識模式,請為連線兩端指定 CONSENSUS。詳情請參閱「連線模式」。
範例:在對等互連連線中交換自訂路徑

如要在 project-aproject-b 中啟用 network-a,讓兩者交換自訂路徑,請在建立對等互連連線時執行下列操作:network-b

  1. 為「network-a」建立對等互連設定。

    gcloud compute networks peerings create peering-a \
        --network=network-a \
        --peer-project=project-b \
        --peer-network=network-b \
        --import-custom-routes \
        --export-custom-routes
    
  2. network-b 建立對應的對等互連設定。這個步驟通常由網路管理員為 network-b 執行。

    gcloud compute networks peerings create peering-b \
        --network=network-b \
        --peer-project=project-a \
        --peer-network=network-a \
        --import-custom-routes \
        --export-custom-routes
    

兩個網路的對等互連狀態都會變成 ACTIVE。如要進一步瞭解這個範例,請參閱「對等互連兩個虛擬私有雲網路」快速入門指南。

範例:在共識模式中建立對等互連連線

如要在共識模式中建立對等互連連線,請將更新策略設為 CONSENSUS。在本範例中,您會在 project-a 中設定 network-a,與 project-b 中的 network-b 對等互連。

  1. 為「network-a」建立對等互連設定。

    gcloud compute networks peerings create peering-a \
        --network=network-a \
        --peer-project=project-b \
        --peer-network=network-b \
        --update-strategy=CONSENSUS
    
  2. network-b 建立對應的對等互連設定。這個步驟通常由網路管理員為 network-b 執行。

    gcloud compute networks peerings create peering-b \
        --network=network-b \
        --peer-project=project-a \
        --peer-network=network-a \
        --update-strategy=CONSENSUS
    

兩個網路的對等互連狀態都會變成 ACTIVE

Terraform

您可以使用 Terraform 模組建立對等互連設定。

module "peering1" {
  source        = "terraform-google-modules/network/google//modules/network-peering"
  version       = "~> 18.0"
  local_network = var.local_network # Replace with self link to VPC network "foobar" in quotes
  peer_network  = var.peer_network  # Replace with self link to VPC network "other" in quotes
}

對於兩個對等互連的虛擬私有雲網路,每個自我連結都包含專案 ID 和虛擬私有雲網路的名稱。如要取得虛擬私有雲網路的自我連結,您可以在每個虛擬私有雲網路的專案中,使用 gcloud compute networks describe 指令或 networks.get 方法。

local_network 建立對等互連時,peer_network對等互連關係是雙向的。系統會自動建立從 peer_networklocal_network 的對等互連。

如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。

確認對等互連虛擬私有雲網路之間是否會傳輸流量

您可以使用虛擬私有雲流量記錄,查看 VM 執行個體收發的網路流量。您也可以使用防火牆規則記錄,確認流量是否在網路之間傳輸。建立虛擬私有雲防火牆規則,允許 (或拒絕) 對等互連網路之間的流量,並為這些規則啟用防火牆規則記錄。然後使用 Cloud Logging 查看哪些防火牆規則遭到命中。

更新對接連線

更新現有對等互連連線時,您可以執行下列操作:

  • 變更虛擬私有雲網路從對等互連虛擬私有雲網路匯出或匯入自訂路徑或私用公開 IPv4 子網路路徑。
  • 變更對等互連連線是否在對等互連網路之間交換 IPv6 路徑。
  • 將連線的更新策略從「獨立」(預設) 變更為「共識」,即可更新對等互連連線模式。變更更新策略前,請先查看共識模式的相關規定。

只有在對等互連網路也匯出路徑時,您的網路才會匯入路徑,而對等互連網路只有在匯入路徑時才接收路徑。

更新連線 (獨立模式)

控制台

  1. 前往 Google Cloud 控制台的「VPC Network Peering」(VPC 網路對等互連) 頁面。

    前往「VPC Network Peering」(虛擬私有雲網路對等互連)

  2. 選取要更新的對等互連連線。

  3. 按一下 [編輯]

  4. 如要更新要在對等互連網路之間交換的路徑 IP 版本,請選取下列其中一個選項:

    • IPv4 (單一堆疊):僅交換 IPv4 路由。對等互連網路也必須啟用這個選項。
    • IPv4 和 IPv6 (雙重堆疊):交換 IPv4 和 IPv6 路由。對等互連網路也必須啟用這個選項。
  5. 如要交換 IPv4 自訂路由,請在「Exchange IPv4 custom routes」(交換 IPv4 自訂路由) 區段中,選擇下列一或多個選項:

    • 匯入自訂路徑:從對等互連網路匯入自訂路徑。對等互連網路必須啟用自訂路徑匯出功能,才能匯入路徑。
    • 匯出自訂路徑:將自訂路徑匯出至對等互連網路。對等互連網路必須啟用自訂路徑匯入功能,才能匯出路徑。
  6. 如果您的網路或對等互連網路的子網路有私用公開 IPv4 範圍,系統預設會匯出這些路徑,但不會匯入。

    如要匯入私用公開 IPv4 子網路路徑,請在「交換使用私用公開 IPv4 位址的子網路路由」部分中,選取「匯入具有公開 IP 的子網路路由」

  7. 如要將對接連線從獨立 (預設) 模式更新為共識模式,請在「進階選項」部分,選取「更新策略」的「共識」。按一下「儲存」後,本機設定的更新策略會變更為「共識」

    如要完成更新要求,對等網路的網路管理員必須接受要求,方法是將對等互連設定的更新策略變更為「共識」

  8. 按一下 [儲存]

gcloud

使用 gcloud compute networks peerings update 指令。

您可以視需要使用下列參數:

  • --stack-type 會為對等互連連線設定堆疊類型。根據預設,系統只會交換 IPv4 路由。
    • 如要交換 IPv4 和 IPv6 路徑,請為兩個網路指定 IPV4_IPV6
    • 如要停用 IPv6 路徑交換,請為兩個網路指定 IPV4_ONLY
  • --import-custom-routes 會告知網路接受來自對等互連網路的自訂路徑。對等互連網路必須先匯出路徑。

    如要停用這個選項,請使用 --no-import-custom-routes

  • --export-custom-routes 會指示網路將自訂路徑匯出至對等互連網路。對等互連網路必須設為匯入路徑。

    如要停用這個選項,請使用 --no-export-custom-routes

  • --import-subnet-routes-with-public-ip 會告知網路接受對等互連網路的子網路路徑 (如果該網路在其子網路中使用私用公開 IPv4 位址)。對等互連網路必須先匯出路徑。

    如要停用這個選項,請使用 --no-import-subnet-routes-with-public-ip

  • --export-subnet-routes-with-public-ip 會告知網路匯出包含私用公開 IPv4 位址的子網路路徑。對等互連網路必須設為匯入路徑。

    如要停用這個選項,請使用 --no-export-subnet-routes-with-public-ip

  • --update-strategy 設定對等互連連線的更新策略。根據預設,更新策略為 INDEPENDENT。如要設定連線以使用共識模式,請為連線兩端指定 CONSENSUS

    如要取消設定共識模式的待處理更新要求,請將更新策略重設為 INDEPENDENT。詳情請參閱「連線模式」。

以下範例說明如何更新對等互連連線,以交換 IPv4 和 IPv6 路由。

  1. 更新本機網路的堆疊類型:

    gcloud compute networks peerings update PEERING_NAME_1 \
        --network=NETWORK_1 \
        --stack-type=IPV4_IPV6
    
  2. 更新對等互連網路的堆疊類型。這個步驟通常由網路管理員執行。

    gcloud compute networks peerings update PEERING_NAME_2 \
        --network=NETWORK_2 \
        --stack-type=IPV4_IPV6
    

更改下列內容:

  • PEERING_NAME_1:本機對等互連設定的名稱
  • NETWORK_1:本機網路的名稱
  • PEERING_NAME_2:對等互連網路的相應設定名稱
  • NETWORK_2:對等互連網路的名稱

將連線更新為共識模式

您可以變更連線的更新策略,將對接連線從獨立 (預設) 模式更新為共識模式。變更更新策略前,請先查看共識模式的相關規定。

  1. 更新本機對等互連設定:

    gcloud compute networks peerings update PEERING_NAME \
        --network=NETWORK \
        --update-strategy=CONSENSUS
    

    更改下列內容:

    • PEERING_NAME:現有對等互連設定的名稱
    • NETWORK:專案中對等互連網路的名稱
  2. 查看更新要求的狀態:

    gcloud compute networks describe NETWORK
    

    NETWORK 替換為專案中對等互連網路的名稱。

    輸出內容的 updateStatus 欄位必須顯示下列狀態:

    • 在區域網路的設定中, PENDING_PEER_ACKNOWLEDGMENT
    • 在對等互連網路的對應設定中,PENDING_LOCAL_ACKNOWLEDGMENT
  3. 在連線的對等端執行步驟 1 中的指令,接受更新要求。

    這個步驟通常由對等網路的網路管理員執行。

要求完成後,兩個設定的 updateStatus 欄位都會變更為 IN_SYNC,連線的有效狀態也會隨之更新。