建立 Private Service Connect 後端

您可以使用 Private Service Connect 後端,透過負載平衡器來連結至支援的服務,以便強制執行政策。您可以透過轉送規則連線至服務,該規則會對應至包含 Private Service Connect 網路端點群組 (NEG) 的後端。

如要進一步瞭解支援的服務和設定,請參閱「關於 Private Service Connect 後端」。

本指南將說明如何將 Private Service Connect NEG 新增至負載平衡器,以便存取 Google API 或已發布的服務。本指南不包含完整的負載平衡器設定。

如需有關建立採用 Private Service Connect 後端的負載平衡器的操作說明,請參閱下列文章:

角色

Compute 負載平衡器管理員角色 (roles/compute.loadBalancerAdmin) 包含執行本指南所述工作所需的權限。

事前準備

  1. 決定要連結的 API 或服務:

    • 如要使用 Google API,請執行下列任一操作:

    • 已發布的服務:

      • 如要發布自己的服務,請參閱「發布代管服務」。

      • 如果您要連線至 Google Cloud 或第三方發布的服務,請向製作者索取下列資訊:

        • 您要連結的服務的服務附件 URI。

        • 可選,服務使用的通訊埠。如果您知道使用的通訊埠,可以將其指定為 Private Service Connect NEG 設定的一部分。

        • 您用來傳送要求的 DNS 名稱是否有任何規定。您可能需要在網址對應設定中使用特定 DNS 名稱。

  2. 請判斷哪種負載平衡器類型支援您要連線的服務,並確保您熟悉要更新的負載平衡器。本指南說明如何將 Private Service Connect NEG 新增至負載平衡器,但您可能需要執行其他設定步驟。

    詳情請參閱「支援的負載平衡器和目標」。

建立 Private Service Connect NEG

建立 NEG 時,您可以選擇要連結的目標類型:

  • 已發布的服務
  • 區域 Google API
  • 全域 Google API

建立 NEG 以連線至已發布服務

建立指向已發布服務的 Private Service Connect NEG 時,您需要該服務的服務連結 URI。服務附件格式如下:projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME

服務供應商也可能會提供要用於此服務的通訊埠。如果是,請務必在 NEG 設定中加入產生者通訊埠。

如要瞭解此設定支援的負載平衡器,請參閱「已發布的服務目標」。

主控台

  1. 在 Google Cloud 控制台中,前往「Network endpoint groups」(網路端點群組) 頁面。

    前往網路端點群組

  2. 按一下「建立網路端點群組」

  3. 輸入網路端點群組的名稱。

  4. 在「網路端點群組類型」中,選取「Private Service Connect NEG (區域)」

  5. 設定目標:

    1. 在「Target」中,選取「Published service」
    2. 在「目標服務」中,輸入服務連結的 URI。
    3. 選用:在「Producer port」中,輸入製作者提供給您的通訊埠。如未提供,系統會自動指派連接埠。
    4. 選取要建立網路端點群組的「網路」和「子網路」

      子網路必須與發布服務位於相同區域。

  6. 按一下 [建立]。

gcloud

使用 gcloud compute network-endpoint-groups create 指令:

gcloud compute network-endpoint-groups create NEG_NAME \
    --network-endpoint-type=private-service-connect \
    --psc-target-service=TARGET_SERVICE \
    --region=REGION \
    --network=NETWORK \
    --subnet=SUBNET

如果您知道生產者使用的通訊埠,可以使用 --producer-port=PORT 指定通訊埠。

更改下列內容:

  • NEG_NAME:網路端點群組的名稱。

  • TARGET_SERVICE:服務附件的 URI。

  • REGION:建立網路端點群組的區域。區域必須與目標服務位於相同區域。

  • NETWORK:建立網路端點群組的網路。如果省略,系統會使用預設網路。

  • SUBNET:建立網路端點群組的子網路。子網路必須與目標服務位於相同區域。如果您提供網路,則必須提供子網路。如果同時省略網路和子網路,系統會使用預設網路,並使用指定 REGION 中的預設子網路。

  • PORT:生產者為服務使用的通訊埠。

建立 NEG 以連線至區域性 Google API

您可以建立 NEG 來連結區域性 Google API。

如要瞭解這項設定支援的負載平衡器,請參閱「區域 Google API 目標」。

