管理已发布的服务

本页面介绍了如何管理对已发布服务的访问请求、如何更改已发布服务的连接偏好设置,以及如何配置连接协调。

每个服务连接都有一个连接偏好设置,用于控制是否自动接受连接。

  • 自动接受所有连接。服务连接会自动接受来自任何使用方的所有入站连接请求。
  • 明确接受来自所选使用方的连接。仅当使用方在服务连接的使用方接受列表中时,服务连接才会接受入站连接请求。您可以按项目、VPC 网络或单独的 Private Service Connect 端点(预览版)指定使用方。您不能在同一使用方接受或拒绝列表中包含不同类型的使用方。

对于任一连接偏好设置,已被接受的连接都可能会被阻止传入连接的组织政策覆盖并被拒绝。

我们建议您明确接受来自所选使用方的连接。如果您通过其他方式控制使用方访问权限并希望启用对服务的宽松访问权限,则自动接受所有连接可能比较合适。

如需详细了解如何发布服务,请参阅发布服务

角色

以下 IAM 角色提供了执行本指南中的任务所需的权限。

管理对已发布服务的访问请求

如果您已发布了经过明确批准的服务,则可以根据使用方项目、VPC 网络或 Private Service Connect 端点来接受或拒绝连接请求。

默认情况下,对使用方列表的更改只会影响新的或待处理的连接。除非您已启用连接协调,否则之前接受的连接不会终止。

如果您将同一使用方同时添加到接受列表和拒绝列表,则来自该使用方的连接请求会被拒绝。

您可以将列表从一种使用方类型更改为另一种使用方类型(例如,从项目更改为 Private Service Connect 端点),但必须在单次更新中进行此项更改。否则,请求将失败。

如需根据各个 Private Service Connect 端点(预览版)接受或拒绝连接,请使用 Google Cloud CLI 或发送 API 请求。

控制台

  1. 在 Google Cloud 控制台中,前往 Private Service Connect 页面。

    转到 Private Service Connect

  2. 点击已发布服务标签页。

  3. 点击要管理的服务。

  4. 已连接的项目部分列出了已尝试连接到此服务的项目。选中一个或多个项目旁边的复选框,然后点击接受项目拒绝项目

gcloud

  1. 如需查看您要修改的服务连接的现有连接和待处理连接,请使用 gcloud beta compute service-attachments describe 命令

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

    替换以下内容:

    • ATTACHMENT_NAME:服务连接的名称。
    • REGION:服务连接的区域。

    输出类似于以下示例。如果存在任何待处理的使用方连接,则这些连接会以 PENDING 状态列出。 endpointWithId 字段中会显示 Private Service Connect 端点的基于 ID 的 URI,您可以使用该 URI 接受或拒绝各个端点。

    在此示例输出中,项目 CONSUMER_PROJECT_1 位于接受列表中,因此接受 ENDPOINT_1 并且可以连接到相应服务。项目 CONSUMER_PROJECT_2 不在接受列表中,因此 ENDPOINT_2 处于待处理状态。将 CONSUMER_PROJECT_2 添加到接受列表后,ENDPOINT_2 的状态会更改为 ACCEPTED,并且端点可以连接到相应服务。

    connectedEndpoints:
    - consumerNetwork: https://www.googleapis.com/compute/beta/projects/CONSUMER_PROJECT_1/global/networks/CONSUMER_NETWORK_1
      endpoint: https://www.googleapis.com/compute/beta/projects/CONSUMER_PROJECT_1/regions/REGION_1/forwardingRules/ENDPOINT_1
      endpointWithId: https://www.googleapis.com/compute/beta/projects/CONSUMER_PROJECT_1/regions/REGION_1/forwardingRules/RESOURCE_ID_1
      pscConnectionId: 'ENDPOINT_1_ID'
      status: ACCEPTED
    - consumerNetwork: https://www.googleapis.com/compute/beta/projects/CONSUMER_PROJECT_2/global/networks/CONSUMER_NETWORK_2
      endpoint: https://www.googleapis.com/compute/beta/projects/CONSUMER_PROJECT_2/regions/REGION_2/forwardingRules/ENDPOINT_2
      endpointWithId: https://www.googleapis.com/compute/beta/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/beta/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. 如需接受或拒绝使用方连接,请执行以下操作。

    • 如需根据项目或 VPC 网络接受或拒绝使用方,请使用 gcloud compute service-attachments update 命令

      您可以指定 --consumer-accept-list 和/或 --consumer-reject-list。您可以在 --consumer-accept-list--consumer-reject-list 中指定多个值。 您可以添加 VPC 项目或网络,但不能同时添加项目和网络。

      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 beta compute service-attachments update 命令

      gcloud beta 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/beta/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,您可以使用该 URI 接受或拒绝各个端点。

    请记下 fingerprint 值,您会在下一步中使用它。

  2. 如需接受或拒绝使用方项目或网络,请向 serviceAttachments.patch 方法发送请求。

    您可以按项目或 VPC 网络在接受和拒绝使用方之间进行更改,但不能在同一请求中同时添加项目和网络。

    • 如需根据项目接受或拒绝使用方,请发送以下请求。

      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:您在上一步中获取的服务连接最新指纹。
    • 如需根据 VPC 网络接受或拒绝使用方,请发送以下请求。

      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/beta/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/beta/projects/consumer-project/regions/us-central1/forwardingRules/1234567890

        此列表是可选的。

      • REJECTED_ENDPOINT_URI_1REJECTED_ENDPOINT_URI_2:要拒绝的一个或多个 Private Service Connect 端点的基于 ID 的 URI。此列表是可选的。

