建立 Private Service Connect 後端

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

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

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

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

角色

Compute Load Balancer Admin 角色 (roles/compute.loadBalancerAdmin) 包含執行本指南所述工作所需的權限。

事前準備

  1. 判斷要連結的服務:

    • 已發布的服務:

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

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

        • 要連線的服務所屬服務連結的 URI。

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

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

    • 如果是 Google API,請執行下列任一操作:

  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 控制台的「網路端點群組」頁面。

    前往「網路端點群組」

  2. 按一下「Create network endpoint group」(建立網路端點群組)

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

  4. 將「網路端點群組類型」設為「Private Service Connect NEG (區域)」

  5. 設定目標:

    1. 在「目標」中選取「已發布的服務」
    2. 在「目標服務」部分,輸入服務連結的 URI。
    3. 選用:在「製作人通訊埠」中,輸入製作人提供給你的通訊埠。如省略此欄位,系統會自動指派連接埠。
    4. 選取「Network」(網路) 和「Subnetwork」(子網路),在其中建立網路端點群組。

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

  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 控制台的「網路端點群組」頁面。

    前往「網路端點群組」

  2. 按一下「Create network endpoint group」(建立網路端點群組)

  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。即使 NEG 連線至全域 API,仍屬於區域資源。在此設定中,系統會忽略區域。

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

如需建立跨區域內部應用程式負載平衡器和 Private Service Connect NEG,以存取全域 Google API 的完整操作說明,請參閱「存取全域 Google API」。

控制台

  1. 前往 Google Cloud 控制台的「網路端點群組」頁面。

    前往「網路端點群組」

  2. 按一下「Create network endpoint group」(建立網路端點群組)

  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」(負載平衡) 頁面。

    前往「Load balancing」(負載平衡)

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

  3. 按一下 [編輯]

更新後端設定

  1. 按一下「後端設定」
  2. 展開後端服務清單,然後選取「建立後端服務」
  3. 輸入後端服務的名稱。
  4. 將「後端類型」設為「Private Service Connect 網路端點群組」
  5. 在「後端」部分,按一下「Private Service Connect 網路端點群組」清單,然後選取您建立的 Private Service Connect NEG。接著點選「完成」
  6. 如果您要設定全域外部應用程式負載平衡器,以便連線至多個區域中發布的服務,且已建立多個 Private Service Connect NEG,請按一下「新增後端」選取其他 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. 將「Backend type」(後端類型) 設為「Private Service Connect network endpoint group」(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. 將「Backend type」(後端類型) 設為「Private Service Connect network endpoint group」(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 錯誤,可能的原因如下:

  • 網址對應尚未傳播。

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

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

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

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

    請服務生產者確認您應使用哪個網址存取他們的服務。