主控台

  1. 在 Google Cloud 控制台中,前往「Network endpoint groups」(網路端點群組) 頁面。

    前往網路端點群組

  2. 按一下「建立網路端點群組」

  3. 輸入網路端點群組的名稱。

  4. 在「網路端點群組類型」中,選取「Private Service Connect NEG (區域)」

  5. 設定目標:

    1. 在「目標」部分,選取「Google API」
    2. 選取「地區」和「目標服務」
  6. 按一下 [建立]。

gcloud

使用 gcloud compute network-endpoint-groups create 指令:

gcloud compute network-endpoint-groups create NEG_NAME \
    --network-endpoint-type=private-service-connect \
    --psc-target-service=TARGET_SERVICE \
    --region=REGION

更改下列內容:

  • NEG_NAME:網路端點群組的名稱。

  • TARGET_SERVICE:您要連線的區域服務端點

  • REGION:建立網路端點群組的區域。區域必須與目標服務位於相同區域。

建立 NEG 以連線至全球 Google API

您可以建立 Private Service Connect NEG,連線至全球 Google API。即使是連線至全球 API 的 NEG,也屬於區域性資源。在這個設定中,系統會忽略區域。

如要瞭解此設定支援的負載平衡器,請參閱「全球 Google API 目標」。

如要進一步瞭解如何建立跨區域內部應用程式負載平衡器和 Private Service Connect NEG,以便存取全球 Google API,請參閱「存取全球 Google API」一文。

主控台

  1. 在 Google Cloud 控制台中,前往「Network endpoint groups」(網路端點群組) 頁面。

    前往網路端點群組

  2. 按一下「建立網路端點群組」

  3. 輸入網路端點群組的名稱。

  4. 在「網路端點群組類型」中,選取「Private Service Connect NEG (區域)」

  5. 設定目標:

    1. 在「目標」中,選取「全域 Google API」
    2. 選取「地區」和「目標服務」
  6. 按一下 [建立]。

gcloud

使用 gcloud compute network-endpoint-groups create 指令:

gcloud compute network-endpoint-groups create NEG_NAME \
    --network-endpoint-type=private-service-connect \
    --psc-target-service=TARGET_SERVICE \
    --region=REGION

更改下列內容:

  • NEG_NAME:網路端點群組的名稱。

  • TARGET_SERVICE:您要連線的 全球 Google API

  • REGION:建立網路端點群組的區域。

將 Private Service Connect 後端新增至負載平衡器

您可以設定支援的負載平衡器,將流量導向 Private Service Connect NEG 後端。

如要進一步瞭解支援的設定,請參閱「規格」。

為應用程式負載平衡器新增後端

將 NEG 新增至全域外部應用程式負載平衡器、內部應用程式負載平衡器、區域性外部應用程式負載平衡器或跨區域內部應用程式負載平衡器。

主控台

編輯負載平衡器

  1. 前往 Google Cloud 控制台的「Load balancing」(負載平衡)頁面。

    前往「負載平衡」

  2. 按一下要修改的負載平衡器。

  3. 按一下 [編輯]

更新後端設定

  1. 按一下「後端設定」
  2. 展開後端服務清單,然後選取「Create a backend service」(建立後端服務)
  3. 輸入後端服務的名稱。
  4. 將「後端類型」設為「Private Service Connect 網路端點群組」
  5. 在「後端」部分,按一下「Private Service Connect 網路端點群組」清單,然後選取您建立的 Private Service Connect NEG。接著點選「完成」
  6. 如果您要設定全域外部應用程式負載平衡器,以便連線至多個區域中已發布的服務,且您已建立多個 Private Service Connect NEG,請按一下「Add backend」來選取其他 NEG。

    重複執行這項步驟,直到所有此代管服務的 NEG 都已新增至後端服務。

  7. 按一下 [建立]。

更新轉送規則

  1. 按一下「轉送規則」
  2. 為每項新增的後端服務輸入「主機」和「路徑」
  3. 如要查看設定,請按一下「檢查並完成」
  4. 按一下 [建立]。

gcloud

