No results found
We couldn't find anything using that term, please try searching for something else.
2024-11-26 完成本页面上的以下步骤,了解如何运行 Connectivity Tests。 如需修改或删除一个或多个测试,请参阅更新或删除测试。 如需了解 Connectivity Tests,请参阅概览。 准备工作 请先在 Google Cloud 中设置以下各项,然后才能使用 Connectivity
完成本页面上的以下步骤,了解如何运行 Connectivity Tests。
如需修改或删除一个或多个测试,请参阅更新或删除测试。
如需了解 Connectivity Tests,请参阅概览。
请先在 Google Cloud 中设置以下各项,然后才能使用 Connectivity Tests:
在 Google Cloud Console 中,转到项目选择器页面。
转到项目选择器
选择或创建 Google Cloud 项目。
安装 Google Cloud CLI 中的 Google Cloud CLI。如需安装最新版本的 gcloud CLI,请参阅 gcloud CLI 文档。
如需查看所有命令的列表,请参阅 gcloud
命令参考文档。
启用 Network Management API。启用 API 可为您提供以下内容:
使用 Network Management API 的示例 API 调用
您可以使用 API Explorer 测试 Network Management API 命令。在 Network Management API 参考文档中,使用 Try this API
列了解 API 字段,并运行测试。
使用 API Python 客户端的示例代码
示例代码假设您已构建名为 api
的资源以与 Network Management API 交互。如需构建资源,请使用 build
函数。请参阅以下示例:
from googleapiclient.discovery import build api = build('networkmanagement', 'v1')
如需详细了解 API Python 客户端,请参阅以下内容:
运行 Connectivity Tests 测试时,测试输入应采取无源端口的 5 元组形式提供。
以下各个部分介绍了如何对常见用例中所述的来源端点和目标端点运行测试。
在 Google Cloud 控制台中,您可以使用以下任一方式运行 Connectivity Tests:
您创建的每个测试都会在您创建后立即运行,并存储在 Connectivity Tests 资源中。测试会一直存在,直到您将其删除。
如需在测试操作运行时检查其状态,请参阅检查正在运行的测试操作。 测试操作的示例包括 create
和 rerun
。
当使用 IP 地址作为来源端点或目标端点时,可能需要指定其他字段。
当测试共享 VPC 服务项目中的端点(虚拟机或 IP 地址)时,从服务项目中运行测试更为方便。这是因为您可以从 Google Cloud 控制台中的下拉框中选择虚拟机或 IP 地址。
但是,您仍然必须先指定宿主项目,然后再指定 Virtual Private Cloud (VPC) 网络,因为该网络位于宿主项目中。如需了解详情,请参阅在共享 VPC 网络中测试 IP 地址。
在 VPC 网络和对等网络或本地网络之间运行测试时,使用本地 IP 地址作为来源端点,并使用 VPC 网络中的虚拟机实例或 IP 地址作为目标端点有助于运行另一个 Connectivity Tests 测试。
这类测试可验证 Google Cloud 是否按预期将路由发布到本地网络。但是,Connectivity Tests 不会验证本地网络是否已接收并实现了这些路由。
Connectivity Tests 需要 20 秒到 120 秒才能接收到配置更新并将其整合到分析中。如果您在配置更改后立即运行测试,则可能无法看到预期的结果。确保在更改配置后等待足够长的时间再运行测试。
此延迟不适用于实时数据平面分析。因此,您可能会看到实时数据平面分析和配置分析显示的结果之间存在暂时不匹配的情况。例如,如果添加防火墙规则,则实时数据平面分析可能能够访问该规则。但是,您可能需要等待一段时间,配置分析才能访问该防火墙规则。
本部分介绍如何在虚拟机的非主要网络接口之间进行测试。
如果您指定具有多个网络接口的虚拟机实例作为测试的来源或目标,则 Connectivity Tests 会提示您从列表中选择网络接口。
或者,从 Compute Engine 虚拟机实例网络接口的网络接口详情页面中运行测试。如果您使用此页面,则必须使用当前网络接口作为测试的来源或目标。
您必须通过以下任一方式指定用于测试的网络接口:
仅为具有多个接口的虚拟机提供 URI,只会选择虚拟机的主接口。
前往 Connectivity Tests
如需列出项目拥有的所有测试,请输入以下 gcloud
命令。此命令会显示当前所选项目中的测试。
gcloud network-management connectivity-tests list
如需列出特定项目中的测试,请指定 。
gcloud network-management connectivity-tests list --project=
以下示例代码列出了项目拥有的所有现有测试。如需了解详情,请参阅 Python 版 Google API 客户端库中的 list
。
project_id = "" parent = 'projects/%s/locations/global' % project_id request = api.projects().locations().global_().connectivityTests().list(parent=parent)
print(json.dumps(request.execute(), indent=4))
将 替换为包含所要列出测试的项目的 ID。
这些步骤假定两个虚拟机实例都在同一个 Google Cloud 项目中。
在 Google Cloud 控制台中,前往 Connectivity Tests 页面。
前往 Connectivity Tests
school其余步骤会自动显示在 Google Cloud 控制台中。
选择创建 Connectivity Tests 测试。
对于来源,请进行以下设置:
在来源网络接口菜单中,选择网络接口。
如果虚拟机实例具有多个网络接口,请选择一个虚拟机网络接口,以唯一标识来源位置。
对于目标,执行以下操作:
在目标网络接口菜单中,选择网络接口。
如果虚拟机实例具有多个网络接口,请选择一个虚拟机网络接口,以唯一标识目标位置。
注意:对于
双栈实例
来源和目标 IP 地址的类型必须相同。例如,您不能
从具有 IPv4 地址的虚拟机到具有 IPv6 地址的虚拟机进行的测试。
测试完成后,系统会加载 Connectivity Tests 的主页面,并显示包含此测试和其他测试的列表。
继续查看测试结果。
前往“虚拟机实例”
对于网络接口,选择要用于运行测试的网络接口。
如果虚拟机实例具有多个网络接口,请选择一个虚拟机网络接口,以唯一标识目标位置。
对于网络分析,点击创建 Connectivity Tests 测试,然后执行
以下:
在来源部分,您可以选择当前网络接口
或其他。
如果您选择当前网络接口,请执行以下操作:
以下:
如果您选择其他,请执行以下操作:
在目标端口字段中,输入指定目标的目标端口。
点击创建。
测试完成后,系统会加载 Connectivity Tests 的主页面,并显示包含此测试和其他测试的列表。继续查看测试结果。
将示例值替换为来自 VPC 网络的值。
gcloud network-management connectivity-tests create \ --source-instance= \ --source-ip-address= \ --destination-instance= \ --destination-ip-address= \ --destination-port= \ --protocol=
请替换以下内容:
:Connectivity Tests 测试的名称。
:来源虚拟机的 URI,例如 projects/myproject/zones/us-east1-b/instances/instance-1
。
:您要测试的来源虚拟机实例的 IP 地址。该 IP 地址应为来源虚拟机实例的 IP 地址之一。
:目标虚拟机的 URI,例如 projects/myproject/zones/us-east1-b/instances/instance-2
。
:您要测试的目标虚拟机实例的 IP 地址。该 IP 地址应为目标虚拟机实例的 IP 地址之一。
:目标的 IP 协议端口。此选项仅适用于 TCP 协议或 UDP 协议。
:连接测试的受支持的协议。默认协议为 TCP
。以下示例测试确定现有网络配置是否允许虚拟机 instance1
ping 虚拟机 instance2
。
使用 projects.locations.global.connectivityTests.create
方法。
POST https: //networkmanagement.googleapis.com/v1/projects//locations/global/connectivityTests?testId=' { "source": { "instance": "", "ipAddress": "", }, "destination": { "instance": "", "ipAddress": "", }, "protocol": "", }'
请替换以下内容:
:来源虚拟机的项目 ID。
:您正在运行的 Connectivity Tests 对象(测试)的 ID。
:来源虚拟机的 URI,例如 projects/myproject/zones/us-east1-b/instances/instance-1
。
:您要测试的来源虚拟机实例的 IP 地址。该 IP 地址应为来源虚拟机实例的 IP 地址之一。
:目标虚拟机的 URI,例如 projects/myproject/zones/us-east1-b/instances/instance-2
。
:您要测试的目标虚拟机实例的 IP 地址。该 IP 地址应为目标虚拟机实例的 IP 地址之一。
:连接测试的受支持的协议。默认协议为 TCP
。以下示例代码在两个虚拟机实例之间创建了测试。如需了解详情,请参阅 Python 版 Google API 客户端库中的 create
。
test_input = { "source": { "instance": "", "ipAddress": "", "projectId": "" }, "destination": { "instance": "", "ipAddress": "", "projectId": "" }, "protocol": "", } request = api.projects().locations().global_().connectivityTests().create( parent="projects//locations/global", testId="", body=test_input) print(json.dumps(request.execute(), indent=4))
请替换以下内容:
:来源虚拟机的 URI,例如 projects/myproject/zones/us-east1-b/instances/instance-1
。
:您要测试的来源虚拟机实例的 IP 地址。该 IP 地址应为来源虚拟机实例的 IP 地址之一。
:来源虚拟机的项目 ID。
:目标虚拟机的 URI,例如 projects/myproject/zones/us-east1-b/instances/instance-2
。
:您要测试的目标虚拟机实例的 IP 地址。该 IP 地址应为目标虚拟机实例的 IP 地址之一。
:目标虚拟机的项目 ID。
:连接测试的受支持的协议。默认协议为 TCP
。
:您要在其中创建测试的项目的 ID。
:您正在运行的 Connectivity Tests 对象(测试)的 ID。此示例假定两个 IP 地址都是同一 Google Cloud 项目和同一 VPC 网络中的专用 IP 地址。
如果要在对等 VPC 网络之间进行测试,请选择每个对等网络的来源网络和目标网络。
在 Google Cloud 控制台中,前往 Connectivity Tests 页面。
前往 Connectivity Tests
其余步骤会显示在 Google Cloud 控制台中。
选择创建 Connectivity Tests 测试。
在来源部分,执行以下操作:
如果 VPC 网络位于其他项目中,请在来源 IP 地址或服务项目字段中,选择网络所在的项目。
如果 IP 地址不在 RFC 1918 地址空间内,请选中我确认源端点位于 RFC 1918 地址空间外的范围内复选框。然后,在来源网络列表中,选择包含来源 IP 地址的网络。
在目标部分,执行以下操作:
如果 VPC 网络位于其他项目中,请在目标 IP 地址或服务项目字段中,选择网络所在的项目。
如果 IP 地址不在 RFC 1918 地址空间内,请选中我确认目标端点位于 RFC 1918 地址空间外的范围中复选框。然后,在目标网络列表中,选择包含目标 IP 地址的网络。
在目标端口字段中,输入有效的目标端口号。该数字必须介于 0 到 65535 之间(含 0 和 65535)。
测试完成后,系统会加载 Connectivity Tests 的主页面,并显示包含此测试和其他测试的列表。继续查看测试结果。
将命令选项的变量替换为 VPC 网络中的值。
gcloud network-management connectivity-tests create \ --source-ip-address= \ --source-network= \ --destination-ip-address= \ --destination-network= \ --destination-port= \ --protocol=
请替换以下内容:
:Connectivity Tests 测试的名称。
:您要测试的来源 IP 地址。
:来源 IP 地址所在的 VPC 网络的 URI,例如 projects/myproject/global/networks/default
。
:您要测试的内部或外部目标 IP 地址。
:目标 IP 地址所在的 VPC 网络的 URI,例如 projects/myproject/global/networks/network-a
。
:目标的 IP 协议端口。此选项仅适用于 TCP 或 UDP 协议。默认值为端口 80
。
:连接测试的受支持的协议。默认协议为 TCP
。如果网络未知,或者您没有访问网络的权限,则可以将网络指定为 GCP_NETWORK
,而不是提供网络 URI。
您无需确认您的 IP 地址是否在 Google Cloud 中,或者来源端点和目标端点是否在 RFC 1918 地址空间之外。系统会根据您的来源和目标 IP 地址自动选择这些参数。
gcloud network-management connectivity-tests create \ --source-ip-address= \ [--source-network-type=GCP_NETWORK] \ --destination-instance= \ --destination-ip-address= \ --destination-port= \ --protocol=
请替换以下内容:
:Connectivity Tests 测试的名称。
:您要测试的来源 IP 地址。
:来源所在的网络类型。在本例中,请使用值 GCP_NETWORK
。
:目标虚拟机的 URI,例如 projects/myproject/zones/us-east1-b/instances/instance-2
。
:您要测试的内部或外部目标 IP 地址。
:目标的 IP 协议端口。此选项仅适用于 TCP 或 UDP 协议。默认值为端口 80
。
:连接测试的受支持的协议。默认协议为 TCP
。当您指定的来源 IP 地址是 Google Cloud 之外的外部 IP 地址时,必须指定 networkType
为 NON_GCP_NETWORK
。将以下命令中的值替换为 VPC 网络中的值。
gcloud network-management connectivity-tests create \ --source-ip-address= \ --source-network-type=NON_GCP_NETWORK \ --destination-ip-address= \ --destination-network= \ --destination-port= \ --protocol=
请替换以下内容:
:Connectivity Tests 测试的名称。
:您要测试的来源 IP 地址。
:来源所在的网络类型。在本例中,请使用值 NON_GCP_NETWORK
。
:您要测试的内部或外部目标 IP 地址。
:目标 IP 地址所在 VPC 网络的 URI,例如 projects/myproject/global/networks/default
。
:目标的 IP 协议端口。此选项仅适用于 TCP 协议或 UDP 协议。
:连接测试的受支持的协议。默认协议为 TCP
。您可以使用 Terraform 资源在 VPC 网络中的两个 IP 地址之间创建测试。
您无需确认您的 IP 地址是否在 Google Cloud 中,或者来源端点和目标端点是否在 RFC 1918 地址空间之外。系统会根据您的来源和目标 IP 地址自动选择这些参数。
本示例测试从来源 IP 地址到目标 IP 地址进行 ping 的能力。
使用 projects.locations.global.connectivityTests.create
方法。
POST https://reachability.googleapis.com/v1/projects//locations/global/connectivityTests?testId=' { "source": { "ipAddress": "", "network": "" }, "destination": { "ipAddress": "", "network": "", "port": "", }, "protocol": "". }'
请替换以下内容:
:来源虚拟机的项目 ID。
:您正在运行的 Connectivity Tests 对象(测试)的 ID。
:您要测试的来源 IP 地址。
:来源 IP 地址所在的 VPC 网络的 URI,例如 projects/myproject/global/networks/default
。
:您要测试的内部或外部目标 IP 地址。
:目标 IP 地址所在 VPC 网络的 URI,例如 projects/myproject/global/networks/network-a
。
:目标的 IP 协议端口。此选项仅适用于 TCP 协议或 UDP 协议。
:连接测试的受支持的协议。默认协议为 TCP
。如果 VPC 网络未知,或者您没有访问网络的权限,则可以将网络指定为 GCP_NETWORK
,而不是提供网络 URI。
您无需确认您的 IP 地址是否在 Google Cloud 中,或者来源端点和目标端点是否在 RFC 1918 地址空间之外。系统会根据您的来源和目标 IP 地址自动选择这些参数。
POST https://reachability.googleapis.com/v1/projects//locations/global/connectivityTests?connectivityTestId=' { "source": { "ipAddress": "", "networkType": "GCP_NETWORK" }, "destination": { "instance": "", "ipAddress": "" }, "protocol": "" }'
请替换以下内容:
:来源虚拟机的项目 ID。
:您正在运行的 Connectivity Tests 对象(测试)的 ID。
:您要测试的来源 IP 地址。
:来源所在的网络类型。在本例中,请使用值 GCP_NETWORK
。
:目标虚拟机的 URI,例如 projects/myproject/zones/us-east1-b/instances/instance-2
。
:您要测试的内部或外部目标 IP 地址。
:连接测试的受支持的协议。默认协议为 TCP
。如果您指定的来源 IP 地址是外部 IP 地址
您必须指定一个 networkType
NON_GCP_NETWORK
。将以下命令中的值替换为 Google Cloud 网络的值。
POST https://reachability.googleapis.com/v1/projects//locations/global/connectivityTests?testId=' { "source": { "ipAddress": "", "networkType": "NON_GCP_NETWORK", }, "destination": { "ipAddress": "", "network": "", "port": "", }, "protocol": "", }'
以下示例代码在两个 IP 地址之间创建一个测试。如需了解详情,请参阅 Python 版 Google API 客户端库中的 create
。
test_input = { "source": { "ipAddress": "", "projectId": "" }, "destination": { "ipAddress": "", "port": "", "projectId": "" }, "protocol": "", } request = api.projects().locations().global_().connectivityTests().create( parent="projects//locations/global", testId="", body=test_input) print(json.dumps(request.execute(), indent=4))
请替换以下内容:
:您要测试的来源 IP 地址。
:来源 IP 地址的项目 ID。
:您要测试的内部或外部目标 IP 地址。
:目标的 IP 协议端口。此选项仅适用于 TCP 协议或 UDP 协议。
:目标 IP 地址的项目 ID。
:连接测试的受支持的协议。默认协议为 TCP
。
:您要在其中创建测试的项目的 ID。
:您正在运行的 Connectivity Tests 对象(测试)的 ID。如果 VPC 网络未知,或者您没有访问网络的权限,则可以将网络指定为 GCP_NETWORK
,而不是提供网络 URI。
您无需确认您的 IP 地址是否在 Google Cloud 中,或者来源端点和目标端点是否在 RFC 1918 地址空间之外。系统会根据您的来源和目标 IP 地址自动选择这些参数。
以下示例在两个 IP 地址之间创建一个测试:
test_input = { "source": { "ipAddress": "", "networkType": "GCP_NETWORK" }, "destination": { "ipAddress": "", "port": "", "projectId": "" }, "protocol": "", } request = api.projects().locations().global_().connectivityTests().create( parent="projects//locations/global", testId="", body=test_input) print(json.dumps(request.execute(), indent=4))
请替换以下内容:
:您要测试的来源 IP 地址。
:来源所在的网络类型。在本例中,请使用值 GCP_NETWORK
。
:目标虚拟机的 IP 地址。
:目标的 IP 协议端口。此选项仅适用于 TCP 协议或 UDP 协议。
:目标 IP 地址的项目 ID。
:连接测试的受支持的协议。默认协议为 TCP
。
:您要在其中创建测试的项目的 ID。
:您正在运行的 Connectivity Tests 对象(测试)的 ID。如果您指定的来源 IP 地址是外部 IP 地址
您必须指定一个 networkType
NON_GCP_NETWORK
。
如果拥有共享 VPC 网络,则可以从宿主项目或服务项目创建并运行测试。
以下示例展示了两种情况,并使用了在服务项目中分配的目标 IP 地址。对于每种情况,Google Cloud 控制台中的字段值略有不同。不过,Google Cloud CLI 和 API 调用的命令选项是相同的。
注意:在宿主项目中的共享 VPC 网络中指定来源 IP 地址或目标 IP 地址时,这些 IP 地址实际上是在服务项目中分配和使用的。因此,在宿主项目中选择网络时,还必须指定 IP 地址的服务项目 ID。相反,在服务项目中指定 IP 地址时,还必须在宿主项目中选择其网络。
前往 Connectivity Tests
前往 Connectivity Tests
输入以下命令,可测试主机中两个专用 IP 地址以及目标 IP 地址所在的服务项目中的两个专用 IP 地址。将命令选项的变量替换为 VPC 网络中的值。
因为目标 IP 地址在服务项目中,所以请指定服务项目以及宿主项目的网络 URI。在这种情况下,default
表示 host-project
的默认 VPC 网络。
gcloud network-management connectivity-tests create \ --source-ip-address= \ --source-project= \ --destination-ip-address= \ --destination-network= \ --destination-project= \ --destination-port= \ --protocol=
请替换以下内容:
:Connectivity Tests 测试的名称。
:您要测试的来源 IP 地址。
:来源端点的项目 ID。
:您要在服务项目中测试的内部或外部目标 IP 地址。
:宿主项目的 VPC 网络的 URI,例如 projects/host-project/global/networks/default
。
:目标端点的项目 ID,例如名为 service-project
的项目,表示此共享 VPC 网络使用的服务项目。
:目标的 IP 协议端口。此选项仅适用于 TCP 协议或 UDP 协议。
:连接测试的受支持的协议。默认协议为 TCP
。使用 projects.locations.global.connectivityTests.create
方法。
POST https: //networkmanagement.googleapis.com/v1/projects//locations/global/connectivityTests?testId=' { "source": { "ipAddress": "", "projectId": "", }, "destination": { "ipAddress": "", "projectId": "", "network": "", "port": "", }, "protocol": "", }'
请替换以下内容:
:来源虚拟机的项目 ID。
:您正在运行的 Connectivity Tests 对象(测试)的 ID。
:您要测试的来源 IP 地址。
:来源端点的项目 ID。
:您要在服务项目中测试的内部或外部目标 IP 地址。
:目标端点的项目 ID,例如名为 service-project
的项目,表示此共享 VPC 网络使用的服务项目。
:宿主项目的 VPC 网络的 URI,例如 projects/host-project/global/networks/default
。
:目标的 IP 协议端口。此选项仅适用于 TCP 协议或 UDP 协议。
:连接测试的受支持的协议。默认协议为 TCP
。以下示例代码在两个 IP 地址之间创建一个测试。如需了解详情,请参阅 Python 版 Google API 客户端库中的 create
。
test_input = { "source": { "ipAddress": "", "projectId": "" }, "destination": { "ipAddress": "", "projectId": "", "network": "", "port": "", }, "protocol": "", } request = api.projects().locations().global_().connectivityTests().create( parent="projects//locations/global", testId="", body=test_input) print(json.dumps(request.execute(), indent=4))
请替换以下内容:
:您要测试的来源 IP 地址。
:来源端点的项目 ID。
:您要在服务项目中测试的内部或外部目标 IP 地址。
:目标端点的项目 ID,例如名为 service-project
的项目,表示此共享 VPC 网络使用的服务项目。
:宿主项目的 VPC 网络的 URI,例如 projects/host-project/global/networks/default
。
:目标的 IP 协议端口。此选项仅适用于 TCP 协议或 UDP 协议。
:连接测试的受支持的协议。默认协议为 TCP
。
:您要在其中创建测试的项目的 ID。
:您正在运行的 Connectivity Tests 对象(测试)的 ID。本部分介绍如何进行从您的 VPC 网络中的虚拟机到在 Google 拥有的 VPC 网络中运行的服务的测试。例如,您可以按照本部分中的步骤测试与 Cloud SQL 实例或 GKE 集群控制平面的连接。您还可以使用 Google 管理的服务端点作为来源,并使用您的 VPC 网络中的端点作为目标来运行测试。
默认情况下,Connectivity Tests 会尝试使用 Google 管理的服务端点的专用 IP 地址运行测试。如果端点没有专用 IP 地址,则 Connectivity Tests 会使用公共 IP 地址。
Connectivity Tests 会分析数据包能否到达端点,包括分析 Google 拥有的 VPC 网络中的配置。如果在项目中检测到配置问题,此分析会在分析 Google 拥有的网络配置之前停止。
如需进行从虚拟机到由 Google 管理的服务的测试,请参阅以下说明。
前往 Connectivity Tests
在来源部分,执行以下操作:
在来源网络接口菜单中,选择网络接口。
如果虚拟机实例具有多个网络接口,请选择一个唯一标识来源位置的虚拟机网络接口。
可选:从列表中选择来源 IP 地址。默认值为来源虚拟机实例的 IP 地址。
在目标部分,执行以下操作:
在目标端口字段中,输入指定目标的目标端口。
点击创建。
测试完成后,系统会加载 Connectivity Tests 的主页面,并显示包含此测试和其他测试的列表。继续查看测试结果。
前往“虚拟机实例”
按照以下指南替换命令选项的变量:
gcloud network-management connectivity-tests create \ --source-instance= \ --source-ip-address= \ = \ --destination-port= \ --protocol=
替换以下内容:
:Connectivity Tests 测试的名称。
:来源虚拟机的 URI,例如 projects/myproject/zones/us-east1-b/instances/instance-1
。
:您要测试的来源虚拟机实例的 IP 地址。该 IP 地址应为来源虚拟机实例的 IP 地址之一。:用于指定由 Google 管理的服务资源类型的标志。
如需了解可用选项,请参阅以下内容:
--destination-gke-master-cluster
--destination-cloud-sql-instance
如需了解详情,请参阅 gcloud network-management connectivity-tests create
参考文档。
:目标端点的 URI,例如标志
--destination-gke-master-cluster
的 projects/myproject/locations/us-central1/clusters/cluster-1
。
:目标的 IP 协议端口。此选项仅对 TCP 协议或 UDP 协议有效。
:连接测试的受支持的协议。默认协议为
TCP
。
使用 projects.locations.global.connectivityTests.create
方法。
POST https: //networkmanagement.googleapis.com/v1/projects//locations/global/connectivityTests?testId=' { "source": { "instance": "", "ipAddress": "", }, "destination": { "": "", "port": }, "protocol": "", }'
请替换以下内容:
:来源虚拟机的项目 ID。
:您正在运行的 Connectivity Tests 对象(测试)的 ID。
:来源虚拟机的 URI,例如 projects/myproject/zones/us-east1-b/instances/instance-1
。
:您要测试的来源虚拟机实例的 IP 地址。该 IP 地址应为来源虚拟机实例的 IP 地址之一。:用于指定由 Google 管理的服务资源类型的字段。
如需了解可用选项,请参阅以下内容:
gkeMasterCluster
cloudSqlInstance
如需了解详情,请参阅端点参考文档。
:目标端点的 URI(例如,字段
gkeMasterCluster
的 projects/myproject/locations/us-central1/clusters/cluster-1
)。
:目标的 IP 协议端口。此选项仅对 TCP 协议或 UDP 协议有效。
:连接测试的受支持的协议。默认协议为
TCP
。
以下示例代码可在虚拟机实例和由 Google 管理的服务端点之间创建测试。如需了解详情,请参阅 Python 版 Google API 客户端库中的 create
。
test_input = { "source": { "instance": "", "ipAddress": "", "projectId": "" }, "destination": { "": "", "port": "" }, "protocol": "", } request = api.projects().locations().global_().connectivityTests().create( parent="projects//locations/global", testId="", body=test_input) print(json.dumps(request.execute(), indent=4))
请替换以下内容:
:来源虚拟机的 URI,例如 projects/myproject/zones/us-east1-b/instances/instance-1
。
:您要测试的来源虚拟机实例的 IP 地址。该 IP 地址应为来源虚拟机实例的 IP 地址之一。
:来源虚拟机的项目 ID。:用于指定由 Google 管理的服务资源类型的字段。
如需了解可用选项,请参阅以下内容:
gkeMasterCluster
cloudSqlInstance
如需了解详情,请参阅端点参考文档。
:目标端点的 URI(例如,字段
gkeMasterCluster
的 projects/myproject/locations/us-central1/clusters/cluster-1
)。
:目标的 IP 协议端口。此选项仅对 TCP 协议或 UDP 协议有效。
:连接测试的受支持的协议。默认协议为
TCP
。
:您要在其中创建测试的项目的 ID。
:您正在运行的 Connectivity Tests 对象(测试)的 ID。
本部分介绍如何进行从虚拟机到 Private Service Connect 端点的测试。
例如,您可以按照本部分中的步骤测试数据包是否可以发送到使用 Private Service Connect 的已发布服务。Connectivity Tests 会分析数据包能否到达端点,包括分析连接的端点、已发布的服务和代理连接。如果与使用 Private Service Connect 的已发布服务的连接未被接受,则分析会提前结束。
您可以测试与以下各项的连接:
前往 Connectivity Tests
在来源部分,执行以下操作:
在来源网络接口菜单中,选择网络接口。
如果虚拟机实例具有多个网络接口,请选择一个唯一标识来源位置的虚拟机网络接口。
可选:从列表中选择来源 IP 地址。默认值为来源虚拟机实例的 IP 地址。
在目标部分,执行以下操作:
在目标 PSC 端点菜单中,选择 PSC 端点。
如果目标端点位于当前项目以外的项目中,请选择端点在“”以外的项目中。然后,在目标端点项目字段中,选择端点所在的项目。
在目标端口字段中,输入指定目标的目标端口。
点击创建。
测试完成后,系统会加载 Connectivity Tests 的主页面,并显示包含此测试和其他测试的列表。继续查看测试结果。
使用 gcloud network-management connectivity-tests create
命令。将示例值替换为来自 VPC 网络的值。
gcloud network-management connectivity-tests create \ --source-instance= \ --source-ip-address= \ --destination-ip-address= \ --destination-network= \ --protocol=
请替换以下内容:
:Connectivity Tests 测试的名称。
:来源虚拟机的 URI,例如 projects/myproject/zones/us-east1-b/instances/instance-1
。
:您要测试的来源虚拟机实例的 IP 地址。该 IP 地址应为来源虚拟机实例的 IP 地址之一。
:您要测试的端点或后端的 IP 地址。
:目标 IP 地址所在 VPC 网络的 URI,例如 projects/myproject/global/networks/default
。
:连接测试的受支持的协议。默认协议为 TCP
。如果端点或后端用于访问已发布的服务,则必须指定 ,因为端点或后端具有内部 IP 地址。
以下示例测试会确定现有网络配置是否允许虚拟机 instance1
对 Private Service Connect 端点的 IP 地址进行 ping 操作。
使用 projects.locations.global.connectivityTests.create
方法。
POST https: //networkmanagement.googleapis.com/v1/projects//locations/global/connectivityTests?testId=' { "source": { "instance": "", "ipAddress": "", }, "destination": { "forwardingRule": "", "port": "", }, "protocol": "", }'
请替换以下内容:
:来源虚拟机的项目 ID。
:您正在运行的 Connectivity Tests 对象(测试)的 ID。
:来源虚拟机的 URI,例如 projects/myproject/zones/us-east1-b/instances/instance-1
。
:您要测试的来源虚拟机实例的 IP 地址。该 IP 地址应为来源虚拟机实例的 IP 地址之一。
:
:目标 IP 地址所在 VPC 网络的 URI,例如 projects/myproject/global/networks/default
。
:目标的 IP 协议端口。此选项仅适用于 TCP 协议或 UDP 协议。
:连接测试的受支持的协议。默认协议为 TCP
。如果端点或后端用于访问已发布的服务,则必须指定 ,因为端点或后端具有内部 IP 地址。
以下示例代码创建虚拟机实例和 Private Service Connect 端点之间的测试。如需了解详情,请参阅 Python 版 Google API 客户端库中的 create
。
test_input = { "source": { "instance": "", "ipAddress": "", "projectId": "" }, "destination": { "forwardingRule": "", "port": "", }, "protocol": "", } request = api.projects().locations().global_().connectivityTests().create( parent="projects//locations/global", testId="", body=test_input) print(json.dumps(request.execute(), indent=4))
请替换以下内容:
:来源虚拟机的 URI,例如 projects/myproject/zones/us-east1-b/instances/instance-1
。
:您要测试的来源虚拟机实例的 IP 地址。该 IP 地址应为来源虚拟机实例的 IP 地址之一。
:来源虚拟机的项目 ID。
:
:目标 IP 地址所在 VPC 网络的 URI,例如 projects/myproject/global/networks/default
。
:目标的 IP 协议端口。此选项仅适用于 TCP 协议或 UDP 协议。
:连接测试的受支持的协议。默认协议为 TCP
。
:您要在其中创建测试的项目的 ID。
:您正在运行的 Connectivity Tests 对象(测试)的 ID。如果端点或后端用于访问已发布的服务,则必须指定 ,因为端点或后端具有内部 IP 地址。
本部分介绍如何测试从 App Engine 标准环境版本到虚拟机实例、IP 地址或 Google 代管式服务的连接。
App Engine 标准环境应用由包含一项或多项服务的单个应用资源组成。在每项服务中,您可以部署该服务的多个“版本”,您可以测试从 App Engine 标准环境服务到虚拟机实例、IP 地址或 Google 代管式服务的可达性。
要查看详细配置
您必须将服务配置为使用
无服务器 VPC 访问通道连接器。
Connectivity Tests 的结果可能会有所不同
不同版本您只能测试测试数据包的可达性
使用 UDP 或 TCP 协议的网络。
前往 Connectivity Tests
helloworld-service
。
”复选框。在目标部分,从列表中选择一个目标虚拟机实例。
如果虚拟机实例具有多个网络接口,请选择一个虚拟机网络接口,以唯一标识目标位置。
可选:从列表中选择目标 IP 地址。默认值为目标虚拟机实例的 IP 地址。
在目标端口字段中,输入指定目标的目标端口。
点击创建。
测试完成后,系统会加载 Connectivity Tests 的主页面,并显示包含此测试和其他测试的列表。继续查看测试结果。
使用 gcloud network-management connectivity-tests create
命令。将示例值替换为来自 VPC 网络的值。
gcloud network-management connectivity-tests create \ --source-app-engine-version= \ --destination-instance= \ --destination-ip-address= \ --protocol=
请替换以下内容:
:Connectivity Tests 测试的名称。
:来源 App Engine 标准环境版本的 URI,例如 apps/myproject/services/service-name/versions/version-name
。
:目标虚拟机的 URI,例如 projects/myproject/zones/us-east1-b/instances/instance-2
。
:您要测试的目标虚拟机实例的 IP 地址。该 IP 地址应为目标虚拟机实例的 IP 地址之一。
:无服务器 VPC 访问通道连接器支持的网络协议 – TCP
或 UDP
。使用 projects.locations.global.connectivityTests.create
方法。
POST https: //networkmanagement.googleapis.com/v1/projects//locations/global/connectivityTests?testId=' { "source": { "appEngineVersion": { "uri": "", }, }, "destination": { "instance": "", "ipAddress": "", }, "protocol": "", }'
替换以下内容:
:来源的项目 ID
:您正在运行的 Connectivity Tests 对象(测试)的 ID。
:来源 App Engine 标准环境版本的 URI,例如 apps/myproject/services/service-name/versions/version-name
。
:目标虚拟机的 URI,例如 projects/myproject/zones/us-east1-b/instances/instance-2
。
:您要测试的目标虚拟机实例的 IP 地址。该 IP 地址应为目标虚拟机实例的 IP 地址之一。
:无服务器 VPC 访问通道连接器支持的网络协议 – TCP
或 UDP
。前往 Connectivity Tests
helloworld-service
。
”以外的项目中。使用 gcloud network-management connectivity-tests create
命令。将示例值替换为来自 VPC 网络的值。
gcloud network-management connectivity-tests create \ --source-app-engine-version= \ --destination-ip-address= \ --protocol=
请替换以下内容:
:Connectivity Tests 测试的名称。
:来源 App Engine 标准环境版本的 URI,例如 apps/myproject/services/service-name/versions/version-name
。
:外部目的地
:无服务器 VPC 访问通道连接器支持的网络协议 – TCP
或 UDP
。使用 projects.locations.global.connectivityTests.create
方法。
POST https: //networkmanagement.googleapis.com/v1/projects//locations/global/connectivityTests?testId=' { "source": { "appEngineVersion": { "uri": "", }, }, "destination": { "ipAddress": "", }, "protocol": "", }'
替换以下内容:
:来源的项目 ID
:您正在运行的 Connectivity Tests 对象(测试)的 ID。
:来源 App Engine 标准环境版本的 URI,例如 apps/myproject/services/service-name/versions/version-name
。
:外部目的地
:无服务器 VPC 访问通道连接器支持的网络协议 – TCP
或 UDP
。前往 Connectivity Tests
helloworld-service
。
”以外的项目中。使用 gcloud network-management connectivity-tests create
命令。将示例值替换为来自 VPC 网络的值。
gcloud network-management connectivity-tests create \ --source-app-engine-version= \ --destination-ip-address= \ = \ --destination-port= \ --protocol=
请替换以下内容:
:Connectivity Tests 测试的名称。
:来源 App Engine 标准环境版本的 URI,例如 apps/myproject/services/servicename/versions/version-number
。
:您要测试的内部或外部目标 IP 地址。:用于指定由 Google 管理的服务资源类型的标志。
如需了解可用选项,请参阅以下内容:
--destination-gke-master-cluster
--destination-cloud-sql-instance
如需了解详情,请参阅 gcloud network-management connectivity-tests create
参考文档。
:目标端点的 URI(例如标志
--destination-gke-master-cluster
的 projects/myproject/locations/us-central1/clusters/cluster-1
)。
:目标的 IP 协议端口。此选项仅适用于 TCP 或 UDP 协议。默认值为端口
80
。
:无服务器 VPC 访问通道连接器支持的网络协议 –
TCP
或 UDP
。
使用 projects.locations.global.connectivityTests.create
方法。
POST https: //networkmanagement.googleapis.com/v1/projects//locations/global/connectivityTests?testId=' { "source": { "appEngineVersion": { "uri": "", }, }, "destination": { "": "", "ipAddress": "", "port": , }, "protocol": "", }'
替换以下内容:
:来源的项目 ID
:您正在运行的 Connectivity Tests 对象(测试)的 ID。
:来源 App Engine 标准环境版本的 URI,例如 apps/myproject/services/servicename/versions/version-number
。:用于指定由 Google 管理的服务资源类型的字段。
如需了解可用选项,请参阅以下内容:
gkeMasterCluster
cloudSqlInstance
如需了解详情,请参阅端点参考文档。
:目标端点的 URI(例如,字段
gkeMasterCluster
的 projects/myproject/locations/us-central1/clusters/cluster-1
)。
:您要测试的内部或外部目标 IP 地址。
:目标的 IP 协议端口。此选项仅适用于 TCP 或 UDP 协议。默认值为端口
80
。
:连接测试的受支持的协议。默认协议为
TCP
。
本部分介绍如何通过
部署到虚拟机实例、IP 地址
或由 Google 代管式服务。例如,您可以按照本部分中的步骤测试从 Cloud Run 函数(部署在 us-central1
中,作为来源)到 VPC 网络中的端点(作为目标)的连接。
如需查看详细的配置分析,请确保您的
Cloud Run 函数正在运行且您已配置
无服务器 VPC 访问通道连接器
对 Cloud Run 函数运行所需的代码
Cloud Run 函数的出站流量设置控制出站 HTTP 的路由
Cloud Run 函数发出的请求,以及控制
流量类型会通过连接器路由到
VPC 网络。如需了解详情,请参阅
Cloud Run 函数出站流量设置。
前往 Connectivity Tests
function-1
。在目标部分,执行以下操作:
在目标网络接口菜单中,选择
网络接口
如果虚拟机实例具有多个网络接口,请选择一个唯一标识目标位置的虚拟机网络接口。
可选:从列表中选择目标 IP 地址。默认值为目标虚拟机实例的 IP 地址。
在目标端口字段中,输入指定目标的目标端口。
点击创建。
测试完成后,系统会加载 Connectivity Tests 的主页面,并显示包含此测试和其他测试的列表。继续查看测试结果。
使用 gcloud network-management connectivity-tests create
命令。将示例值替换为来自 VPC 网络的值。
gcloud network-management connectivity-tests create \ --source-cloud-function= \ --destination-instance= \ --destination-ip-address= \ --destination-port= \ --protocol=
请替换以下内容:
:Connectivity Tests 测试的名称。
:projects/myproject/locations/us-central1/functions/function-1
。
:目标虚拟机的 URI,例如 projects/myproject/zones/us-east1-b/instances/instance-2
。
:您要测试的目标虚拟机实例的 IP 地址。该 IP 地址应为目标虚拟机实例的 IP 地址之一。
:目标的 IP 协议端口。此选项仅适用于 TCP 协议或 UDP 协议。
:连接测试的受支持的协议。默认协议为 TCP
。使用 projects.locations.global.connectivityTests.create
方法。
POST https: //networkmanagement.googleapis.com/v1/projects//locations/global/connectivityTests?testId=' { "source": { "cloudFunction": { "uri": "", }, }, "destination": { "instance": "", "ipAddress": "", }, "protocol": "", }'
替换以下内容:
:来源的项目 ID
:您正在运行的 Connectivity Tests 对象(测试)的 ID。
:projects/myproject/locations/us-central1/functions/function-1
。
:目标虚拟机的 URI,例如 projects/myproject/zones/us-east1-b/instances/instance-2
。
:您要测试的目标虚拟机实例的 IP 地址。该 IP 地址应为目标虚拟机实例的 IP 地址之一。
:连接测试的受支持的协议。默认协议为 TCP
。前往 Connectivity Tests
function-1
。使用 gcloud network-management connectivity-tests create
命令。将示例值替换为来自 VPC 网络的值。
gcloud network-management connectivity-tests create \ --source-cloud-function= \ --destination-ip-address== \ --protocol=
请替换以下内容:
:Connectivity Tests 测试的名称。
:Cloud Run 函数的 URI,例如 projects/myproject/locations/us-central1/functions/function-1
。
:您要测试的目标 IP 地址。
:连接测试的受支持的协议。默认协议为 TCP
。使用 projects.locations.global.connectivityTests.create
方法。
POST https: //networkmanagement.googleapis.com/v1/projects//locations/global/connectivityTests?testId=' { "source": { "cloudFunction": { "uri": "", }, }, "destination": { "ipAddress": "", }, "protocol": "", }'
替换以下内容:
:来源的项目 ID
:您正在运行的 Connectivity Tests 对象(测试)的 ID。
:projects/myproject/locations/us-central1/functions/function-1
。
:目的地
:连接测试的受支持的协议。默认协议为 TCP
。前往 Connectivity Tests
function-1
。使用 gcloud network-management connectivity-tests create
命令。将示例值替换为来自 VPC 网络的值。
gcloud network-management connectivity-tests create \ --source-cloud-function= \ = \ --destination-ip-address= \ --destination-port= \ --protocol=
请替换以下内容:
:Connectivity Tests 测试的名称。
:Cloud Run 函数的 URI,例如 projects/myproject/locations/us-central1/functions/function-1
。:用于指定由 Google 管理的服务资源类型的标志。
如需了解可用选项,请参阅以下内容:
--destination-gke-master-cluster
--destination-cloud-sql-instance
如需了解详情,请参阅 gcloud network-management connectivity-tests create
参考文档。
:目标端点的 URI(例如标志
--destination-gke-master-cluster
的 projects/myproject/locations/us-central1/clusters/cluster-1
)。
:您要测试的内部或外部目标 IP 地址。
:目标的 IP 协议端口。此选项仅适用于 TCP 或 UDP 协议。默认值为端口
80
。
:连接测试的受支持的协议。默认协议为
TCP
。
本部分介绍如何测试从 Cloud Run 修订版本到虚拟机实例、IP 地址或 Google 代管式服务的连接。
您可以部署多项 Cloud Run 服务
在单个项目中运行每个 Cloud Run 服务都有一个 HTTPS 端点
*.run.app
网域的唯一子网域。Cloud Run 服务的每次部署都会创建一个新的不可变修订版本。您可以测试从修订版本到虚拟机实例、IP 地址或 Google 代管式服务的可达性。如需查看详细的配置分析,您必须为修订版配置无服务器 VPC 访问通道连接器。Connectivity Tests 的结果可能会有所不同
每个修订版本
例如,名为 cloud_run_test
的 Cloud Run 服务有一个修订版本 first-revision
配置为使用无服务器 VPC 访问通道连接器,另一个修订版本 second-revision
未配置为使用无服务器 VPC 访问通道连接器。总体可达性结果
“first-revision
”中的联系人可能可以联系,而以下时间的人无法联系到:
second-revision
。
创建连接测试时,您可以从 Cloud Run 服务的修订版本列表中进行选择。
前往 Connectivity Tests
helloworld-run
。
”以外的项目中。在目标部分,执行以下操作:
在目标网络接口菜单中,选择网络接口。
如果虚拟机实例具有多个网络接口,请选择一个虚拟机网络接口,以唯一标识目标位置。
可选:从列表中选择目标 IP 地址。默认值为目标虚拟机实例的 IP 地址。
在目标端口字段中,输入指定目标的目标端口。
点击创建。
测试完成后,系统会加载 Connectivity Tests 的主页面,并显示包含此测试和其他测试的列表。继续查看测试结果。
使用 gcloud network-management connectivity-tests create
命令。将示例值替换为来自 VPC 网络的值。
gcloud network-management connectivity-tests create \ --source-cloud-run-revision= \ --destination-instance= \ --destination-ip-address= \ --protocol=
请替换以下内容:
:Connectivity Tests 测试的名称。
:来源 Cloud Run 修订版本的 URI,例如 projects/myproject/locations/us-central1/revisions/cloudrun-revision
。
:目标虚拟机的 URI,例如 projects/myproject/zones/us-east1-b/instances/instance-2
。
:您要测试的目标虚拟机实例的 IP 地址。该 IP 地址应为目标虚拟机实例的 IP 地址之一。
:无服务器 VPC 访问通道连接器支持的网络协议 – TCP
或 UDP
。使用 projects.locations.global.connectivityTests.create
方法。
POST https: //networkmanagement.googleapis.com/v1/projects//locations/global/connectivityTests?testId=' { "source": { "cloudRunRevision": { "uri": "", }, }, "destination": { "instance": "", "ipAddress": "" }, "protocol": "", }'
替换以下内容:
:来源的项目 ID
:您正在运行的 Connectivity Tests 对象(测试)的 ID。
:来源 Cloud Run 修订版本的 URI,例如 projects/myproject/locations/us-central1/revisions/cloudrun-revision
。
:目标虚拟机的 URI,例如 projects/myproject/zones/us-east1-b/instances/instance-2
。
:您要测试的目标虚拟机实例的 IP 地址。该 IP 地址应为目标虚拟机实例的 IP 地址之一。
:无服务器 VPC 访问通道连接器支持的网络协议 – TCP
或 UDP
。前往 Connectivity Tests
helloworld-run
。
”以外的项目中。使用 gcloud network-management connectivity-tests create
命令。将示例值替换为来自 VPC 网络的值。
gcloud network-management connectivity-tests create \ --source-cloud-run-revision= \ --destination-ip-address= \ --protocol=
请替换以下内容:
:Connectivity Tests 测试的名称。
:来源 Cloud Run 修订版本的 URI,例如 projects/myproject/locations/us-central1/revisions/cloudrun-revision
。
:您要测试的外部目标 IP 地址。
:无服务器 VPC 访问通道连接器支持的网络协议 – TCP
或 UDP
。使用 projects.locations.global.connectivityTests.create
方法。
POST https: //networkmanagement.googleapis.com/v1/projects//locations/global/connectivityTests?testId=' { "source": { "cloudRunRevision": { "uri": "", }, }, "destination": { "ipAddress": "", }, "protocol": "", }'
替换以下内容:
:来源的项目 ID
:您正在运行的 Connectivity Tests 对象(测试)的 ID。
:来源 Cloud Run 修订版本的 URI,例如 projects/myproject/locations/us-central1/revisions/cloudrun-revision
。
:您要测试的外部目标 IP 地址。
:无服务器 VPC 访问通道连接器支持的网络协议 – TCP
或 UDP
。前往 Connectivity Tests
helloworld-run
。
”以外的项目中。使用 gcloud network-management connectivity-tests create
命令。将示例值替换为来自 VPC 网络的值。
gcloud network-management connectivity-tests create \ --source-cloud-run-revision= \ = \ --destination-port= \ --protocol=
请替换以下内容:
:Connectivity Tests 测试的名称。
:来源 Cloud Run 修订版本的 URI,例如 projects/myproject/locations/us-central1/revisions/cloudrun-revision
。
:端点所在的项目名称,例如 myproject
。:用于指定由 Google 管理的服务资源类型的标志。
如需了解可用选项,请参阅以下内容:
--destination-gke-master-cluster
--destination-cloud-sql-instance
如需了解详情,请参阅 gcloud network-management connectivity-tests create
参考文档。
:目标端点的 URI(例如标志
--destination-gke-master-cluster
的 projects/myproject/locations/us-central1/clusters/cluster-1
)。
:目标的 IP 协议端口。此选项仅适用于 TCP 或 UDP 协议。默认值为端口
80
。
:无服务器 VPC 访问通道连接器支持的网络协议 –
TCP
或 UDP
。
使用 projects.locations.global.connectivityTests.create
方法。
POST https: //networkmanagement.googleapis.com/v1/projects//locations/global/connectivityTests?testId=' { "source": { "cloudRunRevision": { "uri": "", }, }, "destination": { "": "", "port": , }, "protocol": "", }'
替换以下内容:
:来源的项目 ID
:您正在运行的 Connectivity Tests 对象(测试)的 ID。
:来源 Cloud Run 修订版本的 URI,例如 projects/myproject/locations/us-central1/revisions/cloudrun-revision
。:用于指定由 Google 管理的服务资源类型的字段。
如需了解可用选项,请参阅以下内容:
gkeMasterCluster
cloudSqlInstance
如需了解详情,请参阅端点参考文档。
:目标端点的 URI(例如,字段
gkeMasterCluster
的 projects/myproject/locations/us-central1/clusters/cluster-1
)。
:目标的 IP 协议端口。此选项仅适用于 TCP 或 UDP 协议。默认值为端口
80
。
:无服务器 VPC 访问通道连接器支持的网络协议 –
TCP
或 UDP
。
如需测试 VPC 网络与非 Google Cloud 网络之间的连接,请按照以下步骤操作。
前往 Connectivity Tests
输入以下命令,在内部 IP 地址和外部 IP 地址之间进行测试。将命令选项的变量替换为 VPC 网络中的值。
gcloud network-management connectivity-tests create \ --source-ip-address= \ --source-network= \ --destination-ip-address= \ --protocol=
请替换以下内容:
:Connectivity Tests 测试的名称。
:您要测试的来源 IP 地址。
:来源 IP 地址所在的 VPC 网络的 URI,例如 projects/myproject/global/networks/default
。
:外部
:连接测试的受支持的协议。默认协议为 TCP
。您无需确认您的 IP 地址是否在 Google Cloud 中,或者来源端点和目标端点是否在 RFC 1918 地址空间之外。系统会根据您的来源和目标 IP 地址自动选择这些参数。
本示例测试从来源 IP 地址到目标 IP 地址进行 ping 的能力。
使用 projects.locations.global.connectivityTests.create
方法。
POST https://reachability.googleapis.com/v1/projects//locations/global/connectivityTests?testId=' { "source": { "ipAddress": "", "network": "" }, "destination": { "ipAddress": "", "port": "", }, "protocol": "". }'
请替换以下内容:
:来源虚拟机的项目 ID。
:您正在运行的 Connectivity Tests 对象(测试)的 ID。
:您要测试的来源 IP 地址。
:来源 IP 地址所在的 VPC 网络的 URI,例如 projects/myproject/global/networks/default
。
:外部
:目标的 IP 协议端口。此选项仅适用于 TCP 协议或 UDP 协议。
:连接测试的受支持的协议。默认协议为 TCP
。以下示例代码在两个 IP 地址之间创建一个测试。如需了解详情,请参阅 Python 版 Google API 客户端库中的 create
。
test_input = { "source": { "ipAddress": "", "projectId": "" }, "destination": { "ipAddress": "", "port": "", }, "protocol": "", } request = api.projects().locations().global_().connectivityTests().create( parent="projects//locations/global", testId="", body=test_input) print(json.dumps(request.execute(), indent=4))
请替换以下内容:
:您要测试的来源 IP 地址。
:来源 IP 地址的项目 ID。
:外部
:目标的 IP 协议端口。此选项仅适用于 TCP 协议或 UDP 协议。
:连接测试的受支持的协议。默认协议为 TCP
。
:您要在其中创建测试的项目的 ID。
:您正在运行的 Connectivity Tests 对象(测试)的 ID。您无需确认您的 IP 地址是否在 Google Cloud 中,或者来源端点和目标端点是否在 RFC 1918 地址空间之外。系统会根据您的来源和目标 IP 地址自动选择这些参数。
以下示例在两个 IP 地址之间创建一个测试:
test_input = { "source": { "ipAddress": "", "networkType": "GCP_NETWORK" }, "destination": { "ipAddress": "", "port": "", }, "protocol": "", } request = api.projects().locations().global_().connectivityTests().create( parent="projects//locations/global", testId="", body=test_input) print(json.dumps(request.execute(), indent=4))
请替换以下内容:
:您要测试的来源 IP 地址。
:来源所在的网络类型。在本例中,请使用值 GCP_NETWORK
。
:目标 IP 地址
:目标 TCP 或 UDP 端口号。此选项仅对 TCP 或 UDP 协议有效。
:连接测试的受支持的协议。默认协议为 TCP
。
:您要在其中创建测试的项目的 ID。
:您正在运行的 Connectivity Tests 对象(测试)的 ID。如需从 Network Connectivity Center hub 中的一个 VPC spoke 到连接到同一 hub 的另一个 VPC spoke 进行测试,请按照以下步骤操作。
前往 Connectivity Tests
输入以下命令以在两个 spoke 之间进行测试。将命令选项的变量替换为来自 VPC 网络的值。
gcloud network-management connectivity-tests create \ --source-ip-address= \ --source-network= \ --destination-ip-address= \ --protocol=
替换以下内容:
:Connectivity Tests 测试的名称
:您要测试的来源 IP 地址。
:来源 IP 地址所在的 VPC 网络的 URI,例如 projects/myproject/global/networks/default
。
:您要测试的另一个 spoke VPC 网络中的目标 IP 地址。
:连接测试的受支持的协议。默认协议为 TCP
。您无需确认您的 IP 地址是否在 Google Cloud 中,或者来源端点和目标端点是否在 RFC 1918 地址空间之外。系统会根据您的来源和目标 IP 地址自动选择这些参数。
本示例测试从来源 IP 地址到目标 IP 地址进行 ping 的能力。
使用 projects.locations.global.connectivityTests.create
方法。
POST https://reachability.googleapis.com/v1/projects//locations/global/connectivityTests?testId=' { "source": { "ipAddress": "", "network": "" }, "destination": { "ipAddress": "", "port": "", }, "protocol": "". }'
替换以下内容:
:来源虚拟机的项目 ID
:您正在运行的 Connectivity Tests 对象(测试)的 ID。
:您要测试的来源 IP 地址。
:来源 IP 地址所在的 VPC 网络的 URI,例如 projects/myproject/global/networks/default
。
:您要测试的另一个 spoke VPC 网络中的目标 IP 地址。
:目标 TCP 或 UDP 端口号。此选项仅对 TCP 或 UDP 协议有效。
:连接测试的受支持的协议。默认协议为 TCP
。以下示例代码在两个 IP 地址之间创建一个测试。有关
请参阅 create
方法
。
test_input = { "source": { "ipAddress": "", "projectId": "" }, "destination": { "ipAddress": "", "port": "", }, "protocol": "", } request = api.projects().locations().global_().connectivityTests().create( parent="projects//locations/global", testId="", body=test_input) print(json.dumps(request.execute(), indent=4))
替换以下内容:
:您要测试的来源 IP 地址。
:来源 IP 地址的项目 ID。
:您要测试的另一个 spoke VPC 网络中的目标 IP 地址。
:目标 TCP 或 UDP 端口号。此选项仅对 TCP 或 UDP 协议有效。
:连接测试的受支持的协议。默认协议为 TCP
。
:您要在其中创建测试的项目的 ID。
:您正在运行的 Connectivity Tests 对象(测试)的 ID。您无需确认您的 IP 地址是否在 Google Cloud 中,或者来源端点和目标端点是否在 RFC 1918 地址空间之外。系统会根据您的来源和目标 IP 地址自动选择这些参数。
以下示例在两个 IP 地址之间创建一个测试:
test_input = { "source": { "ipAddress": "", "networkType": "GCP_NETWORK" }, "destination": { "ipAddress": "", "port": "", }, "protocol": "", } request = api.projects().locations().global_().connectivityTests().create( parent="projects//locations/global", testId="", body=test_input) print(json.dumps(request.execute(), indent=4))
请替换以下内容:
:您要测试的来源 IP 地址。
:来源所在的网络类型。在本例中,请使用值 GCP_NETWORK
。
:目标虚拟机的 IP 地址。
:目标的 IP 协议端口。此选项仅适用于 TCP 协议或 UDP 协议。
:连接测试的受支持的协议。默认协议为 TCP
。
:您要在其中创建测试的项目的 ID。
:您正在运行的 Connectivity Tests 对象(测试)的 ID。此测试分析从来源虚拟机到 Google 网络边缘位置的连接。
注意:如果您的目标是 Google 拥有的 IP 地址或 Google Cloud 中使用的 IP 地址,则不会显示实时数据平面分析结果,因为该数据包不会离开 Google 网络。例如,如果您的目标是 Google 拥有的 IP 地址(例如 8.8.8.8
),则不会显示实时数据平面分析结果。
前往 Connectivity Tests
在来源部分,执行以下操作:
在来源网络接口菜单中,选择网络接口。
如果虚拟机实例具有多个网络接口,请选择一个唯一标识来源位置的虚拟机网络接口。
可选:从列表中选择来源 IP 地址。默认值为来源虚拟机实例的 IP 地址。
在目标部分,执行以下操作:
在目标端口字段中,输入指定目标的目标端口。
点击创建。
测试完成后,系统会加载 Connectivity Tests 的主页面,并显示包含此测试和其他测试的列表。继续查看测试结果。
如需在虚拟机和外部 IP 地址之间进行测试,请输入以下命令。将示例值替换为来自 VPC 网络的值。
gcloud network-management connectivity-tests create \ --source-instance= \ --source-ip-address= \ --destination-ip-address= \ --destination-port= \ --protocol=
请替换以下内容:
:Connectivity Tests 测试的名称。
:来源虚拟机的 URI,例如 projects/myproject/zones/us-east1-b/instances/instance-1
。
:您要测试的来源虚拟机实例的 IP 地址;该 IP 地址应为来源虚拟机实例的 IP 地址之一。
:外部
:目标的 IP 协议端口。此选项仅适用于 TCP 协议或 UDP 协议。
:连接测试的受支持的协议。默认协议为 TCP
。以下示例测试确定现有网络配置是否允许虚拟机 instance1
ping 目标 IP 地址。
使用 projects.locations.global.connectivityTests.create
方法。
POST https: //networkmanagement.googleapis.com/v1/projects//locations/global/connectivityTests?testId=' { "source": { "instance": "", "ipAddress": "", }, "destination": { "ipAddress": "", "port": "", }, "protocol": "", }'
请替换以下内容:
:来源虚拟机的项目 ID。
:您正在运行的 Connectivity Tests 对象(测试)的 ID。
:来源虚拟机的 URI,例如 projects/myproject/zones/us-east1-b/instances/instance-1
。
:您要测试的来源虚拟机实例的 IP 地址。该 IP 地址应为来源虚拟机实例的 IP 地址之一。
:外部
:目标的 IP 协议端口。此选项仅适用于 TCP 协议或 UDP 协议。
:连接测试的受支持的协议。默认协议为 TCP
。以下示例代码创建了虚拟机实例和外部 IP 地址之间的测试。如需了解详情,请参阅 Python 版 Google API 客户端库中的 create
。
test_input = { "source": { "instance": "", "ipAddress": "", "projectId": "" }, "destination": { "ipAddress": "", "port": "", }, "protocol": "", } request = api.projects().locations().global_().connectivityTests().create( parent="projects//locations/global", testId="", body=test_input) print(json.dumps(request.execute(), indent=4))
请替换以下内容:
:来源虚拟机的 URI,例如 projects/myproject/zones/us-east1-b/instances/instance-1
。
:您要测试的来源虚拟机实例的 IP 地址。该 IP 地址应为来源虚拟机实例的 IP 地址之一。
:来源虚拟机的项目 ID。
:外部目的地 IP
:目标的 IP 协议端口。此选项仅适用于 TCP 协议或 UDP 协议。
:连接测试的受支持的协议。默认协议为 TCP
。
:您要在其中创建测试的项目的 ID。
:您正在运行的 Connectivity Tests 对象(测试)的 ID。本部分介绍如何测试从虚拟机或 IP 地址到 Google Cloud 负载均衡器的连接。
Connectivity Tests 配置分析支持跟踪传送至所有类型的 Google Cloud 负载均衡器的模拟数据包。外部应用负载均衡器的跟踪记录路径也适用于外部代理网络负载均衡器。如需了解详情,请参阅 Cloud Load Balancing 概览。
您可以测试与以下各项的连接:
本部分分析了从源虚拟机到负载均衡器的连接。
前往 Connectivity Tests
在来源部分,执行以下操作:
在来源网络接口菜单中,选择网络接口。
如果虚拟机实例具有多个网络接口,请选择一个唯一标识来源位置的虚拟机网络接口。
可选:从列表中选择来源 IP 地址。默认值为来源虚拟机实例的 IP 地址。
在目标部分,执行以下操作:
在目标负载均衡器菜单中,选择负载均衡器。
如果目标端点位于当前项目以外的项目中,请选择端点在“”以外的项目中。然后,在目标端点项目字段中,选择端点所在的项目。
选择目标转发规则。
注意:负载均衡器可以有多个前端配置,并且每个配置都由转发规则表示。对于
已大致了解转发规则,请参阅
转发规则概览。
在目标端口字段中,输入指定目标的目标端口。
点击创建。
测试完成后,系统会加载 Connectivity Tests 的主页面,并显示包含此测试和其他测试的列表。继续查看测试结果。
如需在虚拟机和负载均衡器之间进行测试,请输入以下命令。
gcloud network-management connectivity-tests create \ --source-instance= \ --source-ip-address= \ --protocol= \ --destination-ip-address= \ --destination-port= \
请替换以下内容:
:Connectivity Tests 测试的名称。
:来源虚拟机的 URI,例如 projects/myproject/zones/us-east1-b/instances/instance-1
。
:您要测试的来源虚拟机实例的 IP 地址。该 IP 地址应为来源虚拟机实例的 IP 地址之一。
:连接测试的受支持的协议。默认协议为 TCP
。
:外部
:目标的 IP 协议端口。此选项仅对 TCP 协议或 UDP 协议有效。使用 projects.locations.global.connectivityTests.create
方法。
POST https: //networkmanagement.googleapis.com/v1/projects//locations/global/connectivityTests?testId=' { "source": { "instance": "", "ipAddress": "", }, "destination": { "forwardingRule": "", "port": "", }, "protocol": "", }'
请替换以下内容:
:来源虚拟机的项目 ID。
:您正在运行的 Connectivity Tests 对象(测试)的 ID。
:来源虚拟机的 URI,例如 projects/myproject/zones/us-east1-b/instances/instance-1
。
:您要测试的来源虚拟机实例的 IP 地址。该 IP 地址应为来源虚拟机实例的 IP 地址之一。
:表示端点的目标转发规则。
:目标的 IP 协议端口。此选项仅适用于 TCP 协议或 UDP 协议。
:连接测试的受支持的协议。默认协议为 TCP
。以下示例代码可在虚拟机实例和负载均衡器端点之间创建测试。如需了解详情,请参阅 Python 版 Google API 客户端库中的 create
。
test_input = { "source": { "instance": "", "ipAddress": "", "projectId": "" }, "destination": { "forwardingRule": "", "port": "", }, "protocol": "", } request = api.projects().locations().global_().connectivityTests().create( parent="projects//locations/global", testId="", body=test_input) print(json.dumps(request.execute(), indent=4))
请替换以下内容:
:来源虚拟机的 URI,例如 projects/myproject/zones/us-east1-b/instances/instance-1
。
:您要测试的来源虚拟机实例的 IP 地址。该 IP 地址应为来源虚拟机实例的 IP 地址之一。
:来源虚拟机的项目 ID。
:表示端点的目标转发规则。
:目标的 IP 协议端口。此选项仅适用于 TCP 协议或 UDP 协议。
:连接测试的受支持的协议。默认协议为 TCP
。
:您要在其中创建测试的项目的 ID。
:您正在运行的 Connectivity Tests 对象(测试)的 ID。前往 Connectivity Tests
在目标部分,执行以下操作:
在目标负载均衡器菜单中,选择负载均衡器端点。
如果目标端点位于当前项目以外的项目中,请选择端点在“”以外的项目中。然后,在目标端点项目字段中,选择端点所在的项目。
选择目标转发规则。
注意:负载均衡器可以有多个前端配置,并且每个配置都由转发规则表示。如需大致了解转发规则,请参阅转发规则概念。
在目标端口字段中,输入指定目标的目标端口。
点击创建。
测试完成后,系统会加载 Connectivity Tests 的主页面,并显示包含此测试和其他测试的列表。继续查看测试结果。
使用 gcloud network-management connectivity-tests create
命令。将示例值替换为来自 VPC 网络的值。
gcloud network-management connectivity-tests create \ --source-project= \ --source-ip-address= \ --protocol= \ --destination-ip-address= \ --destination-port= \
请替换以下内容:
:Connectivity Tests 测试的名称。
:来源端点的项目 ID。
:您要测试的来源虚拟机实例的 IP 地址。该 IP 地址应为来源虚拟机实例的 IP 地址之一。
:连接测试的受支持的协议。默认协议为 TCP
。
:外部
:目标的 IP 协议端口。此选项仅适用于 TCP 协议或 UDP 协议。如果端点用于访问代管式服务或其他 VPC 网络中的服务,您必须指定 ,因为该端点具有内部 IP 地址。
本示例测试从来源 IP 地址到负载均衡器端点进行 ping 的能力。
使用 projects.locations.global.connectivityTests.create
方法。
如果您指定的来源 IP 地址是外部 IP 地址
您必须指定一个 networkType
NON_GCP_NETWORK
。将以下命令中的值替换为 Google Cloud 网络的值。
POST https://reachability.googleapis.com/v1/projects//locations/global/connectivityTests?testId=' { "source": { "ipAddress": "", "networkType": "NON_GCP_NETWORK", }, "destination": { "forwardingRule": "", "port": "", }, "protocol": "", }'
请替换以下内容:
:来源 IP 地址
:表示端点的目标转发规则。
:目标的 IP 协议端口。此选项仅适用于 TCP 协议或 UDP 协议。
:连接测试的受支持的协议。默认协议为 TCP
。如果端点用于访问已发布的服务,则必须指定 ,因为端点具有内部 IP 地址。
以下示例代码创建了 IP 地址和负载均衡器端点之间的测试。如需了解详情,请参阅 Python 版 Google API 客户端库中的 create
。
如果您指定的来源 IP 地址是外部 IP 地址
您必须指定一个 networkType
NON_GCP_NETWORK
。
test_input = { "source": { "ipAddress": "", "networkType": "NON_GCP_NETWORK" }, "destination": { "forwardingRule": "", "port": "", "projectId": "" }, "protocol": "", } request = api.projects().locations().global_().connectivityTests().create( parent="projects//locations/global", testId="", body=test_input) print(json.dumps(request.execute(), indent=4))
请替换以下内容:
:来源 IP 地址
:来源所在的网络类型。在本例中,请使用值 NON_GCP_NETWORK
。
:表示端点的目标转发规则。
:目标的 IP 协议端口。此选项仅适用于 TCP 协议或 UDP 协议。
:目标 IP 地址的项目 ID。
:连接测试的受支持的协议。默认协议为 TCP
。
:您要在其中创建测试的项目的 ID。
:您正在运行的 Connectivity Tests 对象(测试)的 ID。如果端点用于访问已发布的服务,则必须指定 ,因为端点具有内部 IP 地址。
您无需确认您的 IP 地址是否在 Google Cloud 中,或者来源和目的地端点是否在 RFC 1918 地址空间之外。系统会根据您的来源和目的地 IP 地址自动选择这些参数。
此过程与在 VPC 网络中的专用 IP 地址之间进行测试的过程相同,但以下步骤除外。此过程适用于 Google Cloud 控制台、Google Cloud CLI、API 示例和 Python 示例。
此过程与在 VPC 网络中的专用 IP 地址之间进行测试的过程相同,但以下步骤除外。此过程适用于 Google Cloud 控制台、Google Cloud CLI、API 示例和 Python 示例。
本部分介绍如何查看 Connectivity Tests 测试的结果。
您可以在多个不同页面上查看测试。
前往 Connectivity Tests
系统会显示测试的信息面板。您可以在测试路径中查看每个 Google Cloud 资源的总体结果和结果卡片。您可以点击指向某些 Google Cloud 资源(例如虚拟机实例或路由)详情页面的链接。如果测试包含多个跟踪记录,您可以从跟踪记录结果列表中选择一个跟踪记录。
如果测试符合实时数据平面分析的条件,您可以查看丢包和延迟时间指标。
如需展开或关闭结果卡,请点击结果卡右侧的箭头。
如需解读测试结果,请参阅配置分析状态。
如需关闭信息面板,请点击页面右上角的隐藏信息面板。
或者,从 Google Cloud 控制台的主页面点击测试名称,并在 Connectivity Tests 测试详情页面上查看其结果。
您也可以在 Compute Engine 虚拟机实例的网络接口的网络接口详情页面上查看结果。此页面仅会列出将当前网络接口用作来源或目标的测试。
如需查看结果,您可以在结果详情列中选择查看,或点击测试的名称。
如需查看测试结果,请输入以下命令。使用您要查看的测试 ID。
gcloud network-management connectivity-tests describe
将 替换为 Connectivity Tests 测试的名称。
使用 projects.locations.global.connectivityTests.get
方法查看测试结果。
GET https://networkmanagement.googleapis.com/v1/{name=projects//locations/global/connectivityTests/}
请替换以下内容:
:来源虚拟机的项目 ID。
:您正在运行的 Connectivity Tests 对象(测试)的 ID。以下示例代码输出了测试结果。如需了解详情,请参阅 Python 版 Google API 客户端库中的 get
。
project_id = "" test_id= "" request = api.projects().locations().global_().connectivityTests().get( name='projects/%s/locations/global/connectivityTests/%s' % (project_id, test_id))
print(json.dumps(request.execute(), indent=4))
请替换以下内容:
:在其中创建测试的项目的 ID。
:您正在运行的 Connectivity Tests 对象(测试)的 ID。如果您在测试路径中更改了 Google Cloud 资源并且想要查看最新的网络配置结果,则可能需要重新运行 Connectivity Tests 测试。您可以同时重新运行一个或多个测试。
Connectivity Tests 测试基于执行时的网络配置快照。重新运行测试会覆盖之前的测试结果。如果您想保留较早的结果,请改为创建新测试。
如需在 rerun
测试操作正在运行时检查其状态,请参阅检查正在运行的测试操作。
前往 Connectivity Tests
前往“虚拟机实例”
如需重新运行 Connectivity Tests 测试,请输入以下命令。使用您要重新运行的测试 ID。
gcloud network-management connectivity-tests rerun
将 替换为 Connectivity Tests 测试的名称。
Network Management API 创建 connectivityTests
资源后,会一直保留该测试资源,直到您将其删除。因此,您可以重新运行测试。
如果您不想创建永久性测试,则可以使用 API 创建测试,并在查看测试结果后将其删除。
使用 projects.locations.global.connectivityTests.rerun
方法重新运行测试。
POST https://networkmanagement.googleapis.com/v1/{name=projects/*/locations/global/connectivityTests/*}:rerun { "name": {projects//connectivityTests/{}} }
请替换以下内容:
:来源虚拟机的项目 ID。
:您正在运行的 Connectivity Tests 对象(测试)的 ID。以下示例代码可以重新运行测试。如需了解详情,请参阅 Python 版 Google API 客户端库中的 rerun
。
project_id = "" test_id = "" request = api.projects().locations().global_().connectivityTests().rerun(name='projects/%s/locations/global/connectivityTests/%s' % (project_id, test_id))
print(json.dumps(request.execute(), indent=4))
替换以下值:
:在其中创建测试的项目的 ID。
:您正在运行的 Connectivity Tests 对象(测试)的 ID