管理已發布的服務

本頁說明如何管理已發布的服務,包括處理已發布服務的存取要求、設定連線對帳,以及更新服務連結以參照新的目標服務。

每個服務連結都有連線偏好設定,可控制是否自動接受連線。

  • 自動接受所有連線。服務附件會自動接受來自任何消費者的所有連入連線要求。
  • 明確接受所選消費者的連線。只有當消費者位於服務附件的消費者接受清單中,服務附件才會接受連入連線要求。您可以依專案、虛擬私有雲網路或個別 Private Service Connect 端點指定消費者。您無法在同一個消費者接受或拒絕清單中,加入不同類型的消費者。

無論是哪種連線偏好設定,如果機構政策封鎖了傳入連線,系統都會覆寫已接受的連線並拒絕連線。

建議您明確接受特定消費者的連結。如果您透過其他方式控管消費者存取權,並想啟用服務的寬鬆存取權,自動接受所有連線可能就適合您。

如要進一步瞭解如何發布服務,請參閱「發布服務」。

角色

下列 IAM 角色提供執行本指南中工作所需的權限。

管理已發布服務的存取權

如果您發布的服務需要明確核准,可以更新消費者清單來接受或拒絕連線。如要接受連線,請將提出要求的消費者專案、虛擬私有雲網路或個別 Private Service Connect 端點,新增至服務的消費者接受清單。如要明確拒絕連線,請以相同方式更新消費者拒絕清單。

無論消費者要求連線之前或之後,您都可以將專案或虛擬私有雲網路新增至消費者清單。您只能在連線要求後新增端點,因為端點的 URI 要等到端點建立後才會得知。

消費者清單中的所有值都必須屬於相同類型。舉例來說,您無法根據用戶專案接受部分連線,並根據個別端點接受其他連線。如果將相同值同時加入接受清單和拒絕清單,系統會拒絕該消費者的連線要求。

根據預設,消費者名單的變更只會影響新的或待處理的連線。 除非已啟用連線協調功能,否則先前接受的連線不會終止。

控制台

如要管理需要明確核准的服務存取權,您可以接受或拒絕現有的連線要求,也可以更新消費者接受/拒絕清單。這兩種方法會產生相同的結果,並更新相同的消費者名單。

查看已發布服務的詳細資料

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

    前往 Private Service Connect

  2. 按一下「Published services」(發布的服務) 分頁標籤。

  3. 按一下要管理的服務。

接受或拒絕連結要求

  • 如果服務設定為根據用戶專案接受連線,嘗試連線至這項服務的專案會列在「已連線的專案」部分。選取一或多個專案旁的核取方塊,然後按一下「接受專案」或「拒絕專案」
  • 如果服務已設定為接受個別 Private Service Connect 端點,請按一下「等待核准」,查看嘗試連線至這項服務的端點。勾選一或多個端點旁的核取方塊,然後按一下「接受端點」或「拒絕端點」
  • 如果服務設定為根據虛擬私有雲網路接受消費者,您只能更新消費者接受和拒絕清單,藉此接受或拒絕連線,詳情請參閱下一節。

更新消費者接受/拒絕清單

  1. 按一下「編輯服務詳細資料」
  2. 選用:選取新的連線偏好設定。
  3. 請完成下列適用步驟。如要新增多位消費者,請重複這個步驟。

    • 如要「接受所選專案的連線」,請按一下「新增接受的專案」,然後輸入專案和連線限制。
    • 如要「接受所選網路的連線」,請按一下「新增接受的網路」,然後輸入專案、虛擬私有雲網路和連線限制。
    • 如要「接受所選端點的連線」,請按一下「新增接受的端點」,然後輸入專案和端點的 ID。

      如要找出端點 ID,請查看已發布的服務,並在「等待核准」部分中查看「端點 ID」的值。

