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 文字(全角 256 文字)以内)

source

object (Endpoint)

必須。接続テストの送信元仕様。

送信元 IP アドレス、仮想マシン(VM)インスタンス、または Compute Engine ネットワークの組み合わせを使用して、送信元の場所を一意に識別できます。

例: 送信元 IP アドレスが Google Cloud Virtual Private Cloud(VPC)ネットワーク内の内部 IP アドレスである場合、VPC ネットワークも指定する必要があります。それ以外の場合は、内部 IP アドレスと VPC ネットワーク情報がすでに含まれている VM インスタンスを指定します。

テストの送信元がオンプレミス ネットワーク内にある場合は、宛先 VPC ネットワークを指定する必要があります。

ソース エンドポイントが複数のネットワーク インターフェースを持つ Compute Engine VM インスタンスである場合、インスタンス自体ではエンドポイントを特定するのに十分ではありません。したがって、送信元 IP アドレスまたは VPC ネットワークも指定する必要があります。

送信元の場所があいまいであっても、ネットワーク到達性分析は続行されます。ただし、テスト結果には、テストする予定のないエンドポイントが含まれる場合があります。

destination

object (Endpoint)

必須。接続テストの宛先指定。

宛先 IP アドレス、Compute Engine VM インスタンス、または VPC ネットワークの組み合わせを使用して、宛先の場所を一意に識別できます。

宛先 IP アドレスが一意でない場合でも、送信元 IP ロケーションは一意です。通常、分析ではルート情報から宛先エンドポイントを推測できます。

指定する宛先が VM インスタンスであり、インスタンスに複数のネットワーク インターフェースがある場合は、宛先 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「Zulu」形式のタイムスタンプ。精度はナノ秒。例: "2014-10-02T15:01:23.045123456Z"

updateTime

string (Timestamp format)

出力のみ。テストの構成が更新された時間。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒。例: "2014-10-02T15:01:23.045123456Z"

reachabilityDetails

object (ReachabilityDetails)

出力のみ。最新の実行からの、このテストのネットワーク到達性の詳細。詳細は、新しいテストの作成、既存のテストの更新、または既存のテストの 1 回限りの再実行のトリガー時に更新されます。

エンドポイント

接続テストの送信元または宛先。

JSON 表現

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

string

エンドポイントの IP アドレス(外部 IP または内部 IP)。IPv6 アドレスは、テストの宛先がグローバル ロードバランサ VIP の場合にのみ使用できます。

port

integer

エンドポイントの IP プロトコルポート。プロトコルが TCP または UDP の場合にのみ適用されます。

instance

string

Compute Engine インスタンスの URI。

network

string

Compute Engine ネットワークの URI。

networkType

enum (NetworkType)

エンドポイントが配置されているネットワークの種類。宛先ネットワークの種類は送信元から推測できるため、ソース エンドポイントにのみ適用されます。

projectId

string

エンドポイントが配置されているプロジェクト ID。VM インスタンスまたはネットワーク URI を指定した場合、プロジェクト ID は URI から取得できます。プロジェクト ID を指定する必要があるケースは次の 2 つです: 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「Zulu」形式のタイムスタンプ。精度はナノ秒。例: "2014-10-02T15:01:23.045123456Z"

error

object (Status)

ネットワーク到達性分析の失敗またはキャンセルの詳細。

traces[]

object (Trace)

宛先エンドポイントが複数のバックエンドを持つロードバランサである場合など、テストにネットワーク内の複数の有効なパスがある場合、結果にはトレースのリストが含まれる場合があります。

結果

テストの全体的なネットワーク到達性の結果です。これは次のいずれかの値になります。

RESULT_UNSPECIFIED

結果が指定されていません。

REACHABLE

送信元から発信されたパケットは宛先に到達すると想定されます。 考えられるシナリオは次のとおりです。* パケットは宛先までトレースされます。* 分析は、ユーザーが権限を持っている構成に基づいて部分的に完了しています。最終状態は、パケットが転送されたことを示します。

