创建和管理网络连接
本页面介绍使用方网络管理员如何创建和管理 Private Service Connect 网络连接。网络连接允许服务提供方 VPC 网络发起与使用方 VPC 网络的连接。
准备工作
- 您必须在项目中启用 Compute Engine API。
- 如果要手动指定哪些项目可以连接到网络连接,则需要知道这些项目的 ID。
角色
如需获得创建、查看和删除网络连接所需的权限,请让您的管理员为您授予项目的 Compute Network Admin (roles/compute.networkAdmin) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
创建子网
创建网络连接时,可以为它分配一个常规子网。子网必须与网络连接位于同一区域。一个子网可以在多个网络连接之间共享。 具有双栈或仅 IPv6 堆栈类型的子网必须使用内部 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:网络连接的区域
已连接的 Private Service Connect 接口会以以下格式显示:
connectionEndpoints:
- ipAddress: 10.6.0.59
projectIdOrNum: '123456789'
status: ACCEPTED
subnetwork: https://www.googleapis.com/compute/v1/projects/consumer-project-id/regions/us-central1/subnetworks/consumer-subnet
- ipAddress: 10.6.0.11
projectIdOrNum: '987654321'
status: ACCEPTED
subnetwork: https://www.googleapis.com/compute/v1/projects/consumer-project-id/regions/us-central1/subnetworks/consumer-subnet
```
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:网络连接的名称。
已连接的 Private Service Connect 接口会以以下格式显示:
"connectionEndpoints": [
{
"status": "ACCEPTED",
"projectIdOrNum": "123456789",
"subnetwork": "https://www.googleapis.com/compute/v1/projects/consumer-project-id/regions/us-central1/subnetworks/consumer-subnet-1",
"ipAddress": "10.6.0.11"
},
{
"status": "ACCEPTED",
"projectIdOrNum": "987654321",
"subnetwork": "https://www.googleapis.com/compute/v1/projects/consumer-project-id/regions/us-central1/subnetworks/consumer-subnet-2",
"ipAddress": "10.6.0.59"
}
]
更新网络连接
您可以更新网络连接,方法是替换其子网、说明或(对于为手动接受连接而创建的网络连接)接受或拒绝列表。如果您需要更新其他字段,请删除网络连接,然后创建新连接。
如果您替换网络连接的子网,则现有连接不会受到影响。更新后创建的连接会使用新子网中的 IP 地址。
如果您替换网络连接的接受或拒绝列表,则现有连接不受影响。系统会根据更新后的列表接受或拒绝更新后创建的连接。
控制台
在 Google Cloud 控制台中,前往 Private Service Connect 页面:
点击网络连接。
点击要更新的网络连接,然后点击修改。
如需替换网络连接的子网,请点击子网,然后选择新的子网。
如需更新接受列表,请执行以下操作:
- 如需将项目添加到接受列表,请点击添加接受的项目,然后输入要接受的项目的 ID 或编号。
- 如需从接受列表中移除项目,请将指针悬停在该项目上,然后点击 删除接受的项目。
如需更新拒绝列表,请执行以下操作:
- 如需将项目添加到拒绝列表,请点击添加拒绝的项目,然后输入要拒绝的项目的 ID 或编号。
- 如需从拒绝列表中移除项目,请将指针悬停在该项目上,然后点击 删除拒绝的项目。
点击更新网络连接。
gcloud
使用 network-attachments update 命令。
您可以更新此处列出的一个或多个字段,但 region 除外,因为它用于标识网络连接。如果您更新网络连接的接受或拒绝列表,则必须在一次更新中替换整个列表。
gcloud compute network-attachments update ATTACHMENT_NAME \
--region=REGION \
--subnets=SUBNET \
--producer-accept-list=ACCEPTED_PROJECTS \
--producer-reject-list=REJECTED_PROJECTS \
--description=DESCRIPTION
替换以下内容:
ATTACHMENT_NAME:网络连接的名称。REGION:网络连接的区域。 此标志用于标识网络连接。您无法更新网络连接的区域。SUBNET:与此网络连接关联的子网的名称。ACCEPTED_PROJECTS:可以连接到此网络连接的项目的 ID。您可以在逗号分隔列表中包含多个值。 您在此处指定的列表会替换现有的接受列表。REJECTED_PROJECTS:无法连接到此网络连接的项目的 ID。您可以在逗号分隔列表中包含多个值。 您在此处指定的列表会替换现有的拒绝列表。DESCRIPTION:网络连接的说明。
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:网络连接的名称。
后续步骤
- 创建 Private Service Connect 接口,该接口与网络连接相关联。
- 为具有网络连接的网络配置安全性。
- 在具有 Private Service Connect 接口连接的网络中管理目的地重叠。