创建和管理网络连接
本页面介绍使用方网络管理员如何创建和管理 Private Service Connect 网络连接。网络连接允许服务提供方 VPC 网络发起与使用方 VPC 网络的连接。
准备工作
- 您必须在项目中启用 Compute Engine API。
- 如果要手动指定哪些项目可以连接到网络连接,则需要知道这些项目的 ID。
角色
如需获得创建、查看和删除网络连接所需的权限,请让管理员针对您的项目向您授予 Compute Network Admin (roles/compute.networkAdmin
) IAM 角色。
如需详细了解如何授予角色,请参阅管理访问权限。
创建子网
创建网络连接时,可以为它分配一个常规子网。子网必须与网络连接位于同一区域。一个子网可以在多个网络连接之间共享。
当网络连接接受来自 Private Service Connect 接口的连接时,Google Cloud 会为该接口分配子网主要 IP 地址范围中的一个 IP 地址。如果子网为双栈,则提供方可以在创建时指定 Google Cloud 是仅为关联的 Private Service Connect 接口分配 IPv4 地址,还是同时分配 IPv4 和 IPv6 地址。
如需详细了解如何创建子网,请参阅创建和管理 VPC 网络。
创建网络连接
网络连接是区域级资源,表示 Private Service Connect 接口连接的使用方端。如需成功创建虚拟机实例,网络连接必须与关联的 Private Service Connect 接口的虚拟机位于同一区域。
网络连接的连接政策确定网络连接是否可以接受来自 Private Service Connect 接口的连接。
您可以更新网络连接的子网、接受列表、拒绝列表和说明。
创建一个可以手动接受连接的网络连接
您可以创建一个可手动接受连接的网络连接。在创建此类型的连接之前,请确保您知道要接受的项目的 ID。
控制台
在 Google Cloud 控制台中,转到 Private Service Connect。
点击网络连接。
点击创建网络连接。
输入名称。
选择网络。
选择区域。
选择子网。
点击接受选定项目的连接。
点击添加接受的项目,然后输入作为您要接受的连接的来源的每个项目 ID。
可选:点击添加拒绝的项目,然后输入作为您要明确拒绝的连接的来源的每个项目 ID。
点击创建网络连接。
gcloud
使用 network-attachments create
命令。
gcloud compute network-attachments create ATTACHMENT_NAME \ --region=REGION \ --connection-preference=ACCEPT_MANUAL \ --producer-accept-list=ACCEPTED_PROJECTS \ --producer-reject-list=REJECTED_PROJECTS \ --subnets=SUBNET_NAME
替换以下内容:
ATTACHMENT_NAME
:网络连接的名称。REGION
:网络连接的区域。ACCEPTED_PROJECTS
:可以连接到此网络连接的项目的 ID。您可以在逗号分隔列表中包含多个值。REJECTED_PROJECTS
:无法连接到此网络连接的项目的 ID。您可以在逗号分隔列表中包含多个值。SUBNET_NAME
:与此网络连接关联的子网的名称。
API
向 networkAttachments.insert
方法发出 POST
请求。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/networkAttachments { "connectionPreference": "ACCEPT_MANUAL", "name": "ATTACHMENT_NAME", "producerAcceptLists": [ "ACCEPTED_PROJECT_LIST" ], "producerRejectLists": [ "REJECTED_PROJECT_LIST" ], "subnetworks": [ "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME" ] }
替换以下内容:
PROJECT_ID
:要在其中创建网络连接的项目的 ID。REGION
:网络连接的区域ATTACHMENT_NAME
:网络连接的名称ACCEPTED_PROJECT_LIST
:可以连接到此网络连接的项目的 ID。您可以按照以下形式添加多个 ID:"id-one", "id-two"
。REJECTED_PROJECT_LIST
:无法连接到此网络连接的项目的 ID。您可以按照以下形式添加多个 ID:"id-one", "id-two"
。SUBNET_NAME
:要与网络连接关联的子网的名称。
创建一个可以自动接受连接的网络连接
您可以创建一个网络连接,以自动接受与该网络连接关联的任何 Private Service Connect 接口发出的连接。
控制台
在 Google Cloud 控制台中,转到 Private Service Connect。
点击网络连接。
点击创建网络连接。
输入名称。
选择网络。
选择区域。
选择子网。
点击自动接受所有项目的连接。
点击创建网络连接。
gcloud
使用 network-attachments create
命令。
gcloud compute network-attachments create ATTACHMENT_NAME \ --region=REGION \ --connection-preference=ACCEPT_AUTOMATIC \ --subnets=SUBNET_NAME
替换以下内容:
ATTACHMENT_NAME
:网络连接的名称。REGION
:网络连接的区域。SUBNET_NAME
:与此网络连接关联的子网的名称。
API
向 networkAttachments.insert
方法发出 POST
请求。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/networkAttachments { "connectionPreference": "ACCEPT_AUTOMATIC", "name": "ATTACHMENT_NAME", "subnetworks": [ "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME" ] }
替换以下内容:
PROJECT_ID
:要在其中创建网络连接的项目的 ID。REGION
:网络连接的区域ATTACHMENT_NAME
:网络连接的名称SUBNET_NAME
:要与网络连接关联的子网的名称。
列出网络连接
控制台
在 Google Cloud 控制台中,转到 Private Service Connect。
点击网络连接。
gcloud
如需列出项目中的所有网络连接,请使用
network-attachments list
命令。gcloud compute network-attachments list
如需列出给定区域中的网络连接,请使用
network-attachments list
命令,并指定区域。gcloud compute network-attachments list --regions=REGIONS
将
REGIONS
替换为要列出的网络连接所在的区域。您可以在逗号分隔列表中包含多个区域。
API
如需列出给定区域中的网络连接,请向 networkAttachments.list
方法发出 GET
请求。
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/networkAttachments
替换以下内容:
PROJECT_ID
:项目的 ID。REGION
:网络连接的区域。
描述网络连接
您可以描述网络连接以查看其详细信息,包括关联的 Private Service Connect 接口连接。对于每个连接,您可以查看 Private Service Connect 接口已分配的 IP 地址。
控制台
在 Google Cloud 控制台中,转到 Private Service Connect。
点击网络连接。
选择网络连接以查看其详细信息和连接的项目列表。
如需查看项目的各个 Private Service Connect 接口连接,请点击该项目的名称。
项目的连接状态不一定决定了来自该项目的 Private Service Connect 接口连接的状态。例如,如果您在接受了来自该项目的连接后将该项目添加到拒绝列表,则该项目状态会被拒绝,但现有连接会保持打开状态。来自该项目的新连接会被拒绝。
gcloud
使用 network-attachments describe
命令。
gcloud compute network-attachments describe ATTACHMENT_NAME \ --region=REGION
替换以下内容:
ATTACHMENT_NAME
:要描述的网络连接的名称。REGION
:网络连接的区域
API
如需描述网络连接并查看其详细信息,请向 networkAttachments.get
方法发出 GET
请求。
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/networkAttachments/ATTACHMENT_NAME
替换以下内容:
PROJECT_ID
:项目的 ID。REGION
:网络连接的区域。ATTACHMENT_NAME
:网络连接的名称。
更新网络连接
您可以更新网络连接,方法是替换其子网、说明或(对于为手动接受连接而创建的网络连接)接受或拒绝列表。如果您需要更新其他字段,请删除网络连接,然后创建新连接。
如果您替换网络连接的子网,则现有连接不会受到影响。更新后创建的连接会使用新子网中的 IP 地址。
如果您替换网络连接的接受或拒绝列表,则现有连接不受影响。系统会根据更新后的列表接受或拒绝更新后创建的连接。
如需更新网络连接,您必须使用 Google Cloud 控制台或发送 API 请求。不支持使用 Google Cloud CLI 更新网络连接。
控制台
在 Google Cloud 控制台中,转到 Private Service Connect。
点击网络连接。
点击要更新的网络连接,然后点击修改。
如需替换网络连接的子网,请点击子网,然后选择新的子网。
如需更新接受列表,请执行以下操作:
- 如需将项目添加到接受列表,请点击添加接受的项目,然后输入要接受的项目的 ID 或编号。
- 如需从接受列表中移除项目,请将指针悬停在该项目上,然后点击 删除接受的项目。
如需更新拒绝列表,请执行以下操作:
- 如需将项目添加到拒绝列表,请点击添加拒绝的项目,然后输入要拒绝的项目的 ID 或编号。
- 如需从拒绝列表中移除项目,请将指针悬停在该项目上,然后点击 删除拒绝的项目。
点击更新网络连接。
API
- 发送 API 请求,以描述要更新的网络连接。
- 记下网络连接的
fingerprint
字段的值。 向
networkAttachments.patch
方法发出PATCH
请求。 在请求正文中,忽略您不想替换的所有字段,fingerprint
除外。PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/networkAttachments/ATTACHMENT_NAME { "fingerprint": "FINGERPRINT", "producerAcceptLists": [ "ACCEPTED_PROJECT_LIST" ], "producerRejectLists": [ "REJECTED_PROJECT_LIST" ], "subnetworks": [ "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME" ], "description": "DESCRIPTION" }
替换以下内容:
PROJECT_ID
:项目的 ID。REGION
:网络连接的区域。ATTACHMENT_NAME
:网络连接的名称。FINGERPRINT
:您在第 2 步中找到的指纹字段的值。ACCEPTED_PROJECT_LIST
:可以连接到此网络连接的项目的 ID。您可以按照以下形式添加多个 ID:"id-one", "id-two"
。此列表的更新会替换之前接受的任何项目列表。REJECTED_PROJECT_LIST
:无法连接到此网络连接的项目的 ID。您可以按照以下形式添加多个 ID:"id-one", "id-two"
。此列表的更新会替换之前任何被拒绝的项目列表。SUBNET_NAME
:要与网络连接关联的新子网的名称。DESCRIPTION
:网络连接的更新说明。
删除网络连接
如果网络连接没有任何连接,您可以将其删除。如果您想要删除具有连接的网络连接,则提供方必须先删除关联的 Private Service Connect 接口。
如果您删除网络连接,然后创建同名的新连接,则 Google Cloud 会将网络连接视为两个单独的资源。
控制台
在 Google Cloud 控制台中,转到 Private Service Connect。
点击网络连接。
选择一个网络连接,然后点击删除。
再次点击删除进行确认。
gcloud
使用 network-attachments delete
命令。
gcloud compute network-attachments delete ATTACHMENT_NAME \ --region=REGION
替换以下内容:
ATTACHMENT_NAME
:要描述的网络连接的名称。REGION
:网络连接的区域
API
向 networkAttachments.delete
方法发出 DELETE
请求。
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/networkAttachments/ATTACHMENT_NAME
替换以下内容:
PROJECT_ID
:项目的 ID。REGION
:网络连接的区域。ATTACHMENT_NAME
:网络连接的名称。