更新後端設定

  1. 為目標服務建立後端服務。

    • 如果您要將後端服務新增至區域性負載平衡器,請使用 --region 標記,指定與負載平衡器相同的區域。

      gcloud compute backend-services create BACKEND_SERVICE_NAME \
          --load-balancing-scheme=SCHEME \
          --protocol=HTTPS \
          --region=REGION
      

      更改下列內容:

      • BACKEND_SERVICE_NAME:後端服務的名稱。
      • SCHEME:您要修改的負載平衡器的負載平衡架構:
        • 如果是區域性外部應用程式負載平衡器,請使用 EXTERNAL_MANAGED
        • 如為內部應用程式負載平衡器,請使用 INTERNAL_MANAGED
      • REGION:後端服務的區域。使用與 NEG 相同的區域。
    • 如果您要將後端服務新增至全域外部應用程式負載平衡器,請使用 --global 標記。

      gcloud compute backend-services create BACKEND_SERVICE_NAME \
          --load-balancing-scheme=EXTERNAL_MANAGED \
          --protocol=HTTPS \
          --global
      

      BACKEND_SERVICE_NAME 替換為後端服務名稱。

  2. 新增指向目標服務的 Private Service Connect NEG。

    • 如果您要將後端服務新增至區域性負載平衡器,請使用 --region 標記,指定與負載平衡器相同的區域。

      gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
          --network-endpoint-group=NEG_NAME \
          --network-endpoint-group-region=NEG_REGION \
          --region=REGION
      

      更改下列內容:

      • BACKEND_SERVICE_NAME:後端服務名稱。
      • NEG_NAME:網路端點群組的名稱。
      • NEG_REGION:網路端點群組的區域。
      • REGION:後端服務的區域。
    • 如果您要將後端服務新增至全域外部應用程式負載平衡器,請使用 --global 標記。

      如果您已為同一項服務在不同區域建立多個 NEG,請重複執行這個步驟,將所有 NEG 新增至後端服務。

      gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
          --network-endpoint-group=NEG_NAME \
          --network-endpoint-group-region=NEG_REGION \
          --global
      

      更改下列內容:

      • BACKEND_SERVICE_NAME:後端服務名稱。
      • NEG_NAME:網路端點群組的名稱。
      • NEG_REGION:網路端點群組的區域。

更新轉送規則

  1. 針對您建立的每個後端服務,在負載平衡器的網址對應中新增路徑比對器。

    • 如果網址對應是地區性,請使用 --region 標記指定地區。

      gcloud compute url-maps add-path-matcher URL_MAP_NAME \
          --path-matcher-name=PATH_MATCHER \
          --default-service=BACKEND_SERVICE_NAME \
          --region=REGION
      

      更改下列內容:

      • URL_MAP_NAME:網址對應項目的名稱。
      • PATH_MATCHER:路徑比對工具的名稱。
      • BACKEND_SERVICE_NAME:後端服務名稱。
      • REGION:網址對應區域。
    • 如果網址對應是全球性,請指定 --global 標記。

      gcloud compute url-maps add-path-matcher URL_MAP_NAME \
          --path-matcher-name=PATH_MATCHER \
          --default-service=BACKEND_SERVICE_NAME \
          --global
      

      更改下列內容:

      • URL_MAP_NAME:網址對應項目的名稱。
      • PATH_MATCHER:路徑比對工具的名稱。
      • BACKEND_SERVICE_NAME:後端服務名稱。
  2. 針對每個主機名稱新增主機規則。

    每個主機規則只能參照一個路徑比對器,但兩個或多個主機規則可以參照相同的路徑比對器。

    • 如果網址對應是地區性,請使用 --region 標記指定地區。

      gcloud compute url-maps add-host-rule URL_MAP_NAME \
          --hosts=HOST \
          --path-matcher-name=PATH_MATCHER \
          --region=REGION
      

      更改下列內容:

      • URL_MAP_NAME:網址對應項目的名稱。
      • HOST:要傳送要求至此服務的主機名稱。
      • PATH_MATCHER:路徑比對器的名稱。
      • REGION:網址對應區域。
    • 如果網址對應是全球性,請指定 --global 標記。

      gcloud compute url-maps add-host-rule URL_MAP_NAME \
          --hosts=HOST \
          --path-matcher-name=PATH_MATCHER \
          --global
      

      更改下列內容:

      • URL_MAP_NAME:網址對應項目的名稱。
      • HOST:要傳送要求至此服務的主機名稱。
      • PATH_MATCHER:路徑比對器的名稱。

為區域性內部 Proxy 網路負載平衡器新增後端

如果 NEG 指向已發布的服務,您可以將 Private Service Connect NEG 後端新增至區域內部 Proxy 網路負載平衡器。區域性內部 Proxy 網路負載平衡器只支援一個後端服務。