更改已发布服务的连接偏好设置

对于已发布服务,您可以在自动接受项目与显式接受项目之间切换。

从自动接受更改为显式接受并不会影响在此更改之前连接到服务的使用方端点。 现有的使用方端点仍可连接到已发布的服务,直到服务连接被删除为止。新的使用方端点只有在被接受后,才能连接到该服务。如需了解详情,请参阅管理对已发布服务的访问请求

控制台

  1. 在 Google Cloud 控制台中,前往 Private Service Connect 页面。

    转到 Private Service Connect

  2. 点击已发布服务标签页。

  3. 点击要更新的服务,然后点击修改服务详细信息

  4. 选择所需的连接偏好设置:

    • 接受选定项目的连接
    • 接受选定网络的连接
    • 自动接受所有连接
  5. 可选:如果您要切换为接受选定项目的连接,则可以提供要允许的项目的详细信息,也可以稍后再添加。

    1. 点击添加接受的项目
    2. 输入项目连接限制
  6. 可选:如果您要切换为接受选定网络的连接,则可以提供要允许的网络的详细信息,也可以稍后再添加。

    1. 点击添加接受的网络
    2. 输入项目网络连接限制
  7. 点击保存

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,并根据 VPC 网络更新使用方接受和拒绝列表,请发出以下请求。

      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 步中获取的服务连接最新指纹。

配置连接协调

您可以为现有服务连接启用或停用连接协调功能。

控制台

  1. 在 Google Cloud 控制台中,前往 Private Service Connect 页面。

    转到 Private Service Connect

  2. 点击已发布服务标签页。

  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,则移除子网将失败。

如果您更改了子网配置,请更新防火墙规则以允许来自新子网的请求到达后端虚拟机。

控制台

  1. 在 Google Cloud 控制台中,前往 Private Service Connect 页面。

    转到 Private Service Connect

  2. 点击已发布服务标签页。

  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:您在上一步中获取的服务连接最新指纹。

更新已发布服务的传播连接数限制

您可以更新服务连接的传播连接数限制。当您提高限制时, Google Cloud 会自动检查是否可以创建任何待处理的传播连接。当您降低此限制时,现有的传播连接不受影响。但是,如果达到新限制,则尝试重新建立已删除或已拒绝的传播连接可能会被阻止。

控制台

  1. 在 Google Cloud 控制台中,前往 Private Service Connect 页面。

    转到 Private Service Connect

  2. 点击已发布服务标签页。

  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:您在上一步中获取的服务连接最新指纹。