REST 资源:projects.locations.global.connectivityTests

资源:ConnectivityTest

用于网络可达性分析的连接测试。

JSON 表示法

{
  "name": string,
  "description": string,
  "source": {
    object (Endpoint)
  },
  "destination": {
    object (Endpoint)
  },
  "protocol": string,
  "relatedProjects": [
    string
  ],
  "displayName": string,
  "labels": {
    string: string,
    ...
  },
  "createTime": string,
  "updateTime": string,
  "reachabilityDetails": {
    object (ReachabilityDetails)
  }
}
字段
name

string

必需。资源的唯一名称,格式为:projects/{projectId}/tests/{testId}

description

string

用户提供的连接测试说明。最多 512 个字符。

source

object (Endpoint)

必需。连接测试的来源规范。

您可以使用来源 IP 地址、虚拟机实例或 Compute Engine 网络的组合来唯一标识来源位置。

示例:如果来源 IP 地址是 Google Cloud Virtual Private Cloud (VPC) 网络中的内部 IP 地址,那么您还必须指定 VPC 网络。否则,请指定虚拟机实例,该实例已包含其内部 IP 地址和 VPC 网络信息。

如果测试的来源位于本地网络内,则您必须提供目标 VPC 网络。

如果来源端点是具有多个网络接口的 Compute Engine 虚拟机实例,则该实例本身不足以标识此端点。因此,您还必须指定来源 IP 地址或 VPC 网络。

即使来源位置不明确,也会进行可达性分析。但是,测试结果可能包含您不打算测试的端点。

destination

object (Endpoint)

必需。连接测试的目标规范。

您可以结合使用目标 IP 地址、Compute Engine 虚拟机实例或 VPC 网络来唯一标识目标位置。

即使目标 IP 地址不是唯一的,来源 IP 位置也是唯一的。通常,分析可以根据路由信息推断目标端点。

如果您指定的目标是虚拟机实例,并且该实例具有多个网络接口,则您还必须指定目标 IP 地址或 VPC 网络以标识目标接口。

即使目标位置不明确,也会进行可达性分析。但是,结果可能包含您不打算测试的端点。

protocol

string

测试的 IP 协议。如果未提供,则假定为“TCP”。

relatedProjects[]

string

与可达性分析可能相关的其他项目。这适用于测试可能跨越项目边界的情景。

displayName

string

仅供输出。连接测试的显示名称。

labels

map (key: string, value: string)

用于表示用户提供的元数据的资源标签。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

createTime

string (Timestamp format)

仅供输出。测试的创建时间。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒。示例:"2014-10-02T15:01:23.045123456Z"

updateTime

string (Timestamp format)

仅供输出。测试配置的更新时间。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒。示例:"2014-10-02T15:01:23.045123456Z"

reachabilityDetails

object (ReachabilityDetails)

仅供输出。最近一次运行该测试的可达性详情。在创建新测试,更新现有测试或触发现有测试的一次性重新运行时,系统将更新该详情。

端点

连接测试的来源或目标。

JSON 表示法

{
  "ipAddress": string,
  "port": integer,
  "instance": string,
  "network": string,
  "networkType": enum (NetworkType),
  "projectId": string
}
字段
ipAddress

string

端点的 IP 地址,可以是外部 IP 或内部 IP。仅当测试的目标是全局负载平衡器 VIP 时,才允许使用 IPv6 地址。

port

integer

端点的 IP 协议端口。仅在协议为 TCP 或 UDP 时适用。

instance

string

Compute Engine 实例 URI。

network

string

Compute Engine 网络 URI。

networkType

enum (NetworkType)

端点所在的网络的类型。仅适用于来源端点,因为可以从来源推断出目标网络类型。

projectId

string

端点所在的项目 ID。如果提供了虚拟机实例或网络 URI,则可以从 URI 派生项目 ID。以下是必须提供项目 ID 的两种情况:1. 仅指定了 IP 地址,并且该 IP 地址在 GCP 项目中。2. 使用共享 VPC 时,您提供的 IP 地址来自服务项目。在这种情况下,将在宿主项目中定义 IP 地址所在的网络。

NetworkType

端点网络的类型定义。使用以下选项之一:

NETWORK_TYPE_UNSPECIFIED

如果未指定,则为默认类型。

GCP_NETWORK

Google Cloud Platform 中托管的网络。如需接收更多详细输出,请指定来源或目标网络的 URI。

NON_GCP_NETWORK

在 Google Cloud Platform 外部托管的网络。这可以是本地网络,也可以是由其他云服务商托管的网络。

枚举
NETWORK_TYPE_UNSPECIFIED 如果未指定,则为默认类型。
GCP_NETWORK Google Cloud Platform 中托管的网络。如需接收更多详细输出,请指定来源或目标网络的 URI。
NON_GCP_NETWORK 在 Google Cloud Platform 外部托管的网络。这可以是本地网络,也可以是由其他云服务商托管的网络。

ReachabilityDetails

最近一次运行的可达性状态的详细信息。

JSON 表示法

{
  "result": enum (Result),
  "verifyTime": string,
  "error": {
    object (Status)
  },
  "traces": [
    {
      object (Trace)
    }
  ]
}
字段
result