gcloud

  1. 如要查看要修改的服務附件現有和待處理的連線,請使用 gcloud compute service-attachments describe 指令

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

    更改下列內容:

    • ATTACHMENT_NAME:服務連結的名稱。
    • REGION:服務連結的區域。

    輸出結果類似下列範例。如有任何待處理的消費者連結,系統會列出這些連結,並顯示 PENDING 狀態。您可以在 endpointWithId 欄位中,查看 Private Service Connect 端點的 ID 型 URI,並用來接受或拒絕個別端點。

    在本範例輸出內容中,專案 CONSUMER_PROJECT_1 位於接受清單中,因此 ENDPOINT_1 獲得接受,可以連線至服務。專案 CONSUMER_PROJECT_2 不在接受清單中,因此 ENDPOINT_2 處於待處理狀態。將 CONSUMER_PROJECT_2 新增至接受清單後,ENDPOINT_2 的狀態會變更為 ACCEPTED,端點即可連線至服務。

    connectedEndpoints:
    - consumerNetwork: https://www.googleapis.com/compute/v1/projects/CONSUMER_PROJECT_1/global/networks/CONSUMER_NETWORK_1
      endpoint: https://www.googleapis.com/compute/v1/projects/CONSUMER_PROJECT_1/regions/REGION_1/forwardingRules/ENDPOINT_1
      endpointWithId: https://www.googleapis.com/compute/v1/projects/CONSUMER_PROJECT_1/regions/REGION_1/forwardingRules/RESOURCE_ID_1
      pscConnectionId: 'ENDPOINT_1_ID'
      status: ACCEPTED
    - consumerNetwork: https://www.googleapis.com/compute/v1/projects/CONSUMER_PROJECT_2/global/networks/CONSUMER_NETWORK_2
      endpoint: https://www.googleapis.com/compute/v1/projects/CONSUMER_PROJECT_2/regions/REGION_2/forwardingRules/ENDPOINT_2
      endpointWithId: https://www.googleapis.com/compute/v1/projects/CONSUMER_PROJECT_2/regions/REGION_2/forwardingRules/RESOURCE_ID_2
      pscConnectionId: 'ENDPOINT_2_ID'
      status: PENDING
    connectionPreference: ACCEPT_MANUAL
    consumerAcceptLists:
    - connectionLimit: LIMIT_1
      projectIdOrNum: CONSUMER_PROJECT_1
    creationTimestamp: 'TIMESTAMP'
    description: 'DESCRIPTION'
    enableProxyProtocol: false
    fingerprint: FINGERPRINT
    id: 'ID'
    kind: compute#serviceAttachment
    name: NAME
    natSubnets:
    - https://www.googleapis.com/compute/v1/projects/PRODUCER_PROJECT/regions/REGION/subnetworks/PSC_SUBNET
    pscServiceAttachmentId:
      high: 'PSC_ATTACH_ID_HIGH'
      low: 'PSC_ATTACH_ID_LOW'
    region: https://www.googleapis.com/compute/v1/projects/PRODUCER_PROJECT/regions/REGION
    selfLink: https://www.googleapis.com/compute/v1/projects/projects/PRODUCER_PROJECT/regions/REGION/serviceAttachments/ATTACHMENT_NAME
    targetService: https://www.googleapis.com/compute/v1/projects/PRODUCER_PROJECT/regions/REGION/forwardingRules/PRODUCER_FWD_RULE
    
  2. 如要接受或拒絕消費者連結,請按照下列步驟操作。

    • 如要根據專案或虛擬私有雲網路接受或拒絕消費者,請使用 gcloud compute service-attachments update 指令

      您可以指定 --consumer-accept-list--consumer-reject-list,也可以同時指定兩者。您可以在 --consumer-accept-list--consumer-reject-list 中指定多個值。您可以加入虛擬私有雲專案或網路,但不能同時加入專案和網路。

      gcloud compute service-attachments update ATTACHMENT_NAME \
          --region=REGION \
          --consumer-accept-list=ACCEPTED_PROJECT_OR_NETWORK_1=LIMIT_1,ACCEPTED_PROJECT_OR_NETWORK_2=LIMIT_2 \
          --consumer-reject-list=REJECTED_PROJECT_OR_NETWORK_1,REJECTED_PROJECT_OR_NETWORK_2
      

      更改下列內容:

      • ATTACHMENT_NAME:服務附件的名稱。

      • REGION:服務附件所在的區域。

      • ACCEPTED_PROJECT_OR_NETWORK_1ACCEPTED_PROJECT_OR_NETWORK_2:要接受的專案 ID、專案名稱或網路網址。--consumer-accept-list 為選用項目,可包含一或多個專案或聯播網,但不能同時包含這兩種項目。

      • LIMIT_1LIMIT_2:專案或網路的連線限制。連線限制是指可連線至這項服務的消費者端點數量。

      • REJECTED_PROJECT_OR_NETWORK_1REJECTED_PROJECT_OR_NETWORK_2:要拒絕的專案 ID、專案名稱或網路網址。--consumer-reject-list 為選用項目,可包含一或多個專案或網路,但不能同時包含這兩種型別。

    • 如要接受或拒絕個別 Private Service Connect 端點,請使用 gcloud compute service-attachments update 指令

      gcloud compute service-attachments update ATTACHMENT_NAME \
          --region=REGION \
          --consumer-accept-list=ACCEPTED_ENDPOINT_URI_1,ACCEPTED_ENDPOINT_URI_2 \
          --consumer-reject-list=REJECTED_ENDPOINT_URI_1,REJECTED_ENDPOINT_URI_2
      

      更改下列內容:

      • ACCEPTED_ENDPOINT_URI_1ACCEPTED_ENDPOINT_URI_2:要接受的一或多個 Private Service Connect 端點的 ID 型 URI。如要尋找 Private Service Connect 端點的 ID 型 URI,請說明已連線的服務連結,並檢查 endpointWithId 欄位,或說明 Private Service Connect 端點並檢查 selfLinkWithId 欄位。--consumer-accept-list 為選用項目。

        舉例來說,本節開頭範例輸出內容中,待處理 Private Service Connect 端點的 ID 型 URI 為 https://www.googleapis.com/compute/v1/projects/CONSUMER_PROJECT_2/regions/REGION_2/forwardingRules/RESOURCE_ID_2

      • REJECTED_ENDPOINT_URI_1REJECTED_ENDPOINT_URI_2:要拒絕的一或多個 Private Service Connect 端點的 ID 型 URI。--consumer-reject-list 為選填欄位。