UNREACHABLE

送信元から発信されたパケットは、宛先に到達する前にドロップされることが想定されます。

UNDETERMINED

ネットワーク到達性を判定できませんでした。考えられる原因は次のとおりです。* 権限エラーのため分析が中止されました。ユーザーは、テストにリストされているプロジェクトに対する読み取り権限を持っていません。* 引数が無効なため分析が中止されたか、アナライザが分析に有効なエンドポイントの場所を特定できません。* 内部エラーのため分析が中止されました。

AMBIGUOUS

ソース エンドポイントと宛先エンドポイントがネットワーク内のテスト場所を一意に識別せず、ネットワーク到達性の結果に、到達可能状態と到達不能状態が混在する複数のトレースが含まれている場合、この結果が返されます。

列挙型
RESULT_UNSPECIFIED 結果が指定されていません。
REACHABLE 送信元から発信されたパケットは宛先に到達すると想定されます。
UNREACHABLE 送信元から発信されたパケットは、宛先に到達する前にドロップされることが想定されます。
AMBIGUOUS ソース エンドポイントと宛先エンドポイントがネットワーク内のテスト場所を一意に識別せず、ネットワーク到達性の結果に、到達可能状態と到達不能状態が混在する複数のトレースが含まれている場合、この結果が返されます。
UNDETERMINED

ネットワーク到達性を判定できませんでした。考えられる原因は次のとおりです。

  • 権限エラーのため分析が中止されました。ユーザーは、テストにリストされているプロジェクトに対する読み取り権限を持っていません。
  • 内部エラーのため分析が中止されました。
  • 分析は、ユーザーが権限を持っている構成に基づいて部分的に完了しています。最終状態は、ユーザーが構成にアクセスする権限を持っていない別のネットワークにパケットが転送されることを示します。

トレース

トレースは、シミュレートされた 1 つのパケット転送パスを表します。

  • 各トレースには、順序付けされた複数のステップが含まれています。
  • 各ステップは特定の状態にあり、関連付けられた構成があります。
  • 状態は、最終状態または非最終状態として分類されます。
  • 各最終状態には、その最終状態に関連付けられた理由があります。
  • 各トレースは、最終状態(最後のステップ)で終了する必要があります。


  |---------------------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

InstanceInfo には開始インスタンス情報が入力されます。

START_FROM_INTERNET

初期状態: インターネットから発信されるパケット。エンドポイントの情報が入力されます。

START_FROM_PRIVATE_NETWORK

初期状態: 内部送信元 IP を持つ VPC またはオンプレミス ネットワークから発信されるパケット。送信元がユーザーに表示される Virtual Private Cloud(VPC)ネットワークの場合、

NetworkInfo

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_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_UNSPECIFIED

ターゲットが指定されていません。

PEERING_VPC

VPC ピアリング ネットワークに転送されます。

VPN_GATEWAY

Cloud VPN ゲートウェイに転送されます。

INTERCONNECT

Cloud Interconnect 接続に転送されます。

GKE_MASTER

Google Kubernetes Engine Container クラスタ マスターに転送されます。

IMPORTED_CUSTOM_ROUTE_NEXT_HOP

ピアリング VPC からインポートされたカスタムルートのネクストホップに転送されます。

列挙型
TARGET_UNSPECIFIED ターゲットが指定されていません。
PEERING_VPC VPC ピアリング ネットワークに転送されます。
VPN_GATEWAY Cloud VPN ゲートウェイに転送されます。
INTERCONNECT Cloud Interconnect 接続に転送されます。
GKE_MASTER Google Kubernetes Engine Container クラスタ マスターに転送されます。
IMPORTED_CUSTOM_ROUTE_NEXT_HOP ピアリング VPC からインポートされたカスタムルートのネクストホップに転送されます。

