创建和管理网络连接
本页面介绍使用方网络管理员如何创建和管理 Private Service Connect 网络连接。网络连接允许服务提供方 VPC 网络发起与使用方 VPC 网络的连接。
准备工作
- 您必须在项目中启用 Compute Engine API。
- 如果要手动指定哪些项目可以连接到网络连接,则需要知道这些项目的 ID。
角色
如需获得创建、查看和删除网络连接所需的权限,请让管理员向您授予项目的 Compute Network Admin (roles/compute.networkAdmin
) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
创建子网
创建网络连接时,可以为它分配一个常规子网。子网必须与网络连接位于同一区域。一个子网可以在多个网络连接之间共享。 子网可以是仅 IPv4 或双栈。双栈子网必须使用内部 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
:网络连接的区域
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 控制台中,转到 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
:网络连接的名称。