enum (Result)

测试的总体可达性结果。

verifyTime

string (Timestamp format)

可达性状态得到验证的时间。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒。示例:"2014-10-02T15:01:23.045123456Z"

error

object (Status)

可达性分析失败或取消可达性分析的详细信息。

traces[]

object (Trace)

如果一项测试在网络中具有多个可能的路径(例如当目标端点是具有多个后端的负载平衡器时),则结果可能包含跟踪记录列表。

结果

测试的总体可达性结果,可以是下列值之一:

RESULT_UNSPECIFIED

未指定结果。

REACHABLE

来源数据包有望到达目标。可能的场景是:*数据包被追踪到目标。*根据您拥有权限的配置,分析已部分完成。最终状态指示数据包已转发。

UNREACHABLE

来源数据包有望在到达目标之前被丢弃。

UNDETERMINED

无法确定可达性。可能的原因是:*由于权限错误,分析已中止。用户没有对该测试中所列项目的读取权限。*由于无效的参数,分析已中止,或者分析器无法识别有效的端点位置进行分析。*由于内部错误,分析已中止。

AMBIGUOUS

如果来源端点和目标端点不能唯一地标识网络中的测试位置,并且可达性结果包含具有可到达和不可到达状态混合的多个跟踪记录,则将返回此结果。

枚举
RESULT_UNSPECIFIED 未指定结果。
REACHABLE 来源数据包有望到达目标。
UNREACHABLE 来源数据包有望在到达目标之前被丢弃。
AMBIGUOUS 如果来源端点和目标端点不能唯一地标识网络中的测试位置,并且可达性结果包含具有可到达和不可到达状态混合的多个跟踪记录,则将返回此结果。
UNDETERMINED

无法确定可达性。可能的原因包括:

  • 由于权限错误,分析已中止。用户没有对该测试中所列项目的读取权限。
  • 由于内部错误,分析已中止。
  • 根据用户拥有权限的配置,分析已部分完成。最终状态指示数据包已转发到用户没有权限访问这些配置的另一个网络。

跟踪记录

跟踪记录表示一条模拟数据包转发的路径。

  • 每条跟踪记录包含多个有序的步骤。
  • 每个步骤都处于特定状态,并具有关联的配置。
  • 状态被分类为最终或非最终状态。
  • 每个最终状态都有一个与之相关的原因。
  • 每个跟踪记录必须以最终状态(最后一步)结束。


  |---------------------Trace----------------------|
  Step1(State) Step2(State) ---  StepN(State(final))
JSON 表示法

{
  "endpointInfo": {
    object (EndpointInfo)
  },
  "steps": [
    {
      object (Step)
    }
  ]
}
字段
endpointInfo

object (EndpointInfo)

从来源和目标端点定义派生,并由数据平面模型验证。如果存在从不同来源位置开始的多个跟踪记录,则跟踪记录之间的 endpointInfo 可能会有所不同。

steps[]

object (Step)

测试的跟踪记录包含从初始状态到最终状态(已递送、已丢弃、已转发或已中止)的多个步骤。

这些步骤按模拟网络状态机内的处理顺序排序。保留这些步骤的顺序,并避免对它们进行重新排列或排序,这一点至关重要。

EndpointInfo

仅用于显示。测试端点的规范。EndpointInfo 派生自来源端点和目标端点,并由后端数据平面模型验证。

JSON 表示法

{
  "sourceIp": string,
  "destinationIp": string,
  "protocol": string,
  "sourcePort": integer,
  "destinationPort": integer,
  "sourceNetworkUri": string,
  "destinationNetworkUri": string
}
字段
sourceIp

string

来源 IP 地址。

destinationIp

string

目标 IP 地址。

protocol

string

字符串格式的 IP 协议,例如:“TCP”、“UDP”、“ICMP”。

sourcePort

integer

来源端口。仅在协议为 TCP 或 UDP 时有效。

destinationPort

integer

目标端口。仅在协议为 TCP 或 UDP 时有效。

sourceNetworkUri

string

此数据包源自的网络的 URI。

destinationNetworkUri

string

此数据包发送到的网络的 URI。

步骤

模拟转发路径由多个步骤组成。每个步骤都有一个明确定义的状态和关联的配置。

JSON 表示法

{
  "description": string,
  "state": enum (State),
  "causesDrop": boolean,
  "projectId": string,

  // Union field step_info can be only one of the following:
  "instance": {
    object (InstanceInfo)
  },
  "firewall": {
    object (FirewallInfo)
  },
  "route": {
    object (RouteInfo)
  },
  "endpoint": {
    object (EndpointInfo)
  },
  "forwardingRule": {
    object (ForwardingRuleInfo)
  },
  "vpnGateway": {
    object (VpnGatewayInfo)
  },
  "vpnTunnel": {
    object (VpnTunnelInfo)
  },
  "deliver": {
    object (DeliverInfo)
  },
  "forward": {
    object (ForwardInfo)
  },
  "abort": {
    object (AbortInfo)
  },
  "drop": {
    object (DropInfo)
  },
  "loadBalancer": {
    object (LoadBalancerInfo)
  },
  "network": {
    object (NetworkInfo)
  }
  // End of list of possible types for union field step_info.
}
字段
description