如要設定區域性內部 Proxy 網路負載平衡器,請按照使用區域後端設定區域性內部 Proxy 網路負載平衡器的操作說明操作,但不要完成「建立區域 NEG」步驟或設定健康狀態檢查。請按照下列操作說明,將您建立的 Private Service Connect NEG 新增至 Private Service Connect 後端,而非設定區域 NEG。

主控台

  1. 在您要建立的區域內部 Proxy 網路負載平衡器中,按一下「後端設定」
  2. 在「後端類型」部分,選取「Private Service Connect 網路端點群組」
  3. 針對「New backend」(新後端),請選取您建立的 NEG。
  4. 保留其餘預設值,然後按一下「完成」
  5. 在 Google Cloud 控制台中,確認「後端設定」旁有勾號。如未顯示,請重新檢查一遍,確認是否已完成所有步驟。

gcloud

  1. 為目標服務建立後端服務。

    gcloud compute backend-services create BACKEND_SERVICE_NAME \
        --load-balancing-scheme=INTERNAL_MANAGED \
        --protocol=TCP \
        --region=REGION
    

    更改下列內容:

    • BACKEND_SERVICE_NAME:後端服務名稱。
    • REGION:後端服務的區域。使用與 NEG 相同的區域。
  2. 新增指向目標服務的 Private Service Connect NEG。

    gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
        --network-endpoint-group=NEG_NAME \
        --network-endpoint-group-region=NEG_REGION \
        --region=REGION
    

    更改下列內容:

    • BACKEND_SERVICE_NAME:後端服務名稱。
    • NEG_NAME:網路端點群組的名稱。
    • NEG_REGION:網路端點群組的區域。
    • REGION:後端服務的區域。

為區域性外部 Proxy 網路負載平衡器新增後端

如果 NEG 指向已發布的服務,您可以將 Private Service Connect NEG 後端新增至區域外部 Proxy 網路負載平衡器。這個負載平衡器僅支援一項後端服務。

如要設定負載平衡器,請按照操作說明設定區域性外部 Proxy 網路負載平衡器,並使用區域後端,但不要完成「建立區域 NEG」步驟或設定健康狀態檢查。請按照下列操作說明,將您建立的 Private Service Connect NEG 新增至 Private Service Connect 後端,而非設定區域 NEG。

主控台

  1. 在您要建立的區域性外部 Proxy 網路負載平衡器中,按一下「後端設定」
  2. 在「後端類型」部分,選取「Private Service Connect 網路端點群組」
  3. 針對「New backend」(新後端),請選取您建立的 NEG。
  4. 保留其餘預設值,然後按一下「完成」
  5. 在 Google Cloud 控制台中,確認「後端設定」旁有勾號。如未顯示,請重新檢查一遍,確認是否已完成所有步驟。

gcloud

  1. 為目標服務建立後端服務。

    gcloud compute backend-services create BACKEND_SERVICE_NAME \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --protocol=TCP \
        --region=REGION
    

    更改下列內容:

    • BACKEND_SERVICE_NAME:後端服務名稱。
    • REGION:後端服務的區域。使用與 NEG 相同的區域。
  2. 新增指向目標服務的 Private Service Connect NEG。

    gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
        --network-endpoint-group=NEG_NAME \
        --network-endpoint-group-region=NEG_REGION \
        --region=REGION
    

    更改下列內容:

    • BACKEND_SERVICE_NAME:後端服務名稱。
    • NEG_NAME:網路端點群組的名稱。
    • NEG_REGION:網路端點群組的區域。
    • REGION:後端服務的區域。

列出後端

您可以列出所有已設定的 Private Service Connect 後端。

控制台

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

    前往 Private Service Connect

  2. 按一下「已連結的端點」分頁。

    Private Service Connect 後端會顯示在「負載平衡器端點」部分。

描述後端

您可以描述 Private Service Connect 後端,查看詳細資料,包括連線狀態。

控制台

  1. 列出可用的後端
  2. 按一下要說明的後端。

疑難排解

存取負載平衡器轉送規則時發生錯誤

如果您在嘗試存取負載平衡器的轉送規則時看到 404 錯誤,則錯誤可能有下列其中一個原因:

  • 網址對應尚未套用。

    如果您剛建立負載平衡器,請稍候幾分鐘。

  • 您在要求中使用的網址與網址對應中定義的網址不符。

    請確認您嘗試的網址與負載平衡器中的網址對應設定相符。

  • 服務供應者後端不支援您嘗試存取的網址

    請服務供應商確認您應使用哪個網址存取其服務。