AbortInfo

最終状態の「中止」および関連するリソースの詳細です。

JSON 表現

{
  "cause": enum (Cause),
  "resourceUri": string
}
項目
cause

enum (Cause)

分析の中止の原因。

resourceUri

string

中止の原因となったリソースの URI。

原因

中止の原因の種類には次のものがあります。

CAUSE_UNSPECIFIED

原因は指定されていません。

UNKNOWN_NETWORK

ネットワークが不明なため中止されました。ユーザーがファイアウォール ルールやルートなどのホスト プロジェクトのネットワーク構成にアクセスできないため、ネットワーク到達性分析を続行できません。これは、プロジェクトがサービス プロジェクトであり、トレース対象のエンドポイントがホスト プロジェクトのネットワークにある場合に発生します。

UNKNOWN_IP

IP アドレスが不明なため中止されました。

UNKNOWN_PROJECT

テスト入力からプロジェクト情報を取得できないため、中止されました。

PERMISSION_DENIED

テストの実行に必要なネットワーク構成のすべてまたは一部にアクセスする権限がないため、中止されました。

NO_SOURCE_LOCATION

有効なソース エンドポイントが入力テスト リクエストから取得されなかったため、中止されました。

INVALID_ARGUMENT

テストで指定されているソース エンドポイントおよび / または宛先エンドポイントが無効であるため、中止されました。エンドポイントが無効である理由として、次のことが考えられます。不正な IP アドレス。存在しないインスタンスまたはネットワーク URI。指定されたネットワーク URI の範囲にない IP アドレス。指定されたネットワーク内のネットワーク インターフェースを所有していないインスタンス。

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。指定されたネットワーク URI の範囲にない IP アドレス。指定されたネットワーク内のネットワーク インターフェースを所有していないインスタンス。
NO_EXTERNAL_IP トラフィックがパブリック IP から外部 IP のないインスタンスに送信されるため、中止されました。
UNINTENDED_DESTINATION 入力テスト リクエストで指定されている宛先情報に一致するトレースが存在しないため、中止されました。
TRACE_TOO_LONG トレースのステップ数が特定の上限を超えたため、中止されました(ルーティング ループが原因である可能性があります)。

DropInfo

最終状態の「ドロップ」および関連するリソースの詳細です。

JSON 表現

{
  "cause": enum (Cause),
  "resourceUri": string
}
項目
cause

enum (Cause)

パケットがドロップされる原因。

resourceUri

string

ドロップの原因のリソースの URI。

原因

ドロップの原因の種類は次のものがあります。

CAUSE_UNSPECIFIED

原因は指定されていません。

UNKNOWN_EXTERNAL_ADDRESS

外部の宛先アドレスを既知のターゲットに解決することができません。 アドレスが GCP プロジェクトで使用されている場合は、プロジェクト ID をテスト入力として指定します。

FOREIGN_IP_DISALLOWED

Compute Engine インスタンスは、外部 IP を含むパケットのみ送受信できます

ip_forward

(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 のみを使用するインスタンスが外部ホストにアクセスしようとしていますが、VM の特別な構成でこの接続が許可されていない限り、サブネットで Cloud NAT は有効になりません。詳細については、VM インスタンスの特別な構成をご覧ください。

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

(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 のみを使用するインスタンスが外部ホストにアクセスしようとしますが、VM の特別な構成でこの接続が許可されていない限り、サブネットで Cloud NAT は有効になりません。詳細については、VM インスタンスの特別な構成をご覧ください。
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 範囲からヘルスチェック プローブが送信されると、バックエンドへのヘルスチェックは失敗します。それから、バックエンドは異常とマークされ、ロードバランサに送信されたトラフィックを受信しません。

バックエンド タイプ

ロードバランサのバックエンド構成のタイプ定義は次のものがあります。

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

呼び出し元が指定されたリソース上で持つ権限を返します。