允許其他虛擬私有雲網路存取服務

本教學課程說明如何使用 Private Service Connect,讓其他虛擬私有雲網路存取負載平衡服務。

根據預設,您在上一個教學課程中建立的內部直通式網路負載平衡器,只能在本身的虛擬私有雲網路中使用。透過 Private Service Connect 發布服務後,其他虛擬私有雲網路中的資源就能存取該服務。

本教學課程的適用對象為雲端架構師、網路架構師、網路管理員和 IT 管理員。

目標

  • 建立已發布的服務
  • 為已發布的服務流量建立防火牆規則
  • 取得服務連結 URI

費用

在本文件中,您會使用下列 Google Cloud的計費元件:

您可以使用 Pricing Calculator,根據預測用量估算費用。

初次使用 Google Cloud 的使用者可能符合免費試用期資格。

完成本文所述工作後,您可以刪除建立的資源,避免繼續計費,詳情請參閱「清除所用資源」。

事前準備

  1. 完成上一個教學課程「建立負載平衡服務」中的步驟。
  2. 選取您在先前的教學課程中選取或建立的服務生產者專案 (PRODUCER_PROJECT)。請使用這個專案完成本教學課程的步驟。

建立已發布的服務

如要讓其他虛擬私有雲網路使用這項服務,請發布服務。如要發布服務,請在與負載平衡器相同的網路和區域中建立下列資源:

  • Private Service Connect 子網路,可為供應商和消費者網路之間的網路位址轉譯 (NAT) 提供 IP 位址。
  • 服務連結。

您可以按照這些操作說明,建立可從任何專案存取的已發布服務。在實際運作環境中,您可能會選擇限制哪些網路或專案可以存取服務。

控制台

  1. 前往 Google Cloud 控制台的「Private Service Connect」頁面。

    前往 Private Service Connect

  2. 按一下「已發布的服務」分頁標籤。

  3. 按一下「發布服務」

  4. 在「目標詳細資料」部分中,選取「負載平衡器」

  5. 選取「內部直通式網路負載平衡器」

  6. 選取您建立的內部負載平衡器 service-lb

  7. 在「Service name」(服務名稱) 中輸入 published-service

  8. 為 NAT 建立 Private Service Connect 子網路:

    1. 依序點選「子網路」和「保留新的子網路」
    2. 在「Name」(名稱) 中輸入 nat-subnet
    3. 在「Region」(區域) 中選取 REGION
    4. 在「IPv4 range」(IPv4 範圍) 中,輸入 10.10.20.0/22
    5. 按一下「新增」。
  9. 在「連線偏好設定」部分,選取「自動接受所有連線」

  10. 按一下「新增服務」

gcloud

  1. 使用 gcloud compute networks subnets create 指令建立 Private Service Connect 子網路。

    gcloud compute networks subnets create nat-subnet \
      --network=service-network \
      --region=REGION \
      --range=10.10.20.0/22 \
      --purpose=PRIVATE_SERVICE_CONNECT
    
  2. 如要發布服務,請使用 gcloud compute service-attachments create 指令

    gcloud compute service-attachments create published-service \
      --region=REGION \
      --target-service=projects/PRODUCER_PROJECT/regions/REGION/forwardingRules/service-rule \
      --connection-preference=ACCEPT_AUTOMATIC \
      --nat-subnets=nat-subnet
    

    更改下列內容:

    • PRODUCER_PROJECT:生產者專案的 ID。
    • REGION:服務附件的區域。這必須與目標轉送規則的 IP 位址位於相同區域。

為已發布的服務流量建立防火牆規則

建立防火牆規則,允許流量從 Private Service Connect NAT 子網路傳入負載平衡器的後端 VM。

控制台

  1. 前往 Google Cloud 控制台的「Firewall policies」(防火牆政策) 頁面。

    前往「防火牆政策」頁面

  2. 如要允許 Private Service Connect NAT 子網路的流量傳送至負載平衡器的後端 VM,請按一下「建立防火牆規則」,並使用下列設定:

    • 在「Name」(名稱) 中輸入 fw-allow-nat
    • 在「Network」(網路) 中選取 service-network
    • 在「Priority」(優先順序) 中輸入 1000
    • 在「Direction of traffic」(流量方向) 中選取 [Ingress] (輸入)
    • 在「Action on match」(相符時執行的動作) 中選取 [Allow] (允許)
    • 在「Targets」(目標) 中選取 Specified target tags
    • 在「Target tags」(目標標記) 中輸入 allow-nat
    • 在「Source filter」(來源篩選器) 中選取「IPv4 ranges」(IPv4 範圍)
    • 在「Source IPv4 ranges」(來源 IPv4 範圍) 中輸入 10.10.20.0/22
    • 在「Protocols and ports」(通訊協定和通訊埠) 中選取「Allow all」(全部允許)
  3. 點選「建立」

gcloud

  1. 建立 fw-allow-nat 防火牆規則,允許從 Private Service Connect NAT 子網路與 VM 後端通訊:

    gcloud compute firewall-rules create fw-allow-nat \
        --network=service-network \
        --action=allow \
        --direction=ingress \
        --source-ranges=10.10.20.0/22 \
        --rules=tcp,udp,icmp
    

取得服務連結 URI

您會在下一個教學課程「從其他虛擬私有雲網路存取服務」中,使用服務連結 URI 設定端點。

控制台

  1. 前往 Google Cloud 控制台的「Private Service Connect」頁面。

    前往 Private Service Connect

  2. 按一下「已發布的服務」分頁標籤。

  3. 按一下要查看的服務。

    「服務連結」欄位含有服務連結 URI。

gcloud

  1. 使用 gcloud compute service-attachments describe 指令查看已發布服務的詳細資料。

    selfLink 欄位包含服務連結 URI。

    gcloud compute service-attachments describe \
        published-service --region=REGION
    

    REGION 替換為包含服務附件的區域。

後續步驟