string

步骤说明。通常,这是状态的摘要。

state

enum (State)

每个步骤都处于某种预定义状态。

causesDrop

boolean

这是通向最终状态“丢弃”的步骤。

projectId

string

包含此步骤正在验证的配置的项目 ID。

联合字段 step_info。与每个步骤关联的配置或元数据。根据查看者的许可过滤配置。如果查看者无权在此步骤中查看相应配置,则对于非最终状态,将填充特殊状态 (VIEWER_PERMISSION_MISSING);对于最终状态,将清除该配置。step_info 只能是下列其中一项:
instance

object (InstanceInfo)

显示 Compute Engine 实例的信息。

firewall

object (FirewallInfo)

显示 Compute Engine 防火墙规则的信息。

route

object (RouteInfo)

显示 Compute Engine 路由的信息。

endpoint

object (EndpointInfo)

显示正在分析的来源和目标的信息。处于中间状态的端点信息可能与初始输入有所不同,因为它可能会被 NAT 或连接代理之类的状态所修改。

forwardingRule

object (ForwardingRuleInfo)

显示 Compute Engine 转发规则的信息。

vpnGateway

object (VpnGatewayInfo)

显示 Compute Engine VPN 网关的信息。

vpnTunnel

object (VpnTunnelInfo)

显示 Compute Engine VPN 隧道的信息。

deliver

object (DeliverInfo)

显示最终状态“递送”和原因的信息。

forward

object (ForwardInfo)

显示最终状态“转发”和原因的信息。

abort

object (AbortInfo)

显示最终状态“中止”和原因的信息。

drop

object (DropInfo)

显示最终状态“丢弃”和原因的信息。

loadBalancer

object (LoadBalancerInfo)

显示负载平衡器的信息。

network

object (NetworkInfo)

显示 GCP 网络的信息。

状态

网络状态机中定义的状态类型。数据包跟踪记录中的每个步骤都处于特定状态。

STATE_UNSPECIFIED

未指定状态。

START_FROM_INSTANCE

初始状态:来自 Compute Engine 实例的数据包。

InstanceInfo

将使用初始实例信息填充。

START_FROM_INTERNET

初始状态:来自互联网的数据包。端点信息将被填充。

START_FROM_PRIVATE_NETWORK

初始状态:来自具有内部来源 IP 的 VPC 或本地网络的数据包。如果来源是对用户可见的 Virtual Private Cloud (VPC) 网络,则

NetworkInfo

将填充网络的详细信息。

APPLY_INGRESS_FIREWALL_RULE

配置检查状态:验证入站防火墙规则。

APPLY_EGRESS_FIREWALL_RULE

配置检查状态:验证出站防火墙规则。

APPLY_ROUTE

配置检查状态:验证路由。

APPLY_FORWARDING_RULE

配置检查状态:匹配转发规则。

SPOOFING_APPROVED

配置检查状态:数据包在外部 IP 地址下发送或接收并被允许。

ARRIVE_AT_INSTANCE

转发状态:到达 Compute Engine 实例。

ARRIVE_AT_INTERNAL_LOAD_BALANCER

转发状态:到达 Compute Engine 内部负载平衡器。

ARRIVE_AT_EXTERNAL_LOAD_BALANCER

转发状态:到达 Compute Engine 外部负载平衡器。

ARRIVE_AT_VPN_GATEWAY

转发状态:到达 Cloud VPN 网关。

ARRIVE_AT_VPN_TUNNEL

转发状态:到达 Cloud VPN 隧道。

NAT

过渡状态:数据包标头已转换。

PROXY_CONNECTION

过渡状态:原始连接已终止,新的代理连接已启动。

DELIVER

最终状态:数据包可以被递送。

DROP

最终状态:数据包可能被丢弃。

FORWARD

最终状态:数据包可能被转发到配置未知的网络。

ABORT

最终状态:分析已中止。

VIEWER_PERMISSION_MISSING

特殊状态:测试结果的查看者无权在此步骤中查看配置。

枚举
STATE_UNSPECIFIED 未指定状态。
START_FROM_INSTANCE 初始状态:来自 Compute Engine 实例的数据包。将使用起始实例信息填充 InstanceInfo。
START_FROM_INTERNET 初始状态:来自互联网的数据包。端点信息将被填充。
START_FROM_PRIVATE_NETWORK 初始状态:来自具有内部来源 IP 的 VPC 或本地网络的数据包。如果来源是对用户可见的 VPC 网络,则将使用网络详细信息填充 NetworkInfo。
APPLY_INGRESS_FIREWALL_RULE 配置检查状态:验证入站防火墙规则。
APPLY_EGRESS_FIREWALL_RULE 配置检查状态:验证出站防火墙规则。
APPLY_ROUTE 配置检查状态:验证路由。
APPLY_FORWARDING_RULE 配置检查状态:匹配转发规则。
SPOOFING_APPROVED 配置检查状态:数据包在外部 IP 地址下发送或接收并被允许。
ARRIVE_AT_INSTANCE 转发状态:到达 Compute Engine 实例。
ARRIVE_AT_INTERNAL_LOAD_BALANCER 转发状态:到达 Compute Engine 内部负载平衡器。
ARRIVE_AT_EXTERNAL_LOAD_BALANCER 转发状态:到达 Compute Engine 外部负载平衡器。
ARRIVE_AT_VPN_GATEWAY 转发状态:到达 Cloud VPN 网关。
ARRIVE_AT_VPN_TUNNEL 转发状态:到达 Cloud VPN 隧道。
NAT 过渡状态:数据包标头已转换。
PROXY_CONNECTION 过渡状态:原始连接已终止,新的代理连接已启动。
DELIVER 最终状态:数据包已递送。
DROP 最终状态:数据包已丢弃。
FORWARD 最终状态:数据包已转发到未知配置的网络。
ABORT 最终状态:分析已中止。
VIEWER_PERMISSION_MISSING 特殊状态:测试结果的查看者无权在此步骤中查看配置。