API

  1. 如要說明要修改的服務附件,請將要求傳送至 serviceAttachments.get 方法

    HTTP 方法和網址:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
    

    更改下列內容:

    • PROJECT_ID:服務附件的專案。
    • REGION:服務連結的區域。
    • ATTACHMENT_NAME:服務連結的名稱。

    如有任何待處理的消費者連結,系統會列出這些連結,並顯示 PENDING 狀態。您可以在 endpointWithId 欄位中,查看 Private Service Connect 端點的 ID 型 URI,並用來接受或拒絕個別端點。

    請記下 fingerprint 值,您會在下一個步驟中使用。

  2. 如要接受或拒絕消費者專案或網路,請對 serviceAttachments.patch 方法發出要求。

    您可以依專案或虛擬私有雲網路接受及拒絕消費者,但無法在同一要求中同時加入專案和網路。

    • 如要根據專案接受或拒絕消費者,請傳送下列要求。

      HTTP 方法和網址:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
      

      JSON 要求主體:

      {
        "consumerAcceptLists": [
          {
            "projectIdOrNum": "ACCEPTED_PROJECT_1",
            "connectionLimit": "LIMIT_1"
          },
          {
            "projectIdOrNum": "ACCEPTED_PROJECT_2",
            "connectionLimit": "LIMIT_2"
          }
        ],
        "consumerRejectLists": [
          "REJECTED_PROJECT_1",
          "REJECTED_PROJECT_2"
        ],
        "fingerprint" : "FINGERPRINT"
      }
      

      更改下列內容:

      • PROJECT_ID:服務附件的專案。
      • REGION:服務連結的區域。
      • ATTACHMENT_NAME:服務附件的名稱。
      • ACCEPTED_PROJECT_1ACCEPTED_PROJECT_2:要接受的專案 ID 或編號。consumerAcceptList 為選用項目,可包含一或多個專案。
      • LIMIT_1LIMIT_2:專案的連線限制。連線限制是指可連線至這項服務的消費者端點數量。
      • REJECTED_PROJECT_1REJECTED_PROJECT_2:要拒絕的專案 ID 或編號。consumerRejectList 為選用項目,可包含一或多個專案。
      • FINGERPRINT:您在上一個步驟中找到的服務附件最新指紋。
    • 如要根據虛擬私有雲網路接受或拒絕消費者,請傳送下列要求。

      HTTP 方法和網址:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
      

      JSON 要求主體:

      {
        "consumerAcceptLists": [
          {
            "networkUrl": "projects/ACCEPTED_PROJECT_ID_1/global/network/ACCEPTED_NETWORK_1",
            "connectionLimit": "LIMIT_1"
          },
          {
            "networkUrl": "projects/ACCEPTED_PROJECT_ID_2/global/network/ACCEPTED_NETWORK_2",
            "connectionLimit": "LIMIT_2"
          }
        ],
        "consumerRejectLists": [
          "projects/REJECTED_PROJECT_ID_1/global/networks/REJECTED_NETWORK_1",
          "projects/REJECTED_PROJECT_ID_2/global/network/REJECTED_NETWORK_2"
        ],
        "fingerprint": "FINGERPRINT"
      }
      

      更改下列內容:

      • ACCEPTED_PROJECT_ID_1ACCEPTED_PROJECT_ID_2:您要接受的網路所屬父項專案 ID。consumerAcceptLists 為選用項目,可包含一或多個電視網。
      • ACCEPTED_NETWORK_1ACCEPTED_NETWORK_2:您要接受的網路名稱。
      • LIMIT_1LIMIT_2:網路的連線限制。連線限制是指可連線至這項服務的消費者端點數量。
      • REJECTED_PROJECT_ID_1REJECTED_PROJECT_ID_2:要拒絕的網路的父項專案 ID。consumerRejectLists 為選用項目,可包含一或多個電視網。
      • REJECTED_NETWORK_1REJECTED_NETWORK_2:要拒絕的網路名稱。
    • 如要根據個別 Private Service Connect 端點接受或拒絕消費者,請傳送下列要求。

      HTTP 方法和網址:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
      

      JSON 要求主體:

      {
        "consumerAcceptLists": [
          {
            "endpointUrl": "ACCEPTED_ENDPOINT_URI_1"
          },
          {
            "endpointUrl": "ACCEPTED_ENDPOINT_URI_2"
          }
        ],
        "consumerRejectLists": [
          "REJECTED_ENDPOINT_URI_1",
          "REJECTED_ENDPOINT_URI_2"
        ],
        "fingerprint": "FINGERPRINT"
      }
      

      更改下列內容:

      • ACCEPTED_ENDPOINT_URI_1ACCEPTED_ENDPOINT_URI_2:要接受的一或多個 Private Service Connect 端點的 ID 型 URI。如要找出 Private Service Connect 端點的 ID 型 URI,請說明已連線的服務連結並檢查 endpointWithId 欄位,或說明端點並檢查 selfLinkWithId 欄位。依據 ID 建立的 URI 範例如下:https://www.googleapis.com/compute/v1/projects/consumer-project/regions/us-central1/forwardingRules/1234567890

        這份清單為選填。

      • REJECTED_ENDPOINT_URI_1REJECTED_ENDPOINT_URI_2:要拒絕的一或多個 Private Service Connect 端點的 ID 型 URI。這份清單為選填。