InstanceInfo

仅用于显示。与 Compute Engine 实例关联的元数据。

JSON 表示法

{
  "displayName": string,
  "uri": string,
  "interface": string,
  "networkUri": string,
  "internalIp": string,
  "externalIp": string,
  "networkTags": [
    string
  ],
  "serviceAccount": string
}
字段
displayName

string

Compute Engine 实例的名称。

uri

string

Compute Engine 实例的 URI。

interface

string

Compute Engine 实例的网络接口的名称。

networkUri

string

Compute Engine 网络的 URI。

internalIp

string

网络接口的内部 IP 地址。

externalIp

string

网络接口的外部 IP 地址。

networkTags[]

string

在实例上配置的网络标记。

serviceAccount

string

为实例授权的服务帐号。

FirewallInfo

仅用于显示。与 Compute Engine 防火墙规则关联的元数据。

JSON 表示法

{
  "displayName": string,
  "uri": string,
  "direction": string,
  "action": string,
  "priority": integer,
  "networkUri": string,
  "targetTags": [
    string
  ],
  "targetServiceAccounts": [
    string
  ]
}
字段
displayName

string

Compute Engine 防火墙规则的名称。

uri

string

Compute Engine 防火墙规则的 URI。隐式默认规则没有 URI。

direction

string

可能的值:INGRESS、EGRESS

action

string

可能的值:ALLOW、DENY

priority

integer

防火墙规则的优先级。

networkUri

string

Compute Engine 网络的 URI。

targetTags[]

string

防火墙规则的目标标记。

targetServiceAccounts[]

string

防火墙规则的目标服务帐号。

RouteInfo

仅用于显示。与 Compute Engine 路由关联的元数据。

JSON 表示法

{
  "routeType": enum (RouteType),
  "nextHopType": enum (NextHopType),
  "displayName": string,
  "uri": string,
  "destIpRange": string,
  "nextHop": string,
  "networkUri": string,
  "priority": integer,
  "instanceTags": [
    string
  ]
}
字段
routeType

enum (RouteType)

路由类型。

nextHopType

enum (NextHopType)

下一个跃点的类型。

displayName

string

Compute Engine 路由的名称。

uri

string

Compute Engine 路由的 URI。来自 Cloud Router 的动态路由没有 URI。从 Google Cloud VPC 到本地网络的通告路由也没有 URI。

destIpRange

string

路由的目标 IP 范围。

nextHop

string

路由的下一个跃点。

networkUri

string

Compute Engine 网络的 URI。

priority

integer

路由的优先级。

instanceTags[]

string

路由的实例标记。

RouteType

路由类型:

ROUTE_TYPE_UNSPECIFIED

未指定类型。默认值。

SUBNET

路由是系统自动创建的子网路由。

STATIC

用户创建的静态路由,包括指向互联网的默认路由。

DYNAMIC

在 BGP 对等体之间交换的动态路由。

PEERING_SUBNET

从对等互连网络接收到的子网路由。

PEERING_STATIC

从对等互连网络接收的静态路由。

PEERING_DYNAMIC

从对等互连网络接收的动态路由。

枚举
ROUTE_TYPE_UNSPECIFIED 未指定类型。默认值。
SUBNET 路由是系统自动创建的子网路由。
STATIC 用户创建的静态路由,包括指向互联网的默认路由。
DYNAMIC 在 BGP 对等体之间交换的动态路由。
PEERING_SUBNET 从对等互连网络接收到的子网路由。
PEERING_STATIC 从对等互连网络接收的静态路由。
PEERING_DYNAMIC 从对等互连网络接收的动态路由。

NextHopType

下一个跃点的类型:

NEXT_HOP_TYPE_UNSPECIFIED

未指定类型。默认值。

NEXT_HOP_IP

下一个跃点是 IP 地址。

NEXT_HOP_INSTANCE

下一个跃点是 Compute Engine 实例。

NEXT_HOP_NETWORK

下一个跃点是 VPC 网络网关。

NEXT_HOP_PEERING

下一个跃点是对等互连 VPC。

NEXT_HOP_INTERCONNECT

下一个跃点是互连。

NEXT_HOP_VPN_TUNNEL

下一个跃点是 VPN 隧道。

NEXT_HOP_VPN_GATEWAY

下一个跃点是 VPN 网关。仅当通过 VPN 跟踪从本地到 GCP 的连接时,才会发生这种情况。该分析会模拟通过 VPN 隧道从本地网络离开的数据包,并到达 Cloud VPN 网关。

NEXT_HOP_INTERNET_GATEWAY

下一个跃点是互联网网关。

NEXT_HOP_BLACKHOLE

下一个跃点是黑洞;也就是说,下一个跃点不存在或未运行。

枚举
NEXT_HOP_TYPE_UNSPECIFIED 未指定类型。默认值。
NEXT_HOP_IP 下一个跃点是 IP 地址。
NEXT_HOP_INSTANCE 下一个跃点是 Compute Engine 实例。
NEXT_HOP_NETWORK 下一个跃点是 VPC 网络网关。
NEXT_HOP_PEERING 下一个跃点是对等互连 VPC。
NEXT_HOP_INTERCONNECT 下一个跃点是互连。
NEXT_HOP_VPN_TUNNEL 下一个跃点是 VPN 隧道。
NEXT_HOP_VPN_GATEWAY 下一个跃点是 VPN 网关。仅当通过 VPN 跟踪从本地网络到 GCP 的连接时,才会发生这种情况。该分析会模拟通过 VPN 隧道从本地网络离开的数据包,并到达 Cloud VPN 网关。
NEXT_HOP_INTERNET_GATEWAY 下一个跃点是互联网网关。
NEXT_HOP_BLACKHOLE 下一个跃点是黑洞;也就是说,下一个跃点不存在或未运行。

ForwardingRuleInfo

仅用于显示。与 Compute Engine 转发规则关联的元数据。

JSON 表示法

{
  "displayName": string,
  "uri": string,
  "matchedProtocol": string,
  "matchedPortRange": string,
  "vip": string,
  "target": string,
  "networkUri": string
}
字段
displayName

string

Compute Engine 转发规则的名称。

uri

string

Compute Engine 转发规则的 URI。

matchedProtocol

string

在转发规则中定义的与测试匹配的协议。

matchedPortRange

string

在转发规则中定义的与测试匹配的端口范围。

vip

string

转发规则的 VIP。

target

string

转发规则的目标类型。

networkUri

string

网络 URI。仅对内部负载平衡器有效。

VpnGatewayInfo

仅用于显示。与 Compute Engine VPN 网关关联的元数据。

JSON 表示法

{
  "displayName": string,
  "uri": string,
  "networkUri": string,
  "ipAddress": string,
  "vpnTunnelUri": string,
  "region": string
}
字段
displayName

string

VPN 网关的名称。

uri

string

VPN 网关的 URI。

networkUri

string

配置了 VPN 网关的 Compute Engine 网络的 URI。

ipAddress

string

VPN 网关的 IP 地址。

vpnTunnelUri

string

与该 VPN 网关关联的 VPN 隧道。一个 VPN 网关上可能配置了多个 VPN 隧道,并且仅显示与测试相关的那个。

region

string

配置了此 VPN 网关的 GCP 区域的名称。

VpnTunnelInfo

仅用于显示。与 Compute Engine VPN 隧道关联的元数据。

JSON 表示法

{
  "displayName": string,
  "uri": string,
  "sourceGateway": string,
  "remoteGateway": string,
  "remoteGatewayIp": string,
  "sourceGatewayIp": string,
  "networkUri": string,
  "region": string,
  "routingType": enum (RoutingType)
}
字段
displayName

string

VPN 隧道的名称。

uri

string

VPN 隧道的 URI。

sourceGateway

string

隧道本地端 VPN 网关的 URI。

remoteGateway

string

隧道远程端 VPN 网关的 URI。

remoteGatewayIp

string

远程 VPN 网关的 IP 地址。

sourceGatewayIp

string

本地 VPN 网关的 IP 地址。

networkUri

string

配置了 VPN 隧道的 Compute Engine 网络的 URI。

region

string

配置了此 VPN 隧道的 GCP 区域的名称。

routingType

enum (RoutingType)

路由政策的类型。

RoutingType

VPN 路由政策的类型。如需了解详情,请参阅网络和隧道路由

ROUTING_TYPE_UNSPECIFIED

未指定类型。默认值。

ROUTE_BASED

基于路由的 VPN。

POLICY_BASED

基于政策的路由。

DYNAMIC

动态 (BGP) 路由。

枚举
ROUTING_TYPE_UNSPECIFIED 未指定类型。默认值。
ROUTE_BASED 基于路由的 VPN。
POLICY_BASED 基于政策的路由。
DYNAMIC 动态 (BGP) 路由。

DeliverInfo

最终状态“递送”和相关资源的详细信息。

JSON 表示法

{
  "target": enum (Target),
  "resourceUri": string
}
字段
target

enum (Target)

数据包递送到的目标类型。

resourceUri

string

数据包递送到的资源的 URI。

Target

递送目标类型:

TARGET_UNSPECIFIED

未指定目标。

INSTANCE

目标是 Compute Engine 实例。

INTERNET

目标是互联网。

GOOGLE_API

目标是 Google API。