變更已發布服務的連線偏好設定

您可以為已發布的服務切換自動和明確的消費者接受狀態。這項變更對現有連線的影響,取決於服務附件是否已啟用連線協調功能。

如果停用連線協調功能,變更連線偏好設定不會影響現有的 ACCEPTEDREJECTED 連線:

  • 從自動接受切換為明確接受時,新連線必須位於消費者接受清單中,才能成為 ACCEPTED
  • 從明確接受切換為自動接受後,系統會自動ACCEPTED所有現有的 PENDING 連線。

如果啟用連線協調功能,系統會根據新的連線偏好設定,重新評估所有現有連線:

  • 從自動切換為明確接受時,如果現有消費者連線不在消費者接受清單中,就會變更為 PENDING,並終止這些連線。
  • 從明確接受切換為自動接受時,所有現有的 PENDINGREJECTED 連線都會變更為 ACCEPTED

如要進一步瞭解如何更新服務的消費者接受清單,請參閱「管理已發布服務的存取要求」。

控制台

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

    前往 Private Service Connect

  2. 按一下「Published services」(發布的服務) 分頁標籤。

  3. 按一下要更新的服務,然後點選「編輯服務詳細資料」

  4. 選取要用於這項服務的新連線偏好設定。

  5. 選用:如果改為使用明確接受機制,您可以立即將消費者新增至接受清單,也可以稍後再新增。如要接受消費者,請執行下列任一操作。如要新增多位消費者,請為每位消費者重複這個步驟。

    • 如要「接受所選專案的連線」,請按一下「新增接受的專案」,然後輸入專案和連線限制。
    • 如要「接受所選網路的連線」,請按一下「新增接受的網路」,然後輸入專案、虛擬私有雲網路和連線限制。
    • 如要「接受所選端點的連線」,請按一下「新增接受的端點」,然後輸入專案和端點的 ID。
  6. 按一下 [儲存]