枚举
TARGET_UNSPECIFIED 未指定目标。
INSTANCE 目标是 Compute Engine 实例。
INTERNET 目标是互联网。
GOOGLE_API 目标是 Google API。

ForwardInfo

最终状态“转发”和相关资源的详细信息。

JSON 表示法

{
  "target": enum (Target),
  "resourceUri": string
}
字段
target

enum (Target)

该数据包转发到的目标类型。

resourceUri

string

数据包转发到的资源的 URI。

Target

转发目标类型。

TARGET_UNSPECIFIED

未指定目标。

PEERING_VPC

已转发到 VPC 对等互连网络。

VPN_GATEWAY

已转发到 Cloud VPN 网关。

INTERCONNECT

已转发到 Cloud Interconnect 连接。

GKE_MASTER

已转发到 Google Kubernetes Engine 容器集群主实例。

IMPORTED_CUSTOM_ROUTE_NEXT_HOP

已转发到从对等互连 VPC 导入的自定义路由的下一个跃点。

枚举
TARGET_UNSPECIFIED 未指定目标。
PEERING_VPC 已转发到 VPC 对等互连网络。
VPN_GATEWAY 已转发到 Cloud VPN 网关。
INTERCONNECT 已转发到 Cloud Interconnect 连接。
GKE_MASTER 已转发到 Google Kubernetes Engine 容器集群主实例。
IMPORTED_CUSTOM_ROUTE_NEXT_HOP 已转发到从对等互连 VPC 导入的自定义路由的下一个跃点。

AbortInfo

最终状态“中止”和相关资源的详细信息。

JSON 表示法

{
  "cause": enum (Cause),
  "resourceUri": string
}
字段
cause

enum (Cause)

导致分析中止的原因。

resourceUri

string

导致中止的资源的 URI。

Cause

中止原因类型:

CAUSE_UNSPECIFIED

原因不明。

UNKNOWN_NETWORK

由于未知网络而被中止。由于用户无权访问宿主项目的网络配置(包括防火墙规则和路由),因此无法进行可达性分析。当项目是服务项目并且要跟踪的端点在宿主项目的网络中时,会发生这种情况。

UNKNOWN_IP

已中止操作,因为 IP 地址未知。

UNKNOWN_PROJECT

已中止操作,因为无法从测试输入中获得任何项目信息。

PERMISSION_DENIED

已中止操作,因为用户缺乏访问运行测试所需的全部或部分网络配置的权限。

NO_SOURCE_LOCATION

已中止操作,因为无法通过输入测试请求提取到任何有效的源端点。

INVALID_ARGUMENT

已中止操作,因为测试中指定的来源和/或目标端点无效。端点无效的可能原因包括:IP 地址格式错误;实例或网络 URI 不存在;IP 地址不在指定的网络 URI 范围内;以及实例不拥有指定网络中的网络接口。

NO_EXTERNAL_IP

已中止操作,因为流量是从公共 IP 发送到没有外部 IP 的实例的。

UNINTENDED_DESTINATION

已中止操作,因为没有跟踪记录与输入测试请求中指定的目标信息匹配。

TRACE_TOO_LONG

已中止操作,因为跟踪记录中步骤数超出特定上限,这可能是由路由循环所致。

枚举
CAUSE_UNSPECIFIED 原因不明。
UNKNOWN_NETWORK 由于未知网络而被中止。由于用户无权访问宿主项目的网络配置(包括防火墙规则和路由),因此无法进行可达性分析。当项目是服务项目并且要跟踪的端点在宿主项目的网络中时,会发生这种情况。
UNKNOWN_IP 已中止操作,因为 IP 地址未知。
UNKNOWN_PROJECT 已中止操作,因为无法从测试输入中获得任何项目信息。
PERMISSION_DENIED 已中止操作,因为用户缺乏访问运行测试所需的全部或部分网络配置的权限。
NO_SOURCE_LOCATION 已中止操作,因为无法通过输入测试请求提取到任何有效的源端点。
INVALID_ARGUMENT 已中止操作,因为测试中指定的来源和/或目标端点无效。端点无效的可能原因包括:IP 地址格式错误;实例或网络 URI 不存在;IP 地址不在指定的网络 URI 范围内;以及实例不拥有指定网络中的网络接口。
NO_EXTERNAL_IP 已中止操作,因为流量是从公共 IP 发送到没有外部 IP 的实例的。
UNINTENDED_DESTINATION 已中止操作,因为没有跟踪记录与输入测试请求中指定的目标信息匹配。
TRACE_TOO_LONG 已中止操作,因为跟踪记录中步骤数超出特定上限,这可能是由路由循环所致。

DropInfo

最终状态“丢弃”和相关资源的详细信息。

JSON 表示法

{
  "cause": enum (Cause),
  "resourceUri": string
}
字段
cause

enum (Cause)

导致数据包被丢弃的原因。

resourceUri

string

导致丢弃的资源的 URI。

Cause

丢弃原因类型:

CAUSE_UNSPECIFIED

原因不明。

UNKNOWN_EXTERNAL_ADDRESS

目标外部地址无法解析为已知目标。如果该地址用在 GCP 项目中,请提供项目 ID 作为测试输入。

FOREIGN_IP_DISALLOWED

如果出现以下情况,Compute Engine 实例只能发送或接收具有外部 IP 的数据包

ip_forward

已启用。

FIREWALL_RULE

因为防火墙规则而被丢弃,除非因为连接跟踪之故获得允许。

NO_ROUTE

因为没有路由而被丢弃。

ROUTE_BLACKHOLE

因路由无效而被丢弃。路由的下一个跃点是黑洞。

ROUTE_WRONG_NETWORK

数据包意外发送至错误的网络。示例:您跟踪了从 VM1:Network1 到 VM2:Network2 的数据包,但在 Network1 中配置的路由会将发往 VM2 的 IP 地址的数据包发送到 Network3。

PRIVATE_TRAFFIC_TO_INTERNET

目标地址为内部地址的数据包被发送至互联网网关。

PRIVATE_GOOGLE_ACCESS_DISALLOWED

只分配了内部 IP 的实例想要访问 Google API 及服务,但专用 Google 访问通道并未启用。

NO_EXTERNAL_ADDRESS

只分配了内部 IP 的实例想要访问外部主机,但子网中并未启用 Cloud NAT,除非虚拟机上的特殊配置允许此连接。如需了解详情,请参见虚拟机实例的特殊配置

UNKNOWN_INTERNAL_ADDRESS

目标内部地址无法解析为已知目标。如果这是共享 VPC 场景,请验证是否提供了服务项目 ID 作为测试输入。否则,请验证项目中是否使用了 IP 地址。

FORWARDING_RULE_MISMATCH

转发规则的协议和端口与数据包标头不一致。

FORWARDING_RULE_NO_INSTANCES

转发规则没有配置后端。

FIREWALL_BLOCKING_LOAD_BALANCER_BACKEND_HEALTH_CHECK