gcloud

  • 如要將服務連結的連線偏好設定從 ACCEPT_AUTOMATIC 變更為 ACCEPT_MANUAL,請使用 gcloud compute service-attachments update 指令

    您可以透過 --consumer-accept-list--consumer-reject-list,控管哪些專案可以連線至服務。變更連線偏好設定時,您可以設定接受和拒絕清單,或稍後更新清單。

    gcloud compute service-attachments update ATTACHMENT_NAME \
        --region=REGION \
        --connection-preference=ACCEPT_MANUAL \
        [ --consumer-accept-list=ACCEPTED_PROJECT_OR_NETWORK_1=LIMIT_1,ACCEPTED_PROJECT_OR_NETWORK_2=LIMIT_2] \
        [ --consumer-reject-list=REJECTED_PROJECT_OR_NETWORK_1,REJECTED_PROJECT_OR_NETWORK_2 ]
    

    更改下列內容:

    • ATTACHMENT_NAME:服務附件的名稱。

    • REGION:服務附件所在的區域。

    • ACCEPTED_PROJECT_OR_NETWORK_1ACCEPTED_PROJECT_OR_NETWORK_2:要接受的專案 ID、專案名稱或網路網址。--consumer-accept-list 為選用項目,可包含一或多個專案或網路,但不能同時包含這兩種型別。

    • LIMIT_1LIMIT_2:專案的連線限制。連線限制是指可連線至這項服務的消費者端點數量。

    • REJECTED_PROJECT_OR_NETWORK_1REJECTED_PROJECT_OR_NETWORK_2:要拒絕的專案 ID、專案名稱或網路網址。--consumer-reject-list 為選用項目,可包含一或多個專案或聯播網,但不能同時包含這兩種型別。

  • 如要將服務附件的連線偏好設定從 ACCEPT_MANUAL 變更為 ACCEPT_AUTOMATIC,請使用下列指令。

    如果您在接受清單或拒絕清單中有值,請在變更連線偏好設定 ("") 時,將這些值設為空白。

    gcloud compute service-attachments update ATTACHMENT_NAME \
        --region=REGION \
        --connection-preference=ACCEPT_AUTOMATIC \
        --consumer-accept-list="" \
        --consumer-reject-list=""
    

    更改下列內容:

    • ATTACHMENT_NAME:服務附件的名稱。

    • REGION:服務附件所在的區域。

API

  1. 如要取得服務附件的 fingerprint,請向 serviceAttachments.get 方法傳送要求。

    HTTP 方法和網址:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
    

    更改下列內容:

    • PROJECT_ID:服務附件的專案。
    • REGION:服務連結的區域。
    • ATTACHMENT_NAME:服務連結的名稱。

    請記下 fingerprint 值,您會在下一個步驟中使用。

  2. 如要變更服務連結的連線偏好設定,請將要求傳送至 serviceAttachments.patch 方法

    • 如要將連線偏好設定從 ACCEPT_AUTOMATIC 變更為 ACCEPT_MANUAL,並根據專案更新消費者接受/拒絕清單,請提出下列要求。

      HTTP 方法和網址:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
      

      JSON 要求主體:

      {
        "connectionPreference": "ACCEPT_MANUAL",
        "consumerAcceptLists": [
          {
            "projectIdOrNum": "ACCEPTED_PROJECT_1"
            "connectionLimit": "LIMIT_1",
          },
          {
            "projectIdOrNum": "ACCEPTED_PROJECT_2"
            "connectionLimit": "LIMIT_2",
          }
        ],
        "consumerRejectLists": [
          "REJECTED_PROJECT_1",
          "REJECTED_PROJECT_2",
        ],
        "fingerprint" : "FINGERPRINT"
      }
      

      更改下列內容:

      • PROJECT_ID:服務附件的專案。
      • REGION:服務連結的區域。
      • ATTACHMENT_NAME:服務附件的名稱。
      • ACCEPTED_PROJECT_1ACCEPTED_PROJECT_2:要接受的專案 ID 或編號。consumerAcceptList 為選用項目,可包含一或多個專案。
      • LIMIT_1LIMIT_2:專案的連線限制。連線限制是指可連線至這項服務的消費者端點數量。
      • REJECTED_PROJECT_1REJECTED_PROJECT_2:要拒絕的專案 ID 或編號。consumerRejectList 為選用項目,可包含一或多個專案。
      • FINGERPRINT:您在步驟 1 中找到的服務附件最新指紋。
    • 如要將連線偏好設定從 ACCEPT_AUTOMATIC 變更為 ACCEPT_MANUAL,並根據虛擬私有雲網路更新消費者接受/拒絕清單,請提出下列要求。

      HTTP 方法和網址:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
      

      JSON 要求主體:

      {
        "connectionPreference": "ACCEPT_MANUAL",
        "consumerAcceptLists": [
          {
            "networkUrl": "projects/ACCEPTED_PROJECT_ID_1/global/networks/ACCEPTED_NETWORK_1",
            "connectionLimit": "LIMIT_1"
          },
          {
            "networkUrl": "projects/ACCEPTED_PROJECT_ID_2/global/networks/ACCEPTED_NETWORK_2",
            "connectionLimit": "LIMIT_2"
          }
        ],
        "consumerRejectLists": [
          "projects/REJECTED_PROJECT_ID_1/global/networks/REJECTED_NETWORK_1",
          "projects/REJECTED_PROJECT_ID_2/global/network/REJECTED_NETWORK_2"
        ],
        "fingerprint" : "FINGERPRINT"
      }
      

      更改下列內容:

      • ACCEPTED_PROJECT_ID_1ACCEPTED_PROJECT_ID_2:您要接受的網路所屬父項專案 ID。consumerAcceptLists 為選用項目,可包含一或多個電視網。
      • ACCEPTED_NETWORK_1ACCEPTED_NETWORK_2:您要接受的網路名稱。
      • LIMIT_1LIMIT_2:網路的連線限制。連線限制是指可連線至這項服務的消費者端點數量。
      • REJECTED_PROJECT_ID_1REJECTED_PROJECT_ID_2:要拒絕的網路的父項專案 ID。consumerRejectLists 為選用項目,可包含一或多個電視網。
      • REJECTED_NETWORK_1REJECTED_NETWORK_2:要拒絕的網路名稱。
      • FINGERPRINT:您在步驟 1 中找到的服務附件最新指紋。
  • 如要將服務附件的連線偏好設定從 ACCEPT_MANUAL 變更為 ACCEPT_AUTOMATIC,請提出下列要求。

    如果 consumerAcceptListsconsumerRejectLists 欄位指定任何消費者,請在將連線偏好設定變更為 ACCEPT_AUTOMATIC 時,將這些欄位設為空白。

    HTTP 方法和網址:

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
    

    JSON 要求主體:

    {
      "connectionPreference": "ACCEPT_AUTOMATIC",
      "consumerAcceptLists": [ ],
      "consumerRejectLists": [ ],
      "fingerprint" : "FINGERPRINT"
    }
    

    更改下列內容:

    • PROJECT_ID:服務附件的專案。

    • REGION:服務連結的區域。

    • ATTACHMENT_NAME:服務連結的名稱。

    • FINGERPRINT:您在步驟 1 中找到的服務附件最新指紋。

從消費者名單中移除過時的端點

如果消費者接受和拒絕清單設定為使用個別端點,消費者刪除對應端點後,值仍會保留在清單中。為簡化消費者名單管理作業,您可以使用 gcloud compute service-attachments update 指令,移除不再存在的任何端點值。這項功能僅支援 Google Cloud CLI。

gcloud

gcloud compute service-attachments update ATTACHMENT_NAME \
    --region=REGION \
    --remove-obsolete-endpoint-accept-reject-entries

更改下列內容:

  • ATTACHMENT_NAME:要更新的服務附件名稱。
  • REGION:服務連結的區域。

設定連線協調功能

您可以為現有服務附件啟用或停用連線協調

控制台

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

    前往 Private Service Connect

  2. 按一下「Published services」(發布的服務) 分頁標籤。

  3. 按一下要更新的服務,然後點選「編輯服務詳細資料」

  4. 選取或取消選取「啟用連線對帳」核取方塊,然後按一下「儲存」

gcloud

  • 如要啟用連線對帳功能,請使用 service-attachments update 指令

    gcloud compute service-attachments update ATTACHMENT_NAME \
        --region=REGION \
        --reconcile-connections
    

    更改下列內容:

    • ATTACHMENT_NAME:服務附件的名稱。
    • REGION:服務連結的區域。
  • 如要停用連線對帳功能,請使用下列指令:

    gcloud compute service-attachments update ATTACHMENT_NAME \
        --region=REGION \
        --no-reconcile-connections
    

API

  1. 如要取得服務附件的 fingerprint,請向 serviceAttachments.get 方法傳送要求。

    HTTP 方法和網址:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
    

    更改下列內容:

    • PROJECT_ID:服務附件的專案。
    • REGION:服務連結的區域。
    • ATTACHMENT_NAME:服務連結的名稱。

    請記下 fingerprint 值,您會在下一個步驟中使用。

  2. serviceAttachments.patch 方法傳送要求

    HTTP 方法和網址:

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
    

    JSON 要求主體:

    {
      "reconcileConnections": RECONCILIATION,
      "fingerprint": "FINGERPRINT"
    }
    

    更改下列內容:

    • PROJECT_ID:服務附件的專案。
    • REGION:服務連結的區域。
    • ATTACHMENT_NAME:服務連結的名稱。
    • RECONCILIATION:是否啟用連線對帳功能。選項為 truefalse
    • FINGERPRINT:您在上一個步驟中找到的服務附件最新指紋。