防火墙会阻止对后端的运行状况检查探测,并导致后端无法用于来自负载平衡器的流量。如需了解详情,请参阅[运行状况检查防火墙规则](/load-balancing/docs/ health-checks#firewall_rules)。

INSTANCE_NOT_RUNNING

从非运行状态的 Compute Engine 实例发送或发送给该实例的数据包。

TRAFFIC_TYPE_BLOCKED

流量类型被阻止,用户无法配置防火墙规则来启用它。如需了解详情,请参阅[始终禁止的流量](/vpc/docs/firewalls# blockedtraffic)。

GKE_MASTER_UNAUTHORIZED_ACCESS

未经授权,无法访问 GKE 主节点的端点。如需了解详情,请参阅[访问集群端点](/kubernetes-engine/docs/how-to/ private-clusters#access_to_the_cluster_endpoints)。

枚举
CAUSE_UNSPECIFIED 原因不明。
UNKNOWN_EXTERNAL_ADDRESS 目标外部地址无法解析为已知目标。
FOREIGN_IP_DISALLOWED

Compute Engine 实例只能发送或接收具有外部 IP 的数据包

if ip_forward

已启用。

FIREWALL_RULE 因为防火墙规则而被丢弃,除非因为连接跟踪之故获得允许。
NO_ROUTE 因为没有路由而被丢弃。
ROUTE_BLACKHOLE 因路由无效而被丢弃。路由的下一个跃点是黑洞。
ROUTE_WRONG_NETWORK 数据包意外发送至错误的网络。示例:用户跟踪了从 VM1:Network1 到 VM2:Network2 的数据包,但在 Network1 中配置的路由会将发往 VM2 的 IP 地址的数据包发送到 Network3。
PRIVATE_TRAFFIC_TO_INTERNET 目标地址为内部地址的数据包被发送至互联网网关。
PRIVATE_GOOGLE_ACCESS_DISALLOWED 只分配了内部 IP 的实例想要访问 Google API 及服务,但专用 Google 访问通道并未启用。
NO_EXTERNAL_ADDRESS 只分配了内部 IP 的实例想要访问外部主机,但子网中并未启用 Cloud NAT,除非虚拟机上的特殊配置允许此连接。如需了解详情,请参见虚拟机实例的特殊配置
UNKNOWN_INTERNAL_ADDRESS 目标内部地址无法解析为已知目标。
FORWARDING_RULE_MISMATCH 转发规则的协议和端口与数据包标头不一致。
FORWARDING_RULE_NO_INSTANCES 转发规则没有配置后端。
FIREWALL_BLOCKING_LOAD_BALANCER_BACKEND_HEALTH_CHECK 防火墙会阻止对后端的运行状况检查探测,并导致后端无法用于来自负载平衡器的流量。如需了解详情,请参阅[运行状况检查防火墙规则](/load-balancing/docs/ health-checks#firewall_rules)。
INSTANCE_NOT_RUNNING 从非运行状态的 Compute Engine 实例发送或发送给该实例的数据包。
TRAFFIC_TYPE_BLOCKED 流量类型被阻止,用户无法配置防火墙规则来启用它。如需了解详情,请参阅[始终禁止的流量](/vpc/docs/firewalls# blockedtraffic)。
GKE_MASTER_UNAUTHORIZED_ACCESS 未获得对 GKE 主实例端点的访问权限。如需了解详情,请参阅[访问集群端点](/kubernetes-engine/docs/how-to/ private-clusters#access_to_the_cluster_endpoints)。

LoadBalancerInfo

仅用于显示。与负载平衡器关联的元数据。

JSON 表示法

{
  "loadBalancerType": enum (LoadBalancerType),
  "healthCheckUri": string,
  "backends": [
    {
      object (LoadBalancerBackend)
    }
  ],
  "backendType": enum (BackendType),
  "backendUri": string
}
字段
loadBalancerType

enum (LoadBalancerType)

负载平衡器的类型。

healthCheckUri

string

针对负载平衡器的运行状况检查的 URI。

backends[]

object (LoadBalancerBackend)

负载平衡器后端的信息。

backendType

enum (BackendType)

负载平衡器的后端配置类型。

backendUri

string

后端配置 URI。

LoadBalancerType

负载平衡器的类型定义:

LOAD_BALANCER_TYPE_UNSPECIFIED

类型未指定。

INTERNAL_TCP_UDP

内部 TCP/UDP 负载平衡器。

NETWORK_TCP_UDP

网络 TCP/UDP 负载平衡器。

HTTP_PROXY

HTTP(S) 代理负载平衡器。

TCP_PROXY

TCP 代理负载平衡器。

SSL_PROXY

SSL 代理负载平衡器。

枚举
LOAD_BALANCER_TYPE_UNSPECIFIED 类型未指定。
INTERNAL_TCP_UDP 内部 TCP/UDP 负载平衡器。
NETWORK_TCP_UDP 网络 TCP/UDP 负载平衡器。
HTTP_PROXY HTTP(S) 代理负载平衡器。
TCP_PROXY TCP 代理负载平衡器。
SSL_PROXY SSL 代理负载平衡器。

LoadBalancerBackend

仅用于显示。与特定负载平衡器后端关联的元数据。

JSON 表示法

{
  "displayName": string,
  "uri": string,
  "healthCheckFirewallState": enum (HealthCheckFirewallState),
  "healthCheckAllowingFirewallRules": [
    string
  ],
  "healthCheckBlockingFirewallRules": [
    string
  ]
}
字段
displayName

string

Compute Engine 实例或网络端点的名称。

uri

string

Compute Engine 实例或网络端点的 URI。

healthCheckFirewallState

enum (HealthCheckFirewallState)

运行状况检查防火墙配置的状态。

healthCheckAllowingFirewallRules[]

string

允许从运行状况检查 IP 范围进行探测的防火墙规则 URI 的列表。

healthCheckBlockingFirewallRules[]

string

禁止从运行状况检查 IP 范围进行探测的防火墙规则 URI 的列表。

HealthCheckFirewallState

运行状况检查防火墙配置的状态:

HEALTH_CHECK_FIREWALL_STATE_UNSPECIFIED

状态未指定。如果未填充,则为默认状态。

CONFIGURED

已配置防火墙规则,以允许对后端进行运行状况检查探测。

MISCONFIGURED

已配置防火墙规则,以允许部分运行状况检查范围或禁止所有运行状况检查范围。如果从拒绝的 IP 范围发送运行状况检查探测,则对后端的运行状况检查将失败。然后,后端将被标记为不正常,并且不会接收发送到负载平衡器的流量。

枚举
HEALTH_CHECK_FIREWALL_STATE_UNSPECIFIED 状态未指定。如果未填充,则为默认状态。
CONFIGURED 已配置防火墙规则,以允许对后端进行运行状况检查探测。
MISCONFIGURED 已配置防火墙规则,以允许部分运行状况检查范围或禁止所有运行状况检查范围。如果从拒绝的 IP 范围发送运行状况检查探测,则对后端的运行状况检查将失败。然后,后端将被标记为不正常,并且不会接收发送到负载平衡器的流量。

BackendType

负载平衡器后端配置的类型定义:

BACKEND_TYPE_UNSPECIFIED

类型未指定。

BACKEND_SERVICE

后端服务作为负载平衡器的后端。

TARGET_POOL

目标池作为负载平衡器的后端。

枚举
BACKEND_TYPE_UNSPECIFIED 类型未指定。
BACKEND_SERVICE 后端服务作为负载平衡器的后端。
TARGET_POOL 目标池作为负载平衡器的后端。

NetworkInfo

仅用于显示。与 Compute Engine 网络关联的元数据。

JSON 表示法

{
  "displayName": string,
  "uri": string,
  "matchedIpRange": string
}
字段
displayName

string

Compute Engine 网络的名称。

uri

string

Compute Engine 网络的 URI。

matchedIpRange

string

与测试匹配的 IP 范围。

方法

create

创建一个新的连接测试。

delete

删除特定的 ConnectivityTest

get

详细了解特定连接测试。

getIamPolicy

获取资源的访问权限控制政策。

list

列出项目拥有的所有连接测试。

patch

更新现有 ConnectivityTest 的配置。

rerun

重新运行现有的 ConnectivityTest

setIamPolicy

针对指定资源设置访问权限控制政策。

testIamPermissions

返回调用者对指定资源拥有的权限。