在已發布的服務中新增或移除子網路

您可以編輯已發布的服務,加入 Private Service Connect 子網路。

舉例來說,您可能需要為現有服務提供更多 IP 位址。如要新增更多地址,請採取下列其中一種做法:

同樣地,您也可以編輯已發布的服務,移除 Private Service Connect 子網路。不過,如果子網路的任何 IP 位址用於 Private Service Connect 的 SNAT,系統就會無法移除子網路。

如果變更子網路設定,請更新防火牆規則,允許來自新子網路的要求連線至後端 VM。

控制台

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

    前往 Private Service Connect

  2. 按一下「Published services」(發布的服務) 分頁標籤。

  3. 按一下要更新的服務,然後點選「編輯服務詳細資料」

  4. 修改這項服務使用的子網路。

    如要新增子網路,可以按照以下步驟操作:

    1. 按一下「保留新的子網路」
    2. 輸入子網路的「名稱」和「說明」 (選填)。
    3. 選取子網路的「區域」
    4. 輸入要用於子網路的「IP 範圍」,然後按一下「新增」
  5. 按一下 [儲存]

gcloud

如要更新用於這項服務連結的 Private Service Connect 子網路,請使用 gcloud compute service-attachments update 指令

gcloud compute service-attachments update ATTACHMENT_NAME \
    --region=REGION \
    --nat-subnets=PSC_SUBNET_LIST

更改下列內容:

  • ATTACHMENT_NAME:服務附件的名稱。

  • REGION:服務附件所在的區域。

  • PSC_SUBNET_LIST:以半形逗號分隔的清單,列出一或多個要用於這項服務附件的子網路。

API

  1. 如要取得服務附件的 fingerprint,請向 serviceAttachments.get 方法傳送要求。

    HTTP 方法和網址:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
    

    更改下列內容:

    • PROJECT_ID:服務附件的專案。
    • REGION:服務連結的區域。
    • ATTACHMENT_NAME:服務連結的名稱。

    請記下 fingerprint 值,您會在下一個步驟中使用。

  2. 如要更新用於這個服務連結的 Private Service Connect 子網路,請傳送要求至 serviceAttachments.patch 方法

    HTTP 方法和網址:

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
    

    JSON 要求主體:

    {
      "natSubnets": [
      "PSC_SUBNET1_URI",
      "PSC_SUBNET2_URI"
      ],
      "fingerprint": "FINGERPRINT"
    }
    

    更改下列內容:

    • PROJECT_ID:服務附件的專案。

    • REGION:服務連結的區域。

    • ATTACHMENT_NAME:服務附件的名稱。

    • PSC_SUBNET1_URIPSC_SUBNET2_URI:要搭配這個服務連結使用的子網路 URI。您可以指定一或多個子網路。

    • FINGERPRINT:您在上一個步驟中找到的服務附件最新指紋。

更新目標服務

對於支援的設定,您可以更新服務連結,以指定其他服務。如要瞭解支援的設定和限制,請參閱「服務可變動性」。

更新目標服務時,流量會短暫中斷。不過,系統不會自動通知消費者服務中斷,更新目標服務也不會影響已連線消費者的連線狀態

準備更新

以下各節的步驟為選用步驟。在大多數情況下,您可以略過「更新服務附件」一節,除非您想執行下列操作:

  • 如要明確向消費者傳達停機訊息,請將連線狀態更新為 REJECTED,並完成「向消費者傳達停機訊息」一節中的步驟。
  • 如要建立測試執行個體,以便在服務連線恢復時進行驗證,請完成「準備測試消費者」一節中的步驟。

在更新期間向消費者發出停機時間信號

如要明確告知消費者服務無法使用,請完成下列選用步驟:

  1. 確認服務連結已啟用連線協調功能。
  2. 將接受清單中的所有消費者新增至拒絕清單。這會將連線狀態變更為 REJECTED
  3. 更新完成後,請從拒絕清單中移除消費者,將連線狀態轉移回 ACCEPTED

準備測試消費者

如要確認服務連線能力何時恢復,您可以選擇從測試執行個體傳送探測封包至服務。如要設定測試,請按照下列步驟操作:

  1. 在專案中建立測試虛擬私有雲網路
  2. 在測試虛擬私有雲網路中,執行下列操作:
  3. 準備下列其中一種方式來測試連線:

更新服務連結

如要更新服務附件的目標服務,請按照下列步驟操作。

如要更新為內部通訊協定轉送目標服務,或從這類服務更新,請務必使用 gcloud CLI 或傳送 API 要求。

控制台

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

    前往 Private Service Connect

  2. 按一下「Published services」(發布的服務) 分頁標籤。

  3. 按一下要更新的服務。

  4. 按一下「編輯服務詳細資料」

  5. 選取新目標服務的負載平衡器類型。

  6. 選取新目標服務的轉送規則。

  7. 按一下 [儲存]

gcloud

使用 gcloud compute service-attachments update 指令。

gcloud compute service-attachments update ATTACHMENT_NAME \
    --region=REGION \
    --target-service=TARGET_SERVICE

更改下列內容:

  • ATTACHMENT_NAME:要更新的服務附件名稱。
  • REGION:服務連結的區域。
  • TARGET_SERVICE:新目標服務的 URI,格式如下: projects/PROJECT_ID/regions/RULE_REGION/forwardingRules/RULE_NAME

API

  1. 如要取得服務附件的 fingerprint,請向 serviceAttachments.get 方法傳送要求。

    HTTP 方法和網址:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
    

    更改下列內容:

    • PROJECT_ID:服務附件的專案。
    • REGION:服務連結的區域。
    • ATTACHMENT_NAME:服務連結的名稱。

    請記下 fingerprint 值,您會在下一個步驟中使用。

  2. serviceAttachments.patch 方法傳送要求

    HTTP 方法和網址:

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
    

    JSON 要求主體:

    {
      "targetService": "TARGET_SERVICE",
      "fingerprint": "FINGERPRINT"
    }
    

    更改下列內容:

    • TARGET_SERVICE:新目標服務的 URI,格式如下: projects/PROJECT_ID/regions/RULE_REGION/forwardingRules/RULE_NAME
    • FINGERPRINT:您在上一個步驟中找到的服務附件最新指紋。

驗證更新並還原存取權

如果您已建立測試用的虛擬私有雲網路和執行個體,請確認更新完成且服務可用。這個步驟為選用步驟。 執行下列其中一個步驟:

  • 如果您使用 Connectivity Tests 建立測試,請重新執行測試。如果測試的即時資料層分析顯示所有封包都已成功傳送,即表示更新完成。
  • 從測試執行個體手動傳送探測封包至目標服務。 執行個體成功收到回應後,更新作業就會完成。

連線恢復後,請按照下列步驟操作:

  1. 如果已將消費者加入拒絕名單,請從拒絕名單中移除他們,表示服務可供使用。
  2. 如果您建立資源來確認更新是否完成,請按照下列步驟刪除資源,以免產生不必要的費用:
    1. 刪除測試執行個體
    2. 刪除測試 Private Service Connect 端點
    3. 刪除測試虛擬私有雲網路

更新已發布服務的傳播連線限制

您可以更新服務連結的傳播連線數量限制。 提高限制後,系統會 Google Cloud 自動檢查是否可以建立任何待處理的傳播連線。減少限制時,現有的傳播連線不會受到影響。不過,如果達到新上限,系統可能會封鎖重新建立已刪除或遭拒絕的傳播連線。

控制台

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

    前往 Private Service Connect

  2. 按一下「Published services」(發布的服務) 分頁標籤。

  3. 按一下要更新的服務,然後點選「編輯服務詳細資料」

  4. 按一下「進階設定」

  5. 輸入新的 NCC 傳播連線數量限制

gcloud

使用 gcloud compute service-attachments update 指令。

gcloud compute service-attachments update ATTACHMENT_NAME \
    --region=REGION \
    --propagated-connection-limit=LIMIT

更改下列內容:

  • ATTACHMENT_NAME:服務附件的名稱。

  • REGION:服務附件所在的區域。

  • LIMIT:傳播連線限制的新值。

API

  1. 如要取得服務附件的 fingerprint,請向 serviceAttachments.get 方法傳送要求。

    HTTP 方法和網址:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
    

    更改下列內容:

    • PROJECT_ID:服務附件的專案。
    • REGION:服務連結的區域。
    • ATTACHMENT_NAME:服務連結的名稱。

    請記下 fingerprint 值,您會在下一個步驟中使用。

  2. serviceAttachments.patch 方法傳送要求

    HTTP 方法和網址:

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
    

    JSON 要求主體:

    {
      "propagatedConnectionLimit": LIMIT,
      "fingerprint": "FINGERPRINT"
    }
    

    更改下列內容:

    • PROJECT_ID:服務附件的專案。

    • REGION:服務連結的區域。

    • ATTACHMENT_NAME:服務附件的名稱。

    • LIMIT:傳播連線限制的新值。

    • FINGERPRINT:您在上一個步驟中找到的服務附件最新指紋。