このページの手順に沿って、接続テストを実施する方法を習得します。
1 つ以上のテストを編集または削除するには、テストを更新または削除するをご覧ください。
接続テストの詳細については、概要をご覧ください。
始める前に
接続テストを行う前に、Google Cloud で次の項目を設定します。
Google Cloud Console でプロジェクト セレクタ ページに移動します。
Google Cloud プロジェクトを選択または作成します。
- Google Cloud プロジェクトで課金が有効になっていることを確認します。
Google Cloud SDK の一部である 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 クライアントを使用したサンプルコード
このサンプルコードは、Network Management API とやり取りする
api
という名前のリソースを作成していることを前提としています。リソースを作成するには、build
関数を使用します。次の例をご覧ください。from googleapiclient.discovery import build api = build('networkmanagement', 'v1')
API Python クライアントの詳細については、次をご覧ください。
- GitHub の Python 用 Google API クライアント ライブラリ。インストールと認証の手順が記載されています。
- API Python クライアントの Network Management API リファレンス ドキュメント。
- テストの実行と確認に必要な権限を取得します。詳しくは、アクセス権の割り当てをご覧ください。
接続テストを実施する
接続テストを実施するときは、テスト入力を送信元ポートのない 5 タプルとして提供します。
次のセクションでは、一般的な使用例で説明されている送信元エンドポイントと宛先エンドポイントのテストを実施する方法を示します。
Google Cloud コンソールで、次のいずれかを使用して接続テストを実施できます。
[ネットワーキング] > [Network Intelligence Center] メニューからアクセスできる [接続テスト] ページ
Compute Engine 仮想マシン(VM)インスタンスのネットワーク インターフェースの [ネットワーク インターフェースの詳細] ページ。このページを使用する場合は、テストのソースまたは宛先として、現在のネットワーク インターフェースを使用する必要があります。このページには、現在のネットワーク インターフェースに関連するテストのみが一覧表示されます。
作成した各テストは、作成した直後に実施され、接続テストリソースに保存されます。テストは削除されるまで存在します。
テスト オペレーションの実行中にそのステータスを確認するには、実行中のテスト オペレーションを確認するをご覧ください。テスト オペレーションには、たとえば create
と rerun
があります。
送信元または宛先エンドポイントに IP アドレスを使用する場合は、追加のフィールドを指定する必要があります。
ベスト プラクティス
共有 VPC サービス プロジェクトにあるエンドポイント(VM または IP アドレス)をテストする際は、サービス プロジェクトからテストを実施する方が便利です。これは、Google Cloud Console のプルダウン ボックスで VM または IP アドレスを選択できるためです。
ただし、ネットワークがホスト プロジェクト内にあるため、Virtual Private Cloud(VPC)ネットワークを指定する前にホスト プロジェクトを指定する必要があります。詳細については、共有 VPC ネットワークで IP アドレスをテストするをご覧ください。
VPC ネットワークとピア ネットワークまたはオンプレミス ネットワークの間でテストを実施する場合、オンプレミスの IP アドレスを送信元として使用し、VPC ネットワーク内の VM インスタンスまたは IP アドレスを宛先として使用することで、別の接続テストの実施時に役立ちます。
このタイプのテストにより、Google Cloud がオンプレミス ネットワークに想定どおりにルートをアドバタイジングしていることが確認されます。ただし、接続テストでは、オンプレミス ネットワークがこれらのルートを受信して実装したかどうかは確認されません。
接続テストが構成の更新を受信して分析に組み入れるまでには、20~120 秒かかります。構成を変更してすぐにテストを実行した場合、期待する結果が得られない可能性があります。構成を変更した後は、十分に待ってからテストを行うようにしてください。
この遅延は、ライブ データプレーン分析には適用されません。そのため、ライブデータ プレーン分析と構成分析が示す結果の間に、一時的に不整合が生じる場合があります。たとえば、ファイアウォール ルールを追加すると、ライブデータプレーン分析でアクセスされることがあります。構成分析に関しては、アクセスできるようになるまでしばらく待たなければならない場合があります。
複数のネットワーク インターフェースを持つ VM との間のテスト
このセクションでは、VM のプライマリ以外のネットワーク インターフェースとの間でテストを行う方法について説明します。
コンソール
複数のネットワーク インターフェースを持つ VM インスタンスをテストのソースまたは宛先として指定すると、接続テストでは、リストからネットワーク インターフェースを選択するよう求められます。
また、[ネットワーク インターフェースの詳細] ページから、Compute Engine VM インスタンスのネットワーク インターフェースをテストできます。このページを使用する場合は、テストのソースまたは宛先として、現在のネットワーク インターフェースを使用する必要があります。
gcloud と API
次のいずれかの方法で、テストに使用するネットワーク インターフェースを指定する必要があります。
- IP アドレスとネットワーク URI
- IP アドレスと VM URI
- ネットワーク URI と VM URI
複数のインターフェースを持つ VM の URI のみを提供すると、VM のプライマリ インターフェースのみが選択されます。
プロジェクトのすべてのテストを一覧表示する
コンソール
- Google Cloud Console で、[接続テスト] ページに移動します。
- ページの上部にあるプルダウン メニューでプロジェクトを選択します。
- [接続テスト] ページが更新され、そのプロジェクトのテストが表示されます。
gcloud
プロジェクトが所有するすべてのテストを一覧表示するには、次の gcloud
コマンドを入力します。このコマンドにより、現在選択されているプロジェクトのテストが表示されます。
gcloud network-management connectivity-tests list
特定のプロジェクトのテストを一覧表示するには、PROJECT_ID
を指定します。
gcloud network-management connectivity-tests list --project=PROJECT_ID
API
プロジェクトが所有する既存の全テストを一覧表示するには、projects.locations.global.connectivityTests.list
メソッドを使用します。
GET https://networkmanagement.googleapis.com/v1/{parent=projects/PROJECT_ID/locations/global}/connectivityTests
PROJECT_ID
は、一覧表示するテストが含まれているプロジェクトのプロジェクト ID に置き換えます。
Python
次のサンプルコードは、プロジェクトが所有する既存のすべてのテストを一覧表示します。詳細については、Python 用 Google API クライアント ライブラリの list
をご覧ください。
project_id = "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))
PROJECT_ID
は、一覧表示するテストが含まれているプロジェクトのプロジェクト ID に置き換えます。
VPC ネットワークの VM インスタンス間のテスト
この手順は、両方の VM インスタンスが同じ Google Cloud プロジェクトにあることを前提としています。
Console
接続テストのメインページから
-
Google Cloud コンソールで、[接続テスト] ページに移動します。
- [接続テストを作成] を選択します。
- [テスト名] フィールドにテストの名前を入力します。
- [プロトコル] リストでプロトコルを選択します。
-
[ソース] で次の操作を行います。
- [送信元エンドポイント] メニューから [VM インスタンス] を選択します。
- [送信元 VM インスタンス] メニューから、特定の送信元 VM インスタンスを選択します。
[ソース ネットワーク インターフェース] メニューで、ネットワーク インターフェースを選択します。
VM インスタンスに複数のネットワーク インターフェースがある場合は、ソースの場所を一意に識別する VM ネットワーク インターフェースを選択します。
- 省略可: リストから [ソース IP アドレス] を選択します。デフォルトは、送信元 VM インスタンスの IP アドレスです。
-
[宛先] で、次の操作を行います。
- [宛先エンドポイント] メニューから [VM インスタンス] を選択します。
- [宛先 VM インスタンス] メニューから、特定の宛先 VM インスタンスを選択します。
[宛先ネットワーク インターフェース] メニューで、ネットワーク インターフェースを選択します。
VM インスタンスに複数のネットワーク インターフェースがある場合は、VM ネットワーク インターフェースを選択して、宛先の場所を一意に識別します。
- 省略可: リストから [宛先 IP アドレス] を選択します。デフォルトは、宛先 VM インスタンスの IP アドレスです。
- [宛先ポート] フィールドに、宛先ポートを入力します。
- [作成] をクリックします。
注: デュアルスタック インスタンスの場合、送信元 IP アドレスと宛先 IP アドレスは同じタイプでなければなりません。たとえば、IPv4 アドレスの VM から IPv6 アドレスの VM にテストを行うことはできません。
テストが終了すると、[接続テスト] のメインページが読み込まれ、このテストと他のテストを含むリストが表示されます。 テスト結果を表示するに進みます。
ネットワーク インターフェースの詳細ページから
- Google Cloud Console で、[VM インスタンス] ページに移動します。
- まだ選択していない場合は、テスト対象のインスタンスを含むプロジェクトを選択します。
- テストの実施に使用するインスタンスをクリックします。
[ネットワーク インターフェース] で、テストの実施に使用するネットワーク インターフェースを選択します。
VM インスタンスに複数のネットワーク インターフェースがある場合は、VM ネットワーク インターフェースを選択して、宛先の場所を一意に識別します。
[ネットワーク分析] で [接続テストを作成] をクリックし、次の操作を行います。
- [テスト名] フィールドにテストの名前を入力します。
- [プロトコル] リストでプロトコルを選択します。
[ソース] で、[現在のネットワーク インターフェース] または [その他] を選択できます。
[現在のネットワーク インターフェース] を選択した場合は、次の操作を行います。
- [宛先エンドポイント] メニューから [VM インスタンス] を選択します。
- [宛先 VM インスタンス] メニューで、インスタンスを選択します。
- [宛先ネットワーク インターフェース] メニューで、ネットワーク インターフェースを選択します。
- 省略可: 宛先 IP アドレスを選択します。デフォルトは、宛先 VM インスタンスの IP アドレスです。
[その他] を選択した場合は、次の操作を行います。
- [送信元エンドポイント] メニューから [VM インスタンス] を選択します。
- [送信元 VM インスタンス] メニューで、インスタンスを選択します。
- [ソース ネットワーク インターフェース] メニューで、ネットワーク インターフェースを選択します。
- 省略可: 送信元 IP アドレスを選択します。デフォルトは、送信元 VM インスタンスの IP アドレスです。
[宛先ポート] フィールドに、指定した宛先の宛先ポートを入力します。
[作成] をクリックします。
テストが終了すると、[接続テスト] のメインページが読み込まれ、このテストと他のテストを含むリストが表示されます。テスト結果を表示するに進みます。
gcloud
サンプル値は、実際の VPC ネットワークの値で置き換えてください。
gcloud network-management connectivity-tests create NAME \ --source-instance=SOURCE_INSTANCE \ --source-ip-address=SOURCE_IP_ADDRESS \ --destination-instance=DESTINATION_INSTANCE \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --destination-port=DESTINATION_PORT \ --protocol=PROTOCOL
以下を置き換えます。
NAME
: 接続テストの名前SOURCE_INSTANCE
: ソース VM の URI(例:projects/myproject/zones/us-east1-b/instances/instance-1
)SOURCE_IP_ADDRESS
: テスト元のソース VM インスタンスの IP アドレス。IP アドレスは、ソース VM インスタンスの IP アドレスのいずれかである必要があります。DESTINATION_INSTANCE
: 宛先 VM の URI(例:projects/myproject/zones/us-east1-b/instances/instance-2
)DESTINATION_IP_ADDRESS
: テストの宛先 VM インスタンスの IP アドレス。IP アドレスは、宛先 VM インスタンスの IP アドレスのいずれかにする必要があります。DESTINATION_PORT
: 宛先の IP プロトコル ポート。このオプションは、TCP プロトコルまたは UDP プロトコルに対してのみ有効です。PROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。
Terraform
Terraform リソースを使用して、VPC ネットワーク内の 2 つの VM インスタンス間でテストを作成できます。
API
次のテストの例では、既存のネットワーク構成で VM instance1
が VM instance2
に ping できるかどうかを確認します。
projects.locations.global.connectivityTests.create
メソッドを使用します。
POST https: //networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "instance": "SOURCE_INSTANCE", "ipAddress": "SOURCE_IP_ADDRESS", }, "destination": { "instance": "DESTINATION_INSTANCE", "ipAddress": "DESTINATION_IP_ADDRESS", }, "protocol": "PROTOCOL", }'
以下を置き換えます。
PROJECT_ID
: ソース VM のプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の IDSOURCE_INSTANCE
: ソース VM の URI(例:projects/myproject/zones/us-east1-b/instances/instance-1
)SOURCE_IP_ADDRESS
: テスト元のソース VM インスタンスの IP アドレス。IP アドレスは、ソース VM インスタンスの IP アドレスのいずれかである必要があります。DESTINATION_INSTANCE
: 宛先 VM の URI(例:projects/myproject/zones/us-east1-b/instances/instance-2
)DESTINATION_IP_ADDRESS
: テストの宛先 VM インスタンスの IP アドレス。IP アドレスは、宛先 VM インスタンスの IP アドレスのいずれかにする必要があります。PROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。
Python
次のサンプルコードは、2 つの VM インスタンス間でテストを作成します。詳細については、Python 用 Google API クライアント ライブラリの create
をご覧ください。
test_input = { "source": { "instance": "SOURCE_INSTANCE", "ipAddress": "SOURCE_IP_ADDRESS", "projectId": "SOURCE_INSTANCE_PROJECT_ID" }, "destination": { "instance": "DESTINATION_INSTANCE", "ipAddress": "DESTINATION_IP_ADDRESS", "projectId": "DESTINATION_INSTANCE_PROJECT_ID" }, "protocol": "PROTOCOL", } request = api.projects().locations().global_().connectivityTests().create( parent="projects/PROJECT_ID/locations/global", testId="TEST_ID", body=test_input) print(json.dumps(request.execute(), indent=4))
以下を置き換えます。
SOURCE_INSTANCE
: ソース VM の URI(例:projects/myproject/zones/us-east1-b/instances/instance-1
)SOURCE_IP_ADDRESS
: テスト元のソース VM インスタンスの IP アドレス。IP アドレスは、ソース VM インスタンスの IP アドレスのいずれかである必要があります。SOURCE_INSTANCE_PROJECT_ID
: ソース VM のプロジェクト IDDESTINATION_INSTANCE
: 宛先 VM の URI(例:projects/myproject/zones/us-east1-b/instances/instance-2
)DESTINATION_IP_ADDRESS
: テストの宛先 VM インスタンスの IP アドレス。IP アドレスは、宛先 VM インスタンスの IP アドレスのいずれかにする必要があります。DESTINATION_INSTANCE_PROJECT_ID
: 宛先 VM のプロジェクト IDPROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。PROJECT_ID
: テストを作成するプロジェクトのプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の ID
VPC ネットワーク内のプライベート IP アドレス間のテスト
この例では、両方の IP アドレスが、同じ Google Cloud プロジェクトで同じ VPC ネットワーク内のプライベート IP アドレスであると想定しています。
ピアリングされた VPC ネットワーク間でテストする場合は、各ピアのソースネットワークと宛先ネットワークを選択します。
コンソール
-
Google Cloud コンソールで、[接続テスト] ページに移動します。
残りの手順は、Google Cloud コンソールに表示されます。
-
[接続テストを作成] を選択します。
- [テスト名] フィールドにテストの名前を入力します。
- [プロトコル] リストでプロトコルを選択します。
-
[ソース] で次の操作を行います。
- [送信元エンドポイント] リストで、[IP アドレス] を選択します。
- [送信元 IP アドレス] フィールドに、送信元 IP アドレスを入力します。
-
送信元 IP アドレスの VPC ネットワークが現在のプロジェクトにある場合は、[これは Google Cloud で使用される IP アドレスです] チェックボックスをオフにします。
VPC ネットワークが別のプロジェクトにある場合、[送信元 IP アドレスまたはサービス プロジェクト] フィールドで、ネットワークが配置されているプロジェクトを選択します。
IP アドレスが RFC 1918 アドレス空間に含まれない場合は、[I confirm that the source endpoint resides in a range outside of the RFC 1918 address space] チェックボックスをオンにします。次に、[送信元ネットワーク] リストで、送信元 IP アドレスを含むネットワークを選択します。
-
[宛先] で、次の操作を行います。
- [宛先エンドポイント] リストで、[IP アドレス] を選択します。
- [宛先 IP アドレス] フィールドに、宛先 IP アドレスを入力します。
-
宛先 IP アドレスの VPC ネットワークが現在のプロジェクトにある場合は、[これは Google Cloud で使用される IP アドレスです] チェックボックスをオフにします。
VPC ネットワークが別のプロジェクトにある場合、[宛先 IP アドレスまたはサービス プロジェクト] フィールドで、ネットワークが配置されているプロジェクトを選択します。
IP アドレスが RFC 1918 アドレス空間に含まれない場合は、[I confirm that the destination endpoint resides in a range outside of the RFC 1918 address space] チェックボックスをオンにします。次に、[宛先ネットワーク] リストで、宛先 IP アドレスを含むネットワークを選択します。
- [宛先ポート] フィールドに、有効な宛先ポート番号を入力します。この番号は 0~65535 の範囲で指定する必要があります。
- [作成] をクリックします。
テストが終了すると、[接続テスト] のメインページが読み込まれ、このテストと他のテストを含むリストが表示されます。テスト結果を表示するに進みます。
gcloud
コマンド オプションの変数は、VPC ネットワークの値に置き換えてください。
gcloud network-management connectivity-tests create NAME \ --source-ip-address=SOURCE_IP_ADDRESS \ --source-network=SOURCE_NETWORK \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --destination-network=DESTINATION_NETWORK \ --destination-port=DESTINATION_PORT \ --protocol=PROTOCOL
以下を置き換えます。
NAME
: 接続テストの名前SOURCE_IP_ADDRESS
: テストの送信元 IP アドレスSOURCE_NETWORK
: 送信元 IP アドレスがある VPC ネットワークの URI(たとえば、projects/myproject/global/networks/default
)DESTINATION_IP_ADDRESS
: テストする内部または外部の宛先 IP アドレスDESTINATION_NETWORK
: 宛先 IP アドレスがある VPC ネットワークの URI(たとえば、projects/myproject/global/networks/network-a
)DESTINATION_PORT
: 宛先の IP プロトコル ポート。このオプションは、TCP プロトコルまたは UDP プロトコルに対してのみ有効です。デフォルトはポート80
です。PROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。
ネットワークが不明の場合、またはネットワークにアクセスする権限がない場合は、ネットワーク URI を指定する代わりに、ネットワークを GCP_NETWORK
として指定できます。
IP アドレスが Google Cloud 内にあるかどうかや、送信元エンドポイントと宛先エンドポイントが RFC 1918 アドレス空間に含まれないかどうかを確認する必要はありません。これらのパラメータは、送信元 IP アドレスと宛先 IP アドレスに基づいて自動的に選択されます。
gcloud network-management connectivity-tests create NAME \ --source-ip-address=SOURCE_IP_ADDRESS \ [--source-network-type=GCP_NETWORK] \ --destination-instance=DESTINATION_INSTANCE \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --destination-port=DESTINATION_PORT \ --protocol=PROTOCOL
以下を置き換えます。
NAME
: 接続テストの名前SOURCE_IP_ADDRESS
: テストの送信元 IP アドレスSOURCE_NETWORK_TYPE
: ソースがあるネットワークのタイプ。この場合は、GCP_NETWORK
という値を使用しますDESTINATION_INSTANCE
: 宛先 VM の URI(例:projects/myproject/zones/us-east1-b/instances/instance-2
)DESTINATION_IP_ADDRESS
: テストする内部または外部の宛先 IP アドレスDESTINATION_PORT
: 宛先の IP プロトコル ポート。このオプションは、TCP プロトコルまたは UDP プロトコルに対してのみ有効です。デフォルトはポート80
です。PROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。
Google Cloud の外部 IP アドレスとして送信元 IP アドレスを指定する場合は、NON_GCP_NETWORK
の networkType
を指定する必要があります。次のコマンドで、各値は実際の VPC ネットワークの値に置き換えてください。
gcloud network-management connectivity-tests create NAME \ --source-ip-address=SOURCE_IP_ADDRESS \ --source-network-type=NON_GCP_NETWORK \ --destination-ip-address= DESTINATION_IP_ADDRESS \ --destination-network=DESTINATION_NETWORK \ --destination-port=DESTINATION_PORT \ --protocol=PROTOCOL
以下を置き換えます。
NAME
: 接続テストの名前SOURCE_IP_ADDRESS
: テストの送信元 IP アドレスSOURCE_NETWORK_TYPE
: ソースがあるネットワークのタイプ。この場合は、NON_GCP_NETWORK
という値を使用しますDESTINATION_IP_ADDRESS
: テストする内部または外部の宛先 IP アドレスDESTINATION_NETWORK
: 宛先 IP アドレスがある VPC ネットワークの URI(たとえば、projects/myproject/global/networks/default
)DESTINATION_PORT
: 宛先の IP プロトコル ポート。このオプションは、TCP プロトコルまたは UDP プロトコルに対してのみ有効です。PROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。
Terraform
Terraform リソースを使用して、VPC ネットワーク内の 2 つの IP アドレス間でテストを作成できます。
IP アドレスが Google Cloud 内にあるかどうかや、送信元エンドポイントと宛先エンドポイントが RFC 1918 アドレス空間に含まれないかどうかを確認する必要はありません。これらのパラメータは、送信元 IP アドレスと宛先 IP アドレスに基づいて自動的に選択されます。
API
この例では、送信元 IP アドレスから宛先 IP アドレスに ping が届くかどうかをテストします。
projects.locations.global.connectivityTests.create
メソッドを使用します。
POST https://reachability.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "ipAddress": "SOURCE_IP_ADDRESS", "network": "SOURCE_NETWORK" }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", "network": "DESTINATION_NETWORK", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL". }'
以下を置き換えます。
PROJECT_ID
: ソース VM のプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の IDSOURCE_IP_ADDRESS
: テストの送信元 IP アドレスSOURCE_NETWORK
: 送信元 IP アドレスがある VPC ネットワークの URI(たとえば、projects/myproject/global/networks/default
)DESTINATION_IP_ADDRESS
: テストする内部または外部の宛先 IP アドレスDESTINATION_NETWORK
: 宛先 IP アドレスがある VPC ネットワークの URI(たとえば、projects/myproject/global/networks/network-a
)DESTINATION_PORT
: 宛先の IP プロトコル ポート。このオプションは、TCP プロトコルまたは UDP プロトコルに対してのみ有効です。PROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。
VPC ネットワークが不明の場合、またはネットワークにアクセスする権限がない場合は、ネットワーク URI を指定する代わりに、ネットワークを GCP_NETWORK
として指定できます。
IP アドレスが Google Cloud 内にあるかどうかや、送信元エンドポイントと宛先エンドポイントが RFC 1918 アドレス空間に含まれないかどうかを確認する必要はありません。これらのパラメータは、送信元 IP アドレスと宛先 IP アドレスに基づいて自動的に選択されます。
POST https://reachability.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?connectivityTestId=TEST_ID' { "source": { "ipAddress": "SOURCE_IP_ADDRESS", "networkType": "GCP_NETWORK" }, "destination": { "instance": "DESTINATION_INSTANCE", "ipAddress": "DESTINATION_IP_ADDRESS" }, "protocol": "PROTOCOL" }'
以下を置き換えます。
PROJECT_ID
: ソース VM のプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の IDSOURCE_IP_ADDRESS
: テストの送信元 IP アドレスSOURCE_NETWORK_TYPE
: ソースがあるネットワークのタイプ。この場合は、GCP_NETWORK
という値を使用しますDESTINATION_INSTANCE
: 宛先 VM の URI(例:projects/myproject/zones/us-east1-b/instances/instance-2
)DESTINATION_IP_ADDRESS
: テストする内部または外部の宛先 IP アドレスPROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。
Google Cloud の外部 IP アドレスとして送信元 IP アドレスを指定する場合は、NON_GCP_NETWORK
の networkType
を指定する必要があります。次のコマンドで、各値は Google Cloud ネットワークの値に置き換えてください。
POST https://reachability.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "ipAddress": "SOURCE_IP_ADDRESS", "networkType": "NON_GCP_NETWORK", }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", "network": "DESTINATION_NETWORK", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL", }'
Python
次のサンプルコードは、2 つの IP アドレス間のテストを作成します。詳細については、Python 用 Google API クライアント ライブラリの create
をご覧ください。
test_input = { "source": { "ipAddress": "SOURCE_IP_ADDRESS", "projectId": "SOURCE_IP_PROJECT_ID" }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", "port": "DESTINATION_PORT", "projectId": "DESTINATION_IP_PROJECT_ID" }, "protocol": "PROTOCOL", } request = api.projects().locations().global_().connectivityTests().create( parent="projects/PROJECT_ID/locations/global", testId="TEST_ID", body=test_input) print(json.dumps(request.execute(), indent=4))
以下を置き換えます。
SOURCE_IP_ADDRESS
: テストの送信元 IP アドレスSOURCE_IP_PROJECT_ID
: ソース IP アドレスのプロジェクト IDDESTINATION_IP_ADDRESS
: テストする内部または外部の宛先 IP アドレスDESTINATION_PORT
: 宛先の IP プロトコル ポート。このオプションは、TCP プロトコルまたは UDP プロトコルに対してのみ有効です。DESTINATION_IP_PROJECT_ID
: 宛先 IP アドレスのプロジェクト IDPROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。PROJECT_ID
: テストを作成するプロジェクトのプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の ID
VPC ネットワークが不明の場合、またはネットワークにアクセスする権限がない場合は、ネットワーク URI を指定する代わりに、ネットワークを GCP_NETWORK
として指定できます。
IP アドレスが Google Cloud 内にあるかどうかや、送信元エンドポイントと宛先エンドポイントが RFC 1918 アドレス空間に含まれないかどうかを確認する必要はありません。これらのパラメータは、送信元 IP アドレスと宛先 IP アドレスに基づいて自動的に選択されます。
次のサンプルは、2 つの IP アドレス間のテストを作成します。
test_input = { "source": { "ipAddress": "SOURCE_IP_ADDRESS", "networkType": "GCP_NETWORK" }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", "port": "DESTINATION_PORT", "projectId": "DESTINATION_IP_PROJECT_ID" }, "protocol": "PROTOCOL", } request = api.projects().locations().global_().connectivityTests().create( parent="projects/PROJECT_ID/locations/global", testId="TEST_ID", body=test_input) print(json.dumps(request.execute(), indent=4))
以下を置き換えます。
SOURCE_IP_ADDRESS
: テストの送信元 IP アドレスSOURCE_NETWORK_TYPE
: ソースがあるネットワークのタイプ。この場合は、GCP_NETWORK
という値を使用しますDESTINATION_IP_ADDRESS
: 宛先 VM の IP アドレスDESTINATION_PORT
: 宛先の IP プロトコル ポート。このオプションは、TCP プロトコルまたは UDP プロトコルに対してのみ有効です。DESTINATION_IP_PROJECT_ID
: 宛先 IP アドレスのプロジェクト IDPROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。PROJECT_ID
: テストを作成するプロジェクトのプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の ID
Google Cloud の外部 IP アドレスとして送信元 IP アドレスを指定する場合は、NON_GCP_NETWORK
の networkType
を指定する必要があります。
共有 VPC ネットワークでの IP アドレスのテスト
共有 VPC ネットワークがある場合は、ホスト プロジェクトまたはサービス プロジェクトからテストを作成して実施できます。
以下の例では、両方の場合について、サービス プロジェクトで割り振られた宛先 IP アドレスを使用して説明します。Google Cloud Console のフィールド値は、状況ごとに少し異なります。ただし、Google Cloud CLI と API 呼び出しのコマンド オプションは同じです。
Console: ホストから
- Google Cloud コンソールで、ホスト プロジェクトから [接続テスト] ページに移動します。
- [接続テストを作成] を選択します。
- [テスト名] フィールドにテストの名前を入力します。
- [プロトコル] リストでプロトコルを選択します。
- [ソース] で次の操作を行います。
- [送信元エンドポイント] メニューで、[IP アドレス] を選択します。
- 送信元 IP アドレスを入力します。
- [これは Google Cloud で使用される IP アドレスです。] チェックボックスを選択します。
- これが内部 IP アドレスであり、インターネットからアクセスできない場合は、アドレスが存在する VPC ネットワークを選択します。
- プライベート IP アドレスが RFC 1918 アドレス空間に含まれない場合は、[I confirm that the source endpoint resides in a range outside of the RFC 1918 address space] を選択して、IP アドレスを含む宛先ネットワークを選択します。
- [宛先] で、次の操作を行います。
- [宛先エンドポイント] メニューで、[IP アドレス] を選択します。
- 宛先 IP アドレスを入力します。
- [これは Google Cloud で使用される IP アドレスです。] チェックボックスを選択します。
- これが内部 IP アドレスであり、インターネットからアクセスできない場合は、アドレスが存在する VPC ネットワークを選択します。
- プライベート IP アドレスが RFC 1918 アドレス空間に含まれない場合は、[I confirm that the source endpoint resides in a range outside of the RFC 1918 address space] を選択して、IP アドレスを含む宛先ネットワークを選択します。
- [宛先ポート] フィールドに、指定した宛先の宛先ポートを入力します。
- [作成] をクリックします。
- テストが終了すると、[接続テスト] のメインページが読み込まれ、このテストと他のテストを含むリストが表示されます。テスト結果を表示するに進みます。
Console: サービスから
- Google Cloud コンソールで、サービス プロジェクトから [接続テスト] ページに移動します。
- [接続テストを作成] を選択します。
- [テスト名] フィールドにテストの名前を入力します。
- [プロトコル] リストでプロトコルを選択します。
- [ソース] で次の操作を行います。
- [送信元エンドポイント] メニューで、[IP アドレス] を選択します。
- 送信元 IP アドレスを入力します。
- [これは Google Cloud で使用される IP アドレスです。] チェックボックスを選択します。
- これが内部 IP アドレスであり、インターネットからアクセスできない場合は、アドレスが存在する VPC ネットワークを選択します。
- [宛先] で、次の操作を行います。
- [宛先エンドポイント] メニューで、[IP アドレス] を選択します。
- 宛先 IP アドレスを入力します。
- [これは Google Cloud で使用される IP アドレスです。] チェックボックスを選択します。
- IP アドレスがある宛先 IP アドレスまたはサービス プロジェクトを指定します。
- プライベート IP アドレスが RFC 1918 アドレス空間に含まれない場合は、[I confirm that the source endpoint resides in a range outside of the RFC 1918 address space] というラベルの付いたチェックボックスをオンにして、IP アドレスを含む宛先ネットワークを選択します。
- [宛先ポート] フィールドに、指定した宛先の宛先ポートを入力します。
- [作成] をクリックします。
- テストが終了すると、[接続テスト] のメインページが読み込まれ、このテストと他のテストを含むリストが表示されます。テスト結果を表示するに進みます。
gcloud
次のコマンドを入力して、宛先 IP アドレスが存在するサービス プロジェクト内のホストと、そのサービス プロジェクト内の 2 つのプライベート IP アドレス間をテストします。コマンド オプションの変数は、VPC ネットワークの値に置き換えてください。
宛先 IP アドレスはサービス プロジェクト内にあるため、サービス プロジェクトとホスト プロジェクトのネットワーク URI を指定します。この場合、default
は host-project
のデフォルト VPC ネットワークを表します。
gcloud network-management connectivity-tests create NAME \ --source-ip-address=SOURCE_IP_ADDRESS \ --source-project=SOURCE_PROJECT \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --destination-network=DESTINATION_NETWORK \ --destination-project=DESTINATION_PROJECT \ --destination-port=DESTINATION_PORT \ --protocol=PROTOCOL
以下を置き換えます。
NAME
: 接続テストの名前SOURCE_IP_ADDRESS
: テストの送信元 IP アドレスSOURCE_PROJECT
: 送信元エンドポイントのプロジェクト IDDESTINATION_IP_ADDRESS
: サービス プロジェクトでテストする内部または外部の宛先 IP アドレスDESTINATION_NETWORK
: ホスト プロジェクトの VPC ネットワークの URI(たとえば、projects/host-project/global/networks/default
)DESTINATION_PROJECT
: 宛先エンドポイントのプロジェクト ID(この共有 VPC ネットワークで使用されるサービス プロジェクトを表すservice-project
という名前のプロジェクトなど)。DESTINATION_PORT
: 宛先の IP プロトコル ポート。このオプションは、TCP プロトコルまたは UDP プロトコルに対してのみ有効です。PROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。
API
projects.locations.global.connectivityTests.create
メソッドを使用します。
POST https: //networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "ipAddress": "SOURCE_IP_ADDRESS", "projectId": "SOURCE_PROJECT", }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", "projectId": "DESTINATION_PROJECT", "network": "DESTINATION_NETWORK", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL", }'
以下を置き換えます。
PROJECT_ID
: ソース VM のプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の IDSOURCE_IP_ADDRESS
: テストの送信元 IP アドレスSOURCE_PROJECT
: 送信元エンドポイントのプロジェクト IDDESTINATION_IP_ADDRESS
: サービス プロジェクトでテストする内部または外部の宛先 IP アドレスDESTINATION_PROJECT
: 宛先エンドポイントのプロジェクト ID(この共有 VPC ネットワークで使用されるサービス プロジェクトを表すservice-project
という名前のプロジェクトなど)。DESTINATION_NETWORK
: ホスト プロジェクトの VPC ネットワークの URI(たとえば、projects/host-project/global/networks/default
)DESTINATION_PORT
: 宛先の IP プロトコル ポート。このオプションは、TCP プロトコルまたは UDP プロトコルに対してのみ有効です。PROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。
Python
次のサンプルコードは、2 つの IP アドレス間のテストを作成します。詳細については、Python 用 Google API クライアント ライブラリの create
をご覧ください。
test_input = { "source": { "ipAddress": "SOURCE_IP_ADDRESS", "projectId": "SOURCE_IP_PROJECT_ID" }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", "projectId": "DESTINATION_IP_PROJECT_ID", "network": "DESTINATION_NETWORK", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL", } request = api.projects().locations().global_().connectivityTests().create( parent="projects/PROJECT_ID/locations/global", testId="TEST_ID", body=test_input) print(json.dumps(request.execute(), indent=4))
以下を置き換えます。
SOURCE_IP_ADDRESS
: テストの送信元 IP アドレスSOURCE_IP_PROJECT_ID
: 送信元エンドポイントのプロジェクト IDDESTINATION_IP_ADDRESS
: サービス プロジェクトでテストする内部または外部の宛先 IP アドレスDESTINATION_IP_PROJECT_ID
: 宛先エンドポイントのプロジェクト ID(この共有 VPC ネットワークで使用されるサービス プロジェクトを表すservice-project
という名前のプロジェクトなど)。DESTINATION_NETWORK
: ホスト プロジェクトの VPC ネットワークの URI(たとえば、projects/host-project/global/networks/default
)DESTINATION_PORT
: 宛先の IP プロトコル ポート。このオプションは、TCP プロトコルまたは UDP プロトコルに対してのみ有効です。PROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。PROJECT_ID
: テストを作成するプロジェクトのプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の ID
VM から Google マネージド サービスへのテスト
このセクションでは、VPC ネットワーク内の VM から Google 所有の VPC ネットワークで実行されるサービスへの接続をテストする方法について説明します。このセクションの手順に沿って操作すると、Cloud SQL インスタンスまたは GKE クラスタコントロール プレーンへの接続をテストできます。また、ソースとして Google マネージド サービス エンドポイントを使用し、宛先として VPC ネットワーク内のエンドポイントを使用してテストを行うこともできます。
デフォルトの接続テストでは、Google マネージド サービス エンドポイントのプライベート IP アドレスを使用してテストが行われます。エンドポイントにプライベート IP アドレスが割り振られていない場合はパブリック IP アドレスが使用されます。接続テストでは、パケットがエンドポイントに到達可能かどうかが分析されますが、Google 所有の VPC ネットワーク内の構成も分析されます。プロジェクト内の構成で問題が見つかると、Google 所有のネットワーク構成を分析する前に処理が停止します。
VM から Google マネージド サービスへの接続をテストする方法は次のとおりです。
Console
接続テストのメインページから
- Google Cloud Console で、[接続テスト] ページに移動します。
- [接続テストを作成] を選択します。
- [テスト名] フィールドにテストの名前を入力します。
- [プロトコル] リストでプロトコルを選択します。
[ソース] で次の操作を行います。
- [送信元エンドポイント] メニューから [VM インスタンス] を選択します。
- [送信元 VM インスタンス] メニューから、特定の送信元 VM インスタンスを選択します。
[ソース ネットワーク インターフェース] メニューで、ネットワーク インターフェースを選択します。
VM インスタンスに複数のネットワーク インターフェースがある場合はソースの場所を一意に識別する VM ネットワーク インターフェースを選択します。
省略可: リストから送信元 IP アドレスを選択します。デフォルトは、送信元 VM インスタンスの IP アドレスです。
[宛先] で、次の操作を行います。
- [宛先エンドポイント] メニューで、GKE クラスタ コントロール プレーンなどの Google マネージド サービス のリソースの種類を選択します。
- [宛先 GKE クラスタ コントロール プレーン] メニューで、GKE コントロール プレーンへの接続をテストするクラスタを選択します。
- 省略可: リストから宛先 GKE クラスタ コントロール プレーンの IP アドレスを選択します。デフォルトは、送信元 VM インスタンスの IP アドレスです。
[宛先ポート] フィールドに、指定した宛先の宛先ポートを入力します。
[作成] をクリックします。
テストが終了すると、[接続テスト] のメインページが読み込まれ、このテストと他のテストを含むリストが表示されます。テスト結果を表示するに進みます。
ネットワーク インターフェースの詳細ページから
- Google Cloud Console で、[VM インスタンス] ページに移動します。
- まだ選択していない場合は、テスト対象のインスタンスを含むプロジェクトを選択します。
- テストの実施に使用するインスタンスをクリックします。
- [ネットワーク インターフェース] で、テストの実施に使用するネットワーク インターフェースを選択します。
- [ネットワーク分析] で [接続テストを作成] をクリックします。
- [テスト名] フィールドにテストの名前を入力します。
- [プロトコル] リストでプロトコルを選択します。
- [ソース] で [現在のネットワーク インターフェース] を選択します。
- [宛先] で、次の操作を行います。
- [宛先エンドポイント] メニューで、GKE クラスタ コントロール プレーンなどの Google マネージド サービス のリソースの種類を選択します。
- [宛先 GKE クラスタ コントロール プレーン] メニューで、GKE コントロール プレーンへの接続をテストするクラスタを選択します。
- 省略可: リストから宛先 GKE クラスタ コントロール プレーンの IP アドレスを選択します。デフォルトは、送信元 VM インスタンスの IP アドレスです。
- [宛先ポート] フィールドに、指定した宛先の宛先ポートを入力します。
- [作成] をクリックします。
- テストが終了すると、[接続テスト] のメインページが読み込まれ、このテストと他のテストを含むリストが表示されます。テスト結果を表示するに進みます。
gcloud
次のガイダンスに従って、コマンド オプションの変数を置き換えます。
gcloud network-management connectivity-tests create NAME \ --source-instance=SOURCE_INSTANCE \ --source-ip-address=SOURCE_IP_ADDRESS \ DESTINATION_RESOURCE_FLAG=DESTINATION_ENDPOINT \ --destination-port=DESTINATION_PORT \ --protocol=PROTOCOL
以下を置き換えます。
NAME
: 接続テストの名前SOURCE_INSTANCE
: ソース VM の URI(例:projects/myproject/zones/us-east1-b/instances/instance-1
)SOURCE_IP_ADDRESS
: テスト元のソース VM インスタンスの IP アドレス。IP アドレスは、ソース VM インスタンスの IP アドレスのいずれかである必要があります。DESTINATION_RESOURCE_FLAG
: Google マネージド サービス リソースのタイプを指定するフラグ使用可能なオプションについては、以下をご覧ください。
--destination-gke-master-cluster
--destination-cloud-sql-instance
詳細については、
gcloud network-management connectivity-tests create
リファレンスをご覧ください。DESTINATION_ENDPOINT
: 宛先エンドポイントの URI(たとえば、--destination-gke-master-cluster
フラグの場合はprojects/myproject/locations/us-central1/clusters/cluster-1
)。DESTINATION_PORT
: 宛先の IP プロトコル ポート。このオプションは、TCP プロトコルまたは UDP プロトコルに対してのみ有効です。PROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。
API
projects.locations.global.connectivityTests.create
メソッドを使用します。
POST https: //networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "instance": "SOURCE_INSTANCE", "ipAddress": "SOURCE_IP_ADDRESS", }, "destination": { "DESTINATION_RESOURCE_FIELD": "DESTINATION_ENDPOINT", "port": DESTINATION_PORT }, "protocol": "PROTOCOL", }'
以下を置き換えます。
PROJECT_ID
: ソース VM のプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の IDSOURCE_INSTANCE
: ソース VM の URI(例:projects/myproject/zones/us-east1-b/instances/instance-1
)SOURCE_IP_ADDRESS
: テスト元のソース VM インスタンスの IP アドレス。IP アドレスは、ソース VM インスタンスの IP アドレスのいずれかである必要があります。DESTINATION_RESOURCE_FIELD
: Google マネージド サービス リソースのタイプを指定するフィールド使用可能なオプションについては、以下をご覧ください。
gkeMasterCluster
cloudSqlInstance
詳細については、エンドポイント リファレンスをご覧ください。
DESTINATION_ENDPOINT
: 宛先エンドポイントの URI(たとえば、gkeMasterCluster
フィールドの場合はprojects/myproject/locations/us-central1/clusters/cluster-1
)DESTINATION_PORT
: 宛先の IP プロトコル ポート。このオプションは、TCP プロトコルまたは UDP プロトコルに対してのみ有効です。PROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。
Python
次のサンプルコードでは、VM インスタンスと Google マネージド サービス エンドポイントの間の接続をテストします。詳細については、Python 用 Google API クライアント ライブラリの create
をご覧ください。
test_input = { "source": { "instance": "SOURCE_INSTANCE", "ipAddress": "SOURCE_IP_ADDRESS", "projectId": "SOURCE_INSTANCE_PROJECT_ID" }, "destination": { "DESTINATION_RESOURCE_FIELD": "DESTINATION_ENDPOINT", "port": "DESTINATION_PORT" }, "protocol": "PROTOCOL", } request = api.projects().locations().global_().connectivityTests().create( parent="projects/PROJECT_ID/locations/global", testId="TEST_ID", body=test_input) print(json.dumps(request.execute(), indent=4))
以下を置き換えます。
SOURCE_INSTANCE
: ソース VM の URI(例:projects/myproject/zones/us-east1-b/instances/instance-1
)SOURCE_IP_ADDRESS
: テスト元のソース VM インスタンスの IP アドレス。IP アドレスは、ソース VM インスタンスの IP アドレスのいずれかである必要があります。SOURCE_INSTANCE_PROJECT_ID
: ソース VM のプロジェクト IDDESTINATION_RESOURCE_FIELD
: Google マネージド サービス リソースのタイプを指定するフィールド使用可能なオプションについては、以下をご覧ください。
gkeMasterCluster
cloudSqlInstance
詳細については、エンドポイント リファレンスをご覧ください。
DESTINATION_ENDPOINT
: 宛先エンドポイントの URI(たとえば、gkeMasterCluster
フィールドの場合はprojects/myproject/locations/us-central1/clusters/cluster-1
)DESTINATION_PORT
: 宛先の IP プロトコル ポート。このオプションは、TCP プロトコルまたは UDP プロトコルに対してのみ有効です。PROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。PROJECT_ID
: テストを作成するプロジェクトのプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の ID
VM から Private Service Connect エンドポイントへの接続テスト
このセクションでは、VM から Private Service Connect エンドポイントへの接続をテストする方法について説明します。
たとえば、このセクションの手順により、Private Service Connect を使用する公開サービスにパケットを配信できるかどうかをテストできます。接続テストでは、接続されたエンドポイント、公開サービス、プロキシ接続の分析など、パケットがエンドポイントに到達できるかどうかが分析されます。Private Service Connect を使用する公開サービスへの接続が受け入れられない場合、分析は早期に終了します。
以下に対する接続をテストできます。
コンソール
- Google Cloud Console で、[接続テスト] ページに移動します。
- [接続テストを作成] を選択します。
- [テスト名] フィールドにテストの名前を入力します。
- [プロトコル] リストでプロトコルを選択します。
[ソース] で次の操作を行います。
- [送信元エンドポイント] メニューから [VM インスタンス] を選択します。
- [送信元 VM インスタンス] メニューから、特定の送信元 VM インスタンスを選択します。
[ソース ネットワーク インターフェース] メニューで、ネットワーク インターフェースを選択します。
VM インスタンスに複数のネットワーク インターフェースがある場合はソースの場所を一意に識別する VM ネットワーク インターフェースを選択します。
省略可: リストから送信元 IP アドレスを選択します。デフォルトは、送信元 VM インスタンスの IP アドレスです。
[宛先] で、次の操作を行います。
- [宛先エンドポイント] メニューで、[PSC エンドポイント] を選択します。
[宛先 PSC エンドポイント] メニューで、[PSC エンドポイント] を選択します。
宛先エンドポイントが現在のプロジェクト以外のプロジェクトにある場合は、[エンドポイントは「
PROJECT_NAME
」以外のプロジェクトに存在します。] を選択します。次に、[宛先エンドポイント プロジェクト] フィールドで、エンドポイントが配置されているプロジェクトを選択します。
[宛先ポート] フィールドに、指定した宛先の宛先ポートを入力します。
[作成] をクリックします。
テストが終了すると、[接続テスト] のメインページが読み込まれ、このテストと他のテストを含むリストが表示されます。テスト結果を表示するに進みます。
gcloud
gcloud network-management connectivity-tests create
コマンドを使用します。サンプル値は、実際の VPC ネットワークの値で置き換えてください。
gcloud network-management connectivity-tests create NAME \ --source-instance=SOURCE_INSTANCE \ --source-ip-address=SOURCE_IP_ADDRESS \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --destination-network=DESTINATION_NETWORK \ --protocol=PROTOCOL
以下を置き換えます。
NAME
: 接続テストの名前SOURCE_INSTANCE
: ソース VM の URI(例:projects/myproject/zones/us-east1-b/instances/instance-1
)SOURCE_IP_ADDRESS
: テスト元のソース VM インスタンスの IP アドレス。IP アドレスは、ソース VM インスタンスの IP アドレスのいずれかである必要があります。DESTINATION_IP_ADDRESS
: テストするエンドポイントまたはバックエンドの IP アドレスDESTINATION_NETWORK
: 宛先 IP アドレスがある VPC ネットワークの URI(たとえば、projects/myproject/global/networks/default
)PROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。
エンドポイントまたはバックエンドを使用して公開サービスにアクセスする場合は、エンドポイントまたはバックエンドに内部 IP アドレスがあるため、DESTINATION_NETWORK を指定する必要があります。
API
次のサンプルテストでは、既存のネットワーク構成で VM instance1
が Private Service Connect エンドポイントの IP アドレスに ping できるかどうかを確認します。
projects.locations.global.connectivityTests.create
メソッドを使用します。
POST https: //networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "instance": "SOURCE_INSTANCE", "ipAddress": "SOURCE_IP_ADDRESS", }, "destination": { "forwardingRule": "DESTINATION_FORWARDING_RULE", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL", }'
以下を置き換えます。
PROJECT_ID
: ソース VM のプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の IDSOURCE_INSTANCE
: ソース VM の URI(例:projects/myproject/zones/us-east1-b/instances/instance-1
)SOURCE_IP_ADDRESS
: テスト元のソース VM インスタンスの IP アドレス。IP アドレスは、ソース VM インスタンスの IP アドレスのいずれかである必要があります。DESTINATION_IP_ADDRESS
: テストするエンドポイントまたはバックエンドの IP アドレスDESTINATION_NETWORK
: 宛先 IP アドレスがある VPC ネットワークの URI(たとえば、projects/myproject/global/networks/default
)DESTINATION_PORT
: 宛先の IP プロトコル ポート。このオプションは、TCP プロトコルまたは UDP プロトコルに対してのみ有効です。PROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。
エンドポイントまたはバックエンドを使用して公開サービスにアクセスする場合は、エンドポイントまたはバックエンドに内部 IP アドレスがあるため、DESTINATION_NETWORK を指定する必要があります。
Python
次のサンプルコードでは、VM インスタンスと Private Service Connect エンドポイント間のテストを作成します。詳細については、Python 用 Google API クライアント ライブラリの create
をご覧ください。
test_input = { "source": { "instance": "SOURCE_INSTANCE", "ipAddress": "SOURCE_IP_ADDRESS", "projectId": "SOURCE_INSTANCE_PROJECT_ID" }, "destination": { "forwardingRule": "DESTINATION_FORWARDING_RULE", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL", } request = api.projects().locations().global_().connectivityTests().create( parent="projects/PROJECT_ID/locations/global", testId="TEST_ID", body=test_input) print(json.dumps(request.execute(), indent=4))
以下を置き換えます。
SOURCE_INSTANCE
: ソース VM の URI(例:projects/myproject/zones/us-east1-b/instances/instance-1
)SOURCE_IP_ADDRESS
: テスト元のソース VM インスタンスの IP アドレス。IP アドレスは、ソース VM インスタンスの IP アドレスのいずれかである必要があります。SOURCE_INSTANCE_PROJECT_ID
: ソース VM のプロジェクト IDDESTINATION_IP_ADDRESS
: テストするエンドポイントまたはバックエンドの IP アドレスDESTINATION_NETWORK
: 宛先 IP アドレスがある VPC ネットワークの URI(たとえば、projects/myproject/global/networks/default
)DESTINATION_PORT
: 宛先の IP プロトコル ポート。このオプションは、TCP プロトコルまたは UDP プロトコルに対してのみ有効です。PROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。PROJECT_ID
: テストを作成するプロジェクトのプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の ID
エンドポイントまたはバックエンドを使用して公開サービスにアクセスする場合は、エンドポイントまたはバックエンドに内部 IP アドレスがあるため、DESTINATION_NETWORK
を指定する必要があります。
App Engine スタンダード環境のバージョンから宛先へのテスト
このセクションでは、App Engine スタンダード環境のバージョンから VM インスタンス、IP アドレス、または Google マネージド サービスへの接続をテストする方法について説明します。
App Engine スタンダード環境アプリは、1 つ以上のサービスからなる単一のアプリケーション リソースで構成されています。各サービス内で、そのサービスの複数のバージョンをデプロイします。App Engine スタンダード環境サービスのバージョンから VM インスタンス、IP アドレス、または Google マネージド サービスへのネットワーク到達性をテストできます。
詳細な構成分析を表示するには、サーバーレス VPC アクセス コネクタを使用するようにサービスを構成する必要があります。接続テストの結果は、サービスのバージョンによって異なる場合があります。到達可能性は、UDP プロトコルまたは TCP プロトコルを使用するテストパケットに対してのみテストできます。
あるバージョンの App Engine スタンダード環境サービスから VM インスタンスへの接続をテストする
コンソール
- Google Cloud Console で、[接続テスト] ページに移動します。
- [接続テストを作成] を選択します。
- テスト名を入力します。
- プロトコルを選択します。
- [送信元エンドポイント] メニューで、[App Engine] を選択します。
- [App Engine サービス] メニューで、接続をテストする App Engine スタンダード環境のサービスを選択します。たとえば、
helloworld-service
を選択します。- 送信元エンドポイントが現在のプロジェクト以外のプロジェクトにある場合は、[エンドポイントは「
PROJECT_NAME
」以外のプロジェクトに存在します。] チェックボックスをオンにします。 - エンドポイントが存在するプロジェクトを選択します。
- 送信元エンドポイントが現在のプロジェクト以外のプロジェクトにある場合は、[エンドポイントは「
- [App Engine のバージョン] メニューで、接続をテストする App Engine スタンダード環境サービスのバージョンを選択します。
- [App Engine サービス] メニューで、接続をテストする App Engine スタンダード環境のサービスを選択します。たとえば、
[宛先] で、リストから [宛先 VM インスタンス] を選択します。
VM インスタンスに複数のネットワーク インターフェースがある場合は、VM ネットワーク インターフェースを選択して、宛先の場所を一意に識別します。
省略可: リストから [宛先 IP アドレス] を選択します。 デフォルトは、宛先 VM インスタンスの IP アドレスです。
[宛先ポート] フィールドに、指定した宛先の宛先ポートを入力します。
[作成] をクリックします。
テストが終了すると、[接続テスト] のメインページが読み込まれ、このテストと他のテストを含むリストが表示されます。テスト結果を表示するに進みます。
gcloud
gcloud network-management connectivity-tests create
コマンドを使用します。サンプル値は、実際の VPC ネットワークの値で置き換えてください。
gcloud network-management connectivity-tests create NAME \ --source-app-engine-version=APP_ENGINE_VERSION \ --destination-instance=DESTINATION_INSTANCE \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --protocol=PROTOCOL
以下を置き換えます。
NAME
: 接続テストの名前APP_ENGINE_VERSION
: 送信元 App Engine スタンダード環境バージョンの URI(例:apps/myproject/services/service-name/versions/version-name
)DESTINATION_INSTANCE
: 宛先 VM の URI(例:projects/myproject/zones/us-east1-b/instances/instance-2
)DESTINATION_IP_ADDRESS
: テストの宛先 VM インスタンスの IP アドレス。IP アドレスは、宛先 VM インスタンスの IP アドレスのいずれかにする必要があります。PROTOCOL
: サーバーレス VPC アクセス コネクタでサポートされているネットワーク プロトコル(TCP
またはUDP
)
API
projects.locations.global.connectivityTests.create
メソッドを使用します。
POST https: //networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "appEngineVersion": { "uri": "APP_ENGINE_VERSION", }, }, "destination": { "instance": "DESTINATION_INSTANCE", "ipAddress": "DESTINATION_IP_ADDRESS", }, "protocol": "PROTOCOL", }'
以下を置き換えます。
PROJECT_ID
: ソースとなる Cloud Run 関数のプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の ID。APP_ENGINE_VERSION
: 送信元 App Engine スタンダード環境バージョンの URI(例:apps/myproject/services/service-name/versions/version-name
)DESTINATION_INSTANCE
: 宛先 VM の URI(例:projects/myproject/zones/us-east1-b/instances/instance-2
)DESTINATION_IP_ADDRESS
: テストの宛先 VM インスタンスの IP アドレス。IP アドレスは、宛先 VM インスタンスの IP アドレスのいずれかにする必要があります。PROTOCOL
: サーバーレス VPC アクセス コネクタでサポートされているネットワーク プロトコル(TCP
またはUDP
)
App Engine スタンダード環境のサービスから IP アドレスへの接続テスト
コンソール
- Google Cloud Console で、[接続テスト] ページに移動します。
- [接続テストを作成] を選択します。
- テスト名を入力します。
- プロトコルを選択します。
- [送信元エンドポイント] メニューで、[App Engine] を選択します。
- [App Engine サービス] メニューで、接続をテストする App Engine スタンダード環境のサービスを選択します。たとえば、
helloworld-service
を選択します。- 送信元エンドポイントが現在のプロジェクト以外のプロジェクトにある場合は、[エンドポイントは「
PROJECT_NAME
」以外のプロジェクトに存在します。] をオンにします。 - エンドポイントが存在するプロジェクトを選択します。
- 送信元エンドポイントが現在のプロジェクト以外のプロジェクトにある場合は、[エンドポイントは「
- [App Engine のバージョン] メニューで、接続をテストする App Engine スタンダード環境サービスのバージョンを選択します。
- [App Engine サービス] メニューで、接続をテストする App Engine スタンダード環境のサービスを選択します。たとえば、
- [宛先] で [IP アドレス] を選択し、IP アドレスを入力します。
- 宛先ポートを入力します。
- [作成] をクリックします。
- テストが終了すると、[接続テスト] のメインページが読み込まれ、このテストと他のテストを含むリストが表示されます。テスト結果を表示するに進みます。
gcloud
gcloud network-management connectivity-tests create
コマンドを使用します。サンプル値は、実際の VPC ネットワークの値で置き換えてください。
gcloud network-management connectivity-tests create NAME \ --source-app-engine-version=APP_ENGINE_VERSION \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --protocol=PROTOCOL
以下を置き換えます。
NAME
: 接続テストの名前APP_ENGINE_VERSION
: 送信元 App Engine スタンダード環境バージョンの URI(例:apps/myproject/services/service-name/versions/version-name
)DESTINATION_IP_ADDRESS
: テストの宛先となる外部の宛先 IP アドレスPROTOCOL
: サーバーレス VPC アクセス コネクタでサポートされているネットワーク プロトコル(TCP
またはUDP
)
API
projects.locations.global.connectivityTests.create
メソッドを使用します。
POST https: //networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "appEngineVersion": { "uri": "APP_ENGINE_VERSION", }, }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", }, "protocol": "PROTOCOL", }'
以下を置き換えます。
PROJECT_ID
: ソースとなる Cloud Run 関数のプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の ID。APP_ENGINE_VERSION
: 送信元 App Engine スタンダード環境バージョンの URI(例:apps/myproject/services/service-name/versions/version-name
)DESTINATION_IP_ADDRESS
: テストの宛先となる外部の宛先 IP アドレスPROTOCOL
: サーバーレス VPC アクセス コネクタでサポートされているネットワーク プロトコル(TCP
またはUDP
)
App Engine スタンダード環境のサービスから Google マネージド サービスへの接続テスト
コンソール
- Google Cloud Console で、[接続テスト] ページに移動します。
- [接続テストを作成] を選択します。
- テスト名を入力します。
- プロトコルを選択します。
- [送信元エンドポイント] メニューで、[App Engine] を選択します。
- [App Engine サービス] メニューで、接続をテストする App Engine スタンダード環境のサービスを選択します。たとえば、
helloworld-service
を選択します。- 送信元エンドポイントが現在のプロジェクト以外のプロジェクトにある場合は、[エンドポイントは「
PROJECT_NAME
」以外のプロジェクトに存在します。] をオンにします。 - エンドポイントが存在するプロジェクトを選択します。
- 送信元エンドポイントが現在のプロジェクト以外のプロジェクトにある場合は、[エンドポイントは「
- [App Engine のバージョン] メニューで、接続をテストする App Engine スタンダード環境サービスのバージョンを選択します。
- [App Engine サービス] メニューで、接続をテストする App Engine スタンダード環境のサービスを選択します。たとえば、
- [宛先] で、次の操作を行います。
- [宛先エンドポイント] メニューで、GKE クラスタ コントロール プレーンなどの Google マネージド サービス のリソースの種類を選択します。
- [宛先 GKE クラスタ コントロール プレーン] メニューで、GKE コントロール プレーンへの接続をテストするクラスタを選択します。
- 省略可: リストから [宛先 GKE クラスタ コントロール プレーンの IP アドレス] を選択します。デフォルトは、送信元 VM インスタンスの IP アドレスです。
- [宛先ポート] フィールドに、指定した宛先の宛先ポートを入力します。
- [作成] をクリックします。
- テストが終了すると、[接続テスト] のメインページが読み込まれ、このテストと他のテストを含むリストが表示されます。テスト結果を表示するに進みます。
gcloud
gcloud network-management connectivity-tests create
コマンドを使用します。サンプル値は、実際の VPC ネットワークの値で置き換えてください。
gcloud network-management connectivity-tests create NAME \ --source-app-engine-version=APP_ENGINE_VERSION \ --destination-ip-address=DESTINATION_IP_ADDRESS \ DESTINATION_RESOURCE_FLAG=DESTINATION_ENDPOINT \ --destination-port=DESTINATION_PORT \ --protocol=PROTOCOL
以下を置き換えます。
NAME
: 接続テストの名前APP_ENGINE_VERSION
: 送信元 App Engine スタンダード環境バージョンの URI(例:apps/myproject/services/servicename/versions/version-number
)DESTINATION_IP_ADDRESS
: テストする内部または外部の宛先 IP アドレスDESTINATION_RESOURCE_FLAG
: Google マネージド サービス リソースのタイプを指定するフラグ使用可能なオプションについては、以下をご覧ください。
--destination-gke-master-cluster
--destination-cloud-sql-instance
詳細については、
gcloud network-management connectivity-tests create
リファレンスをご覧ください。DESTINATION_ENDPOINT
: 宛先エンドポイントの URI(たとえば、--destination-gke-master-cluster
フラグの場合はprojects/myproject/locations/us-central1/clusters/cluster-1
)。DESTINATION_PORT
: 宛先の IP プロトコル ポート。このオプションは、TCP プロトコルまたは UDP プロトコルに対してのみ有効です。デフォルトはポート80
です。PROTOCOL
: サーバーレス VPC アクセス コネクタでサポートされているネットワーク プロトコル(TCP
またはUDP
)
API
projects.locations.global.connectivityTests.create
メソッドを使用します。
POST https: //networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "appEngineVersion": { "uri": "APP_ENGINE_VERSION", }, }, "destination": { "DESTINATION_RESOURCE_FIELD": "DESTINATION_ENDPOINT", "ipAddress": "DESTINATION_IP_ADDRESS", "port": DESTINATION_PORT, }, "protocol": "PROTOCOL", }'
以下を置き換えます。
PROJECT_ID
: ソースとなる Cloud Run 関数のプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の ID。APP_ENGINE_VERSION
: 送信元 App Engine スタンダード環境バージョンの URI(例:apps/myproject/services/servicename/versions/version-number
)DESTINATION_RESOURCE_FIELD
: Google マネージド サービス リソースのタイプを指定するフィールド使用可能なオプションについては、以下をご覧ください。
gkeMasterCluster
cloudSqlInstance
詳細については、エンドポイント リファレンスをご覧ください。
DESTINATION_ENDPOINT
: 宛先エンドポイントの URI(たとえば、gkeMasterCluster
フィールドの場合はprojects/myproject/locations/us-central1/clusters/cluster-1
)DESTINATION_IP_ADDRESS
: テストする内部または外部の宛先 IP アドレスDESTINATION_PORT
: 宛先の IP プロトコル ポート。このオプションは、TCP プロトコルまたは UDP プロトコルに対してのみ有効です。デフォルトはポート80
です。PROTOCOL
: 接続テストでサポートされているプロトコルデフォルトのプロトコルはTCP
です。
Cloud Run の関数から宛先へのテスト
このセクションでは、特定の Google Cloud リージョンにデプロイされた Cloud Run 関数から、VM インスタンス、IP アドレス、Google マネージド サービスへの接続をテストする方法について説明します。たとえば、このセクションの手順により、送信元を us-central1
、VPC ネットワーク内のエンドポイントを宛先として、デプロイされた Cloud Run の関数からの接続をテストできます。
詳細な構成分析を確認するには、Cloud Run の関数が有効で、Cloud Run の関数のサーバーレス VPC アクセス コネクタが構成されている必要があります。
Cloud Run の関数の下り(外向き)設定は、Cloud Run の関数からのアウトバウンド HTTP リクエストのルーティングを制御します。また、コネクタ経由で VPC ネットワークにルーティングされるトラフィック タイプも制御します。詳細については、Cloud Run の関数の下り(外向き)設定をご覧ください。
Cloud Run の関数から VM インスタンスへの接続テスト
コンソール
- Google Cloud Console で、[接続テスト] ページに移動します。
- [接続テストを作成] を選択します。
- [テスト名] フィールドにテストの名前を入力します。
- [プロトコル] リストでプロトコルを選択します。
- [送信元] で次の操作を行います。
- [送信元エンドポイント] メニューで、[Cloud Functions の関数の第 1 世代] を選択します。
- [Cloud Functions] メニューから、接続をテストする Cloud Run の関数を選択します。たとえば、
function-1
を選択します。 - [Cloud Functions のロケーション] メニューから、Cloud Run の関数をデプロイした Google Cloud リージョンを選択します。Cloud Run の関数は、名前が同じであれば、異なる構成のリージョンにもデプロイできます。
[宛先] で、次の操作を行います。
- [宛先エンドポイント] メニューから [VM インスタンス] を選択します。
- [宛先 VM インスタンス] メニューで VM インスタンスを選択します。
[宛先ネットワーク インターフェース] メニューで、ネットワーク インターフェースを選択します。
VM インスタンスに複数のネットワーク インターフェースがある場合は宛先の場所を一意に識別する VM ネットワーク インターフェースを選択します。
省略可: リストから宛先 IP アドレスを選択します。デフォルトは、宛先 VM インスタンスの IP アドレスです。
[宛先ポート] フィールドに、指定した宛先の宛先ポートを入力します。
[作成] をクリックします。
テストが終了すると、[接続テスト] のメインページが読み込まれ、このテストと他のテストを含むリストが表示されます。テスト結果を表示するに進みます。
gcloud
gcloud network-management connectivity-tests create
コマンドを使用します。サンプル値は、実際の VPC ネットワークの値で置き換えてください。
gcloud network-management connectivity-tests create NAME \ --source-cloud-function=SOURCE_CLOUD_FUNCTION \ --destination-instance=DESTINATION_INSTANCE \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --destination-port=DESTINATION_PORT \ --protocol=PROTOCOL
以下を置き換えます。
NAME
: 接続テストの名前SOURCE_CLOUD_FUNCTION
: Cloud Run の関数の URI(例:projects/myproject/locations/us-central1/functions/function-1
)DESTINATION_INSTANCE
: 宛先 VM の URI(例:projects/myproject/zones/us-east1-b/instances/instance-2
)DESTINATION_IP_ADDRESS
: テストの宛先 VM インスタンスの IP アドレス。IP アドレスは、宛先 VM インスタンスの IP アドレスのいずれかにする必要があります。DESTINATION_PORT
: 宛先の IP プロトコル ポート。このオプションは、TCP プロトコルまたは UDP プロトコルに対してのみ有効です。PROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。
API
projects.locations.global.connectivityTests.create
メソッドを使用します。
POST https: //networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "cloudFunction": { "uri": "SOURCE_CLOUD_FUNCTION", }, }, "destination": { "instance": "DESTINATION_INSTANCE", "ipAddress": "DESTINATION_IP_ADDRESS", }, "protocol": "PROTOCOL", }'
以下を置き換えます。
PROJECT_ID
: ソースとなる Cloud Run 関数のプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の ID。SOURCE_CLOUD_FUNCTION
: Cloud Run の関数の URI(例:projects/myproject/locations/us-central1/functions/function-1
)DESTINATION_INSTANCE
: 宛先 VM の URI(例:projects/myproject/zones/us-east1-b/instances/instance-2
)DESTINATION_IP_ADDRESS
: テストの宛先 VM インスタンスの IP アドレス。IP アドレスは、宛先 VM インスタンスの IP アドレスのいずれかにする必要があります。PROTOCOL
: 接続テストでサポートされているプロトコルデフォルトのプロトコルはTCP
です。
Cloud Run の関数から IP アドレスへの接続テスト
コンソール
- Google Cloud Console で、[接続テスト] ページに移動します。
- [接続テストを作成] を選択します。
- [テスト名] フィールドにテストの名前を入力します。
- [プロトコル] リストでプロトコルを選択します。
- [送信元] で次の操作を行います。
- [送信元エンドポイント] メニューで、[Cloud Functions の関数の第 1 世代] を選択します。
- [Cloud Functions] メニューから、接続をテストする Cloud Run の関数を選択します。たとえば、
function-1
を選択します。 - [Cloud Functions のロケーション] メニューから、Cloud Run の関数をデプロイした Google Cloud リージョンを選択します。Cloud Run の関数は、名前が同じであれば、異なる構成のリージョンにもデプロイできます。
- [宛先] で [IP アドレス] を選択し、IP アドレスを入力します。
- [宛先ポート] フィールドに、指定した宛先の宛先ポートを入力します。
- [作成] をクリックします。
- テストが終了すると、[接続テスト] のメインページが読み込まれ、このテストと他のテストを含むリストが表示されます。このページの後半のテスト結果を表示するに進みます。
gcloud
gcloud network-management connectivity-tests create
コマンドを使用します。サンプル値は、実際の VPC ネットワークの値で置き換えてください。
gcloud network-management connectivity-tests create NAME \ --source-cloud-function=SOURCE_CLOUD_FUNCTION \ --destination-ip-address==DESTINATION_IP_ADDRESS \ --protocol=PROTOCOL
以下を置き換えます。
NAME
: 接続テストの名前SOURCE_CLOUD_FUNCTION
: Cloud Run の関数の URI(例:projects/myproject/locations/us-central1/functions/function-1
)。DESTINATION_IP_ADDRESS
: テストの宛先 IP アドレスPROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。
API
projects.locations.global.connectivityTests.create
メソッドを使用します。
POST https: //networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "cloudFunction": { "uri": "SOURCE_CLOUD_FUNCTION", }, }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", }, "protocol": "PROTOCOL", }'
以下を置き換えます。
PROJECT_ID
: ソースとなる Cloud Run 関数のプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の ID。SOURCE_CLOUD_FUNCTION
: Cloud Run の関数の URI(例:projects/myproject/locations/us-central1/functions/function-1
)DESTINATION_IP_ADDRESS
: テストの宛先 IP アドレスPROTOCOL
: 接続テストでサポートされているプロトコルデフォルトのプロトコルはTCP
です。
Cloud Run の関数から Google マネージド サービスへの接続テスト
コンソール
- Google Cloud Console で、[接続テスト] ページに移動します。
- [接続テストを作成] を選択します。
- [テスト名] フィールドにテストの名前を入力します。
- [プロトコル] リストでプロトコルを選択します。
- [送信元] で次の操作を行います。
- [送信元エンドポイント] メニューで、[Cloud Functions の関数の第 1 世代] を選択します。
- [Cloud Functions] メニューから、接続をテストする Cloud Run の関数を選択します。たとえば、
function-1
を選択します。 - [Cloud Functions のロケーション] メニューから、Cloud Run の関数をデプロイした Google Cloud リージョンを選択します。Cloud Run の関数は、名前が同じであれば、異なる構成のリージョンにもデプロイできます。
- [宛先] で、次の操作を行います。
- [宛先エンドポイント] メニューで、[Cloud SQL インスタンス] などの Google マネージド サービス リソースの種類を選択します。
- [宛先 Cloud SQL インスタンス] メニューで、接続をテストする Cloud SQL インスタンスを選択します。
- 省略可: リストから [宛先 Cloud SQL インスタンスの IP アドレス] を選択します。デフォルトは送信元 Cloud Run の関数の IP アドレスです。
- [宛先ポート] フィールドに、指定した宛先の宛先ポートを入力します。
- [作成] をクリックします。
- テストが終了すると、[接続テスト] のメインページが読み込まれ、このテストと他のテストを含むリストが表示されます。このページの後半のテスト結果を表示するに進みます。
gcloud
gcloud network-management connectivity-tests create
コマンドを使用します。サンプル値は、実際の VPC ネットワークの値で置き換えてください。
gcloud network-management connectivity-tests create NAME \ --source-cloud-function=SOURCE_CLOUD_FUNCTION \ DESTINATION_RESOURCE_FLAG=DESTINATION_ENDPOINT \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --destination-port=DESTINATION_PORT \ --protocol=PROTOCOL
以下を置き換えます。
NAME
: 接続テストの名前SOURCE_CLOUD_FUNCTION
: Cloud Run の関数の URI(例:projects/myproject/locations/us-central1/functions/function-1
)。DESTINATION_RESOURCE_FLAG
: Google マネージド サービス リソースのタイプを指定するフラグ使用可能なオプションについては、以下をご覧ください。
--destination-gke-master-cluster
--destination-cloud-sql-instance
詳細については、
gcloud network-management connectivity-tests create
リファレンスをご覧ください。DESTINATION_ENDPOINT
: 宛先エンドポイントの URI(たとえば、--destination-gke-master-cluster
フラグの場合はprojects/myproject/locations/us-central1/clusters/cluster-1
)。DESTINATION_IP_ADDRESS
: テストする内部または外部の宛先 IP アドレスDESTINATION_PORT
: 宛先の IP プロトコル ポート。このオプションは、TCP プロトコルまたは UDP プロトコルに対してのみ有効です。デフォルトはポート80
です。PROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。
Cloud Run リビジョンから宛先へのテスト
このセクションでは、Cloud Run リビジョンから VM インスタンス、IP アドレス、または Google マネージド サービスへの接続をテストする方法について説明します。
1 つのプロジェクトに複数の Cloud Run サービスをデプロイできます。すべての Cloud Run サービスには、*.run.app
ドメインの一意のサブドメインに HTTPS エンドポイントが用意されています。Cloud Run サービスのデプロイごとに、新しい不変のリビジョンが作成されます。リビジョンから VM インスタンス、IP アドレス、または Google マネージド サービスへの到達可能性をテストできます。詳細な構成分析を確認するには、リビジョンのサーバーレス VPC アクセス コネクタを構成する必要があります。接続テストの結果は、リビジョンによって異なる場合があります。
たとえば、cloud_run_test
という名前の Cloud Run サービスには、サーバーレス VPC アクセス コネクタを使用するように構成されたリビジョン first-revision
と、サーバーレス VPC アクセス コネクタを使用するように構成されていない別のリビジョン second-revision
があります。全体的なネットワーク到達性の結果には、first-revision
では到達できますが、second-revision
では到達できない可能性があります。
接続テストを作成するときに、Cloud Run サービスのリビジョンのリストから選択できます。
Cloud Run サービスのリビジョンから VM インスタンスへの接続テスト
コンソール
- Google Cloud Console で、[接続テスト] ページに移動します。
- [接続テストを作成] を選択します。
- テスト名を入力します。
- プロトコルを選択します。
- [ソース] で次の操作を行います。
- [送信元エンドポイント] メニューから、[Cloud Run] を選択します。
- [Cloud Run サービス] メニューで、接続をテストする特定の Cloud Run サービスを選択します。たとえば、
helloworld-run
を選択します。- 送信元エンドポイントが現在のプロジェクト以外のプロジェクトにある場合は、[エンドポイントは「
PROJECT_NAME
」以外のプロジェクトに存在します。] をオンにします。 - エンドポイントが存在するプロジェクトを選択します。
- 送信元エンドポイントが現在のプロジェクト以外のプロジェクトにある場合は、[エンドポイントは「
- [Cloud Run のリビジョン] メニューで、テスト元の Cloud Run リビジョンを選択します。
[宛先] で、次の操作を行います。
- [宛先エンドポイント] メニューで [VM インスタンス] を選択します。
- [宛先 VM インスタンス] メニューで、特定の宛先 VM インスタンスを選択します。
[宛先ネットワーク インターフェース] メニューで、ネットワーク インターフェースを選択します。
VM インスタンスに複数のネットワーク インターフェースがある場合は、VM ネットワーク インターフェースを選択して、宛先の場所を一意に識別します。
省略可: リストから宛先 IP アドレスを選択します。デフォルトは、宛先 VM インスタンスの IP アドレスです。
[宛先ポート] フィールドに、指定した宛先の宛先ポートを入力します。
[作成] をクリックします。
テストが終了すると、[接続テスト] のメインページが読み込まれ、このテストと他のテストを含むリストが表示されます。テスト結果を表示するに進みます。
gcloud
gcloud network-management connectivity-tests create
コマンドを使用します。サンプル値は、実際の VPC ネットワークの値で置き換えてください。
gcloud network-management connectivity-tests create NAME \ --source-cloud-run-revision=CLOUD_RUN_REVISION \ --destination-instance=DESTINATION_INSTANCE \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --protocol=PROTOCOL
以下を置き換えます。
NAME
: 接続テストの名前CLOUD_RUN_REVISION
: ソースの Cloud Run リビジョンの URI(例:projects/myproject/locations/us-central1/revisions/cloudrun-revision
)DESTINATION_INSTANCE
: 宛先 VM の URI(例:projects/myproject/zones/us-east1-b/instances/instance-2
)DESTINATION_IP_ADDRESS
: テストの宛先 VM インスタンスの IP アドレス。IP アドレスは、宛先 VM インスタンスの IP アドレスのいずれかにする必要があります。PROTOCOL
: サーバーレス VPC アクセス コネクタでサポートされているネットワーク プロトコル(TCP
またはUDP
)
API
projects.locations.global.connectivityTests.create
メソッドを使用します。
POST https: //networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "cloudRunRevision": { "uri": "CLOUD_RUN_REVISION", }, }, "destination": { "instance": "DESTINATION_INSTANCE", "ipAddress": "DESTINATION_IP_ADDRESS" }, "protocol": "PROTOCOL", }'
以下を置き換えます。
PROJECT_ID
: ソースとなる Cloud Run 関数のプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の ID。CLOUD_RUN_REVISION
: ソースの Cloud Run リビジョンの URI(例:projects/myproject/locations/us-central1/revisions/cloudrun-revision
)DESTINATION_INSTANCE
: 宛先 VM の URI(例:projects/myproject/zones/us-east1-b/instances/instance-2
)DESTINATION_IP_ADDRESS
: テストの宛先 VM インスタンスの IP アドレス。IP アドレスは、宛先 VM インスタンスの IP アドレスのいずれかにする必要があります。PROTOCOL
: サーバーレス VPC アクセス コネクタでサポートされているネットワーク プロトコル(TCP
またはUDP
)
Cloud Run サービスのリビジョンから IP アドレスへの接続テスト
コンソール
- Google Cloud Console で、[接続テスト] ページに移動します。
- [接続テストを作成] を選択します。
- テスト名を入力します。
- プロトコルを選択します。
- [ソース] で次の操作を行います。
- [送信元エンドポイント] メニューから、[Cloud Run] を選択します。
- [Cloud Run サービス] メニューで、接続をテストする特定の Cloud Run サービスを選択します。たとえば、
helloworld-run
を選択します。- 送信元エンドポイントが現在のプロジェクト以外のプロジェクトにある場合は、[エンドポイントは「
PROJECT_NAME
」以外のプロジェクトに存在します。] をオンにします。 - エンドポイントが存在するプロジェクトを選択します。
- 送信元エンドポイントが現在のプロジェクト以外のプロジェクトにある場合は、[エンドポイントは「
- [Cloud Run のリビジョン] メニューで、テスト元の Cloud Run リビジョンを選択します。
- [宛先] で [IP アドレス] を選択し、IP アドレスを入力します。
- [宛先ポート] フィールドに、指定した宛先の宛先ポートを入力します。
- [作成] をクリックします。
- テストが終了すると、[接続テスト] のメインページが読み込まれ、このテストと他のテストを含むリストが表示されます。テスト結果を表示するに進みます。
gcloud
gcloud network-management connectivity-tests create
コマンドを使用します。サンプル値は、実際の VPC ネットワークの値で置き換えてください。
gcloud network-management connectivity-tests create NAME \ --source-cloud-run-revision=CLOUD_RUN_REVISION \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --protocol=PROTOCOL
以下を置き換えます。
NAME
: 接続テストの名前CLOUD_RUN_REVISION
: ソースの Cloud Run リビジョンの URI(例:projects/myproject/locations/us-central1/revisions/cloudrun-revision
)DESTINATION_IP_ADDRESS
: テストの宛先となる外部の宛先 IP アドレスPROTOCOL
: サーバーレス VPC アクセス コネクタでサポートされているネットワーク プロトコル(TCP
またはUDP
)
API
projects.locations.global.connectivityTests.create
メソッドを使用します。
POST https: //networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "cloudRunRevision": { "uri": "CLOUD_RUN_REVISION", }, }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", }, "protocol": "PROTOCOL", }'
以下を置き換えます。
PROJECT_ID
: ソースとなる Cloud Run 関数のプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の ID。CLOUD_RUN_REVISION
: ソースの Cloud Run リビジョンの URI(例:projects/myproject/locations/us-central1/revisions/cloudrun-revision
)DESTINATION_IP_ADDRESS
: テストの宛先となる外部の宛先 IP アドレスPROTOCOL
: サーバーレス VPC アクセス コネクタでサポートされているネットワーク プロトコル(TCP
またはUDP
)
Cloud Run サービスのリビジョンから Google マネージド サービスへの接続テスト
コンソール
- Google Cloud Console で、[接続テスト] ページに移動します。
- [接続テストを作成] を選択します。
- テスト名を入力します。
- プロトコルを選択します。
- [ソース] で次の操作を行います。
- [送信元エンドポイント] メニューから、[Cloud Run] を選択します。
- [Cloud Run サービス] メニューで、接続をテストする特定の Cloud Run サービスを選択します。たとえば、
helloworld-run
を選択します。- 送信元エンドポイントが現在のプロジェクト以外のプロジェクトにある場合は、[エンドポイントは「
PROJECT_NAME
」以外のプロジェクトに存在します。] をオンにします。 - エンドポイントが存在するプロジェクトを選択します。
- 送信元エンドポイントが現在のプロジェクト以外のプロジェクトにある場合は、[エンドポイントは「
- [Cloud Run のリビジョン] メニューで、テスト元の Cloud Run リビジョンを選択します。
- [宛先] で、次の操作を行います。
- [宛先エンドポイント] メニューで、GKE クラスタ コントロール プレーンなどの Google マネージド サービス のリソースの種類を選択します。
- [宛先 GKE クラスタ コントロール プレーン] メニューで、GKE コントロール プレーンへの接続をテストするクラスタを選択します。
- 省略可: リストから [宛先 GKE クラスタ コントロール プレーンの IP アドレス] を選択します。デフォルトは、送信元 VM インスタンスの IP アドレスです。
- [宛先ポート] フィールドに、指定した宛先の宛先ポートを入力します。
- [作成] をクリックします。
- テストが終了すると、[接続テスト] のメインページが読み込まれ、このテストと他のテストを含むリストが表示されます。テスト結果を表示するに進みます。
gcloud
gcloud network-management connectivity-tests create
コマンドを使用します。サンプル値は、実際の VPC ネットワークの値で置き換えてください。
gcloud network-management connectivity-tests create NAME \ --source-cloud-run-revision=CLOUD_RUN_REVISION \ DESTINATION_RESOURCE_FLAG=DESTINATION_ENDPOINT \ --destination-port=DESTINATION_PORT \ --protocol=PROTOCOL
以下を置き換えます。
NAME
: 接続テストの名前CLOUD_RUN_REVISION
: ソースの Cloud Run リビジョンの URI(例:projects/myproject/locations/us-central1/revisions/cloudrun-revision
)PROJECT_NAME
: エンドポイントが配置されているプロジェクト名(例:myproject
)DESTINATION_RESOURCE_FLAG
: Google マネージド サービス リソースのタイプを指定するフラグ使用可能なオプションについては、以下をご覧ください。
--destination-gke-master-cluster
--destination-cloud-sql-instance
詳細については、
gcloud network-management connectivity-tests create
リファレンスをご覧ください。DESTINATION_ENDPOINT
: 宛先エンドポイントの URI(たとえば、--destination-gke-master-cluster
フラグの場合はprojects/myproject/locations/us-central1/clusters/cluster-1
)。DESTINATION_PORT
: 宛先の IP プロトコル ポート。このオプションは、TCP プロトコルまたは UDP プロトコルに対してのみ有効です。デフォルトはポート80
です。PROTOCOL
: サーバーレス VPC アクセス コネクタでサポートされているネットワーク プロトコル(TCP
またはUDP
)
API
projects.locations.global.connectivityTests.create
メソッドを使用します。
POST https: //networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "cloudRunRevision": { "uri": "CLOUD_RUN_REVISION", }, }, "destination": { "DESTINATION_RESOURCE_FIELD": "DESTINATION_ENDPOINT", "port": DESTINATION_PORT, }, "protocol": "PROTOCOL", }'
以下を置き換えます。
PROJECT_ID
: ソースとなる Cloud Run 関数のプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の ID。CLOUD_RUN_REVISION
: ソースの Cloud Run リビジョンの URI(例:projects/myproject/locations/us-central1/revisions/cloudrun-revision
)DESTINATION_RESOURCE_FIELD
: Google マネージド サービス リソースのタイプを指定するフィールド使用可能なオプションについては、以下をご覧ください。
gkeMasterCluster
cloudSqlInstance
詳細については、エンドポイント リファレンスをご覧ください。
DESTINATION_ENDPOINT
: 宛先エンドポイントの URI(たとえば、gkeMasterCluster
フィールドの場合はprojects/myproject/locations/us-central1/clusters/cluster-1
)DESTINATION_PORT
: 宛先の IP プロトコル ポート。このオプションは、TCP プロトコルまたは UDP プロトコルに対してのみ有効です。デフォルトはポート80
です。PROTOCOL
: サーバーレス VPC アクセス コネクタでサポートされているネットワーク プロトコル(TCP
またはUDP
)
VPC ネットワークから Google Cloud 以外のネットワークへのテスト
VPC ネットワークから Google Cloud 以外のネットワークへのテストは、次の手順で行います。
コンソール
- Google Cloud Console で、[接続テスト] ページに移動します。
- [接続テストを作成] を選択します。
- [テスト名] フィールドにテストの名前を入力します。
- [プロトコル] リストでプロトコルを選択します。
- [ソース] で [IP アドレス] を選択し、IP アドレスを入力します。
- VPC ネットワークが別のプロジェクトにある場合、[これは Google Cloud で使用される IP アドレスです] を選択します。次に、[送信元 IP アドレスまたはサービス プロジェクト] フィールドで、ネットワークが配置されているプロジェクトを選択します。
- プライベート IP アドレスが RFC 1918 アドレス空間に含まれない場合は、[I confirm that the source endpoint resides in a range outside of the RFC 1918 address space] というラベルの付いたチェックボックスをオンにして、IP アドレスを含むソース ネットワークを選択します。
- [出力先] で、[IP アドレス] を選択し、外部 IP アドレスを入力します。
- [これは Google Cloud で使用される IP アドレスです] をオフにします。
- [宛先ポート] フィールドに、指定した宛先の宛先ポートを入力します。
- [作成] をクリックします。
- テストが終了すると、[接続テスト] のメインページが読み込まれ、このテストと他のテストを含むリストが表示されます。テスト結果を表示するに進みます。
gcloud
次のコマンドを入力して、内部 IP アドレスと外部 IP アドレスの間をテストします。コマンド オプションの変数は、VPC ネットワークの値に置き換えてください。
gcloud network-management connectivity-tests create NAME \ --source-ip-address=SOURCE_IP_ADDRESS \ --source-network=SOURCE_NETWORK \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --protocol=PROTOCOL
以下を置き換えます。
NAME
: 接続テストの名前SOURCE_IP_ADDRESS
: テストの送信元 IP アドレスSOURCE_NETWORK
: 送信元 IP アドレスがある VPC ネットワークの URI(たとえば、projects/myproject/global/networks/default
)DESTINATION_IP_ADDRESS
: テストの宛先となる外部の宛先 IP アドレスPROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。
IP アドレスが Google Cloud 内にあるかどうかや、送信元エンドポイントと宛先エンドポイントが RFC 1918 アドレス空間に含まれないかどうかを確認する必要はありません。これらのパラメータは、送信元 IP アドレスと宛先 IP アドレスに基づいて自動的に選択されます。
API
この例では、送信元 IP アドレスから宛先 IP アドレスに ping が届くかどうかをテストします。
projects.locations.global.connectivityTests.create
メソッドを使用します。
POST https://reachability.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "ipAddress": "SOURCE_IP_ADDRESS", "network": "SOURCE_NETWORK" }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL". }'
以下を置き換えます。
PROJECT_ID
: ソース VM のプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の IDSOURCE_IP_ADDRESS
: テストの送信元 IP アドレスSOURCE_NETWORK
: 送信元 IP アドレスがある VPC ネットワークの URI(たとえば、projects/myproject/global/networks/default
)DESTINATION_IP_ADDRESS
: テストの宛先となる外部の宛先 IP アドレスDESTINATION_PORT
: 宛先の IP プロトコル ポート。このオプションは、TCP プロトコルまたは UDP プロトコルに対してのみ有効です。PROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。
Python
次のサンプルコードは、2 つの IP アドレス間のテストを作成します。詳細については、Python 用 Google API クライアント ライブラリの create
をご覧ください。
test_input = { "source": { "ipAddress": "SOURCE_IP_ADDRESS", "projectId": "SOURCE_IP_PROJECT_ID" }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL", } request = api.projects().locations().global_().connectivityTests().create( parent="projects/PROJECT_ID/locations/global", testId="TEST_ID", body=test_input) print(json.dumps(request.execute(), indent=4))
以下を置き換えます。
SOURCE_IP_ADDRESS
: テストの送信元 IP アドレスSOURCE_IP_PROJECT_ID
: ソース IP アドレスのプロジェクト IDDESTINATION_IP_ADDRESS
: テストの宛先となる外部の宛先 IP アドレスDESTINATION_PORT
: 宛先の IP プロトコル ポート。このオプションは、TCP プロトコルまたは UDP プロトコルに対してのみ有効です。PROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。PROJECT_ID
: テストを作成するプロジェクトのプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の ID
IP アドレスが Google Cloud 内にあるかどうかや、送信元エンドポイントと宛先エンドポイントが RFC 1918 アドレス空間に含まれないかどうかを確認する必要はありません。これらのパラメータは、送信元 IP アドレスと宛先 IP アドレスに基づいて自動的に選択されます。
次のサンプルは、2 つの IP アドレス間のテストを作成します。
test_input = { "source": { "ipAddress": "SOURCE_IP_ADDRESS", "networkType": "GCP_NETWORK" }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL", } request = api.projects().locations().global_().connectivityTests().create( parent="projects/PROJECT_ID/locations/global", testId="TEST_ID", body=test_input) print(json.dumps(request.execute(), indent=4))
以下を置き換えます。
SOURCE_IP_ADDRESS
: テストの送信元 IP アドレスSOURCE_NETWORK_TYPE
: ソースがあるネットワークのタイプ。この場合は、GCP_NETWORK
という値を使用します。DESTINATION_IP_ADDRESS
: 宛先の IP アドレスDESTINATION_PORT
: 宛先 TCP または UDP のポート番号。このオプションは、TCP または UDP プロトコルに対してのみ有効です。PROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。PROJECT_ID
: テストを作成するプロジェクトのプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の ID。
VPC スポークから同じ Network Connectivity Center ハブに接続された別の VPC スポークへの接続をテストする
Network Connectivity Center ハブの VPC スポークから同じハブに接続された別の VPC スポークをテストする手順は次のとおりです。
コンソール
- Google Cloud Console で、[接続テスト] ページに移動します。
- [接続テストを作成] を選択します。
- [テスト名] フィールドにテストの名前を入力します。
- [プロトコル] リストでプロトコルを選択します。
- [ソース] で、[IP アドレス] を選択し、ソース スポーク VPC ネットワークからの IP アドレスを入力します。
- [宛先] で、[IP アドレス] を選択し、テストする別のスポーク VPC ネットワークの IP アドレスを入力します。
- [宛先ポート] フィールドに、指定した宛先の宛先ポートを入力します。
- [作成] をクリックします。
- テストが終了すると、[接続テスト] のメインページが読み込まれ、このテストと他のテストを含むリストが表示されます。テスト結果を表示するに進みます。
gcloud
次のコマンドを入力して、2 つのスポーク間のテストを行います。コマンド オプションの変数は、VPC ネットワークの値に置き換えてください。
gcloud network-management connectivity-tests create NAME \ --source-ip-address=SOURCE_IP_ADDRESS \ --source-network=SOURCE_NETWORK \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --protocol=PROTOCOL
以下を置き換えます。
NAME
: 接続テストの名前SOURCE_IP_ADDRESS
: テストの送信元 IP アドレス。SOURCE_NETWORK
: 送信元 IP アドレスがある VPC ネットワークの URI(例:projects/myproject/global/networks/default
)。DESTINATION_IP_ADDRESS
: テスト対象の別のスポーク VPC ネットワークの宛先 IP アドレス。PROTOCOL
: 接続テストでサポートされているプロトコルデフォルトのプロトコルはTCP
です。
IP アドレスが Google Cloud 内にあるかどうかや、送信元エンドポイントと宛先エンドポイントが RFC 1918 アドレス空間に含まれないかどうかを確認する必要はありません。これらのパラメータは、送信元 IP アドレスと宛先 IP アドレスに基づいて自動的に選択されます。
API
この例では、送信元 IP アドレスから宛先 IP アドレスに ping が届くかどうかをテストします。
projects.locations.global.connectivityTests.create
メソッドを使用します。
POST https://reachability.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "ipAddress": "SOURCE_IP_ADDRESS", "network": "SOURCE_NETWORK" }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL". }'
以下を置き換えます。
PROJECT_ID
: ソース VM のプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の ID。SOURCE_IP_ADDRESS
: テストの送信元 IP アドレスSOURCE_NETWORK
: 送信元 IP アドレスがある VPC ネットワークの URI(例:projects/myproject/global/networks/default
)。DESTINATION_IP_ADDRESS
: テスト対象の別のスポーク VPC ネットワークの宛先 IP アドレス。DESTINATION_PORT
: 宛先 TCP または UDP のポート番号。このオプションは、TCP または UDP プロトコルに対してのみ有効です。PROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。
Python
次のサンプルコードは、2 つの IP アドレス間のテストを作成します。詳細については、Python 用 Google API クライアント ライブラリの create
メソッドをご覧ください。
test_input = { "source": { "ipAddress": "SOURCE_IP_ADDRESS", "projectId": "SOURCE_IP_PROJECT_ID" }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL", } request = api.projects().locations().global_().connectivityTests().create( parent="projects/PROJECT_ID/locations/global", testId="TEST_ID", body=test_input) print(json.dumps(request.execute(), indent=4))
以下を置き換えます。
SOURCE_IP_ADDRESS
: テストの送信元 IP アドレス。SOURCE_IP_PROJECT_ID
: ソース IP アドレスのプロジェクト IDDESTINATION_IP_ADDRESS
: テスト対象の別のスポーク VPC ネットワークの宛先 IP アドレス。DESTINATION_PORT
: 宛先 TCP または UDP のポート番号。このオプションは、TCP または UDP プロトコルに対してのみ有効です。PROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。PROJECT_ID
: テストを作成するプロジェクトのプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の ID
IP アドレスが Google Cloud 内にあるかどうかや、送信元エンドポイントと宛先エンドポイントが RFC 1918 アドレス空間に含まれないかどうかを確認する必要はありません。これらのパラメータは、送信元 IP アドレスと宛先 IP アドレスに基づいて自動的に選択されます。
次のサンプルは、2 つの IP アドレス間のテストを作成します。
test_input = { "source": { "ipAddress": "SOURCE_IP_ADDRESS", "networkType": "GCP_NETWORK" }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL", } request = api.projects().locations().global_().connectivityTests().create( parent="projects/PROJECT_ID/locations/global", testId="TEST_ID", body=test_input) print(json.dumps(request.execute(), indent=4))
以下を置き換えます。
SOURCE_IP_ADDRESS
: テストの送信元 IP アドレスSOURCE_NETWORK_TYPE
: ソースがあるネットワークのタイプ。この場合は、GCP_NETWORK
という値を使用しますDESTINATION_IP_ADDRESS
: 宛先 VM の IP アドレスDESTINATION_PORT
: 宛先の IP プロトコル ポート。このオプションは、TCP プロトコルまたは UDP プロトコルに対してのみ有効です。PROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。PROJECT_ID
: テストを作成するプロジェクトのプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の ID
VM から Google Cloud 以外のネットワークへのテスト
このテストでは、ソース VM から Google ネットワーク エッジ ロケーションへの接続を分析します。
コンソール
- Google Cloud Console で、[接続テスト] ページに移動します。
- [接続テストを作成] を選択します。
- [テスト名] フィールドにテストの名前を入力します。
- [プロトコル] リストでプロトコルを選択します。
[ソース] で次の操作を行います。
- [送信元エンドポイント] メニューから [VM インスタンス] を選択します。
- [送信元 VM インスタンス] メニューから、特定の送信元 VM インスタンスを選択します。
[ソース ネットワーク インターフェース] メニューで、ネットワーク インターフェースを選択します。
VM インスタンスに複数のネットワーク インターフェースがある場合はソースの場所を一意に識別する VM ネットワーク インターフェースを選択します。
省略可: リストから送信元 IP アドレスを選択します。デフォルトは、送信元 VM インスタンスの IP アドレスです。
[宛先] で、次の操作を行います。
- [宛先エンドポイント] メニューで、[IP アドレス] を選択します。
- 外部の宛先 IP アドレスを入力します。
- [これは Google Cloud で使用される IP アドレスです] をオフにします。
[宛先ポート] フィールドに、指定した宛先の宛先ポートを入力します。
[作成] をクリックします。
テストが終了すると、[接続テスト] のメインページが読み込まれ、このテストと他のテストを含むリストが表示されます。テスト結果を表示するに進みます。
gcloud
VM と外部 IP アドレスの間でテストするには、次のコマンドを入力します。サンプル値は、実際の VPC ネットワークの値で置き換えてください。
gcloud network-management connectivity-tests create NAME \ --source-instance=SOURCE_INSTANCE \ --source-ip-address=SOURCE_IP_ADDRESS \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --destination-port=DESTINATION_PORT \ --protocol=PROTOCOL
以下を置き換えます。
NAME
: 接続テストの名前SOURCE_INSTANCE
: ソース VM の URI(例:projects/myproject/zones/us-east1-b/instances/instance-1
)SOURCE_IP_ADDRESS
: テスト元のソース VM インスタンスの IP アドレス。IP アドレスは、ソース VM インスタンスの IP アドレスのいずれかである必要があります。DESTINATION_IP_ADDRESS
: テストの宛先となる外部の宛先 IP アドレスDESTINATION_PORT
: 宛先の IP プロトコル ポート。このオプションは、TCP プロトコルまたは UDP プロトコルに対してのみ有効です。PROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。
API
次のテストの例では、既存のネットワーク構成で VM instance1
が宛先 IP アドレスに ping できるかどうかを確認します。
projects.locations.global.connectivityTests.create
メソッドを使用します。
POST https: //networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "instance": "SOURCE_INSTANCE", "ipAddress": "SOURCE_IP_ADDRESS", }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL", }'
以下を置き換えます。
PROJECT_ID
: ソース VM のプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の IDSOURCE_INSTANCE
: ソース VM の URI(例:projects/myproject/zones/us-east1-b/instances/instance-1
)SOURCE_IP_ADDRESS
: テスト元のソース VM インスタンスの IP アドレス。IP アドレスは、ソース VM インスタンスの IP アドレスのいずれかである必要があります。DESTINATION_IP_ADDRESS
: テストの宛先となる外部の宛先 IP アドレスDESTINATION_PORT
: 宛先の IP プロトコル ポート。このオプションは、TCP プロトコルまたは UDP プロトコルに対してのみ有効です。PROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。
Python
次のサンプルコードは、VM インスタンスと外部 IP アドレスの間のテストを作成します。詳細については、Python 用 Google API クライアント ライブラリの create
をご覧ください。
test_input = { "source": { "instance": "SOURCE_INSTANCE", "ipAddress": "SOURCE_IP_ADDRESS", "projectId": "SOURCE_INSTANCE_PROJECT_ID" }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL", } request = api.projects().locations().global_().connectivityTests().create( parent="projects/PROJECT_ID/locations/global", testId="TEST_ID", body=test_input) print(json.dumps(request.execute(), indent=4))
以下を置き換えます。
SOURCE_INSTANCE
: ソース VM の URI(例:projects/myproject/zones/us-east1-b/instances/instance-1
)SOURCE_IP_ADDRESS
: テスト元のソース VM インスタンスの IP アドレス。IP アドレスは、ソース VM インスタンスの IP アドレスのいずれかである必要があります。SOURCE_INSTANCE_PROJECT_ID
: ソース VM のプロジェクト IDDESTINATION_IP_ADDRESS
: テストの宛先となる外部の宛先 IP アドレスDESTINATION_PORT
: 宛先の IP プロトコル ポート。このオプションは、TCP プロトコルまたは UDP プロトコルに対してのみ有効です。PROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。PROJECT_ID
: テストを作成するプロジェクトのプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の ID
VM または IP アドレスからロードバランサへのテスト
このセクションでは、VM または IP アドレスから Google Cloud ロードバランサへの接続をテストする方法について説明します。
接続テストの構成分析は、全タイプの Google Cloud ロードバランサへのシミュレーション パケットによるトレースをサポートしています。外部アプリケーション ロードバランサのトレースパスは、外部プロキシ ネットワーク ロードバランサにも適用されます。詳細については、Cloud Load Balancing の概要をご覧ください。
以下に対する接続をテストできます。
- 外部アプリケーション ロードバランサ
- 内部アプリケーション ロードバランサ
- 外部パススルー ネットワーク ロードバランサ
- 内部パススルー ネットワーク ロードバランサ
- 外部プロキシ ネットワーク ロードバランサ
VM からロードバランサへのテスト
このセクションでは、ソース VM からロードバランサへの接続を分析します。
コンソール
- Google Cloud Console で、[接続テスト] ページに移動します。
- [接続テストを作成] を選択します。
- [テスト名] フィールドにテストの名前を入力します。
- [プロトコル] リストでプロトコルを選択します。
[ソース] で次の操作を行います。
- [送信元エンドポイント] メニューから [VM インスタンス] を選択します。
- [送信元 VM インスタンス] メニューから、特定の送信元 VM インスタンスを選択します。
[ソース ネットワーク インターフェース] メニューで、ネットワーク インターフェースを選択します。
VM インスタンスに複数のネットワーク インターフェースがある場合はソースの場所を一意に識別する VM ネットワーク インターフェースを選択します。
省略可: リストから送信元 IP アドレスを選択します。デフォルトは、送信元 VM インスタンスの IP アドレスです。
[宛先] で、次の操作を行います。
- [宛先エンドポイント] メニューで、[ロードバランサ] を選択します。
[宛先ロードバランサ] メニューで、ロードバランサを選択します。
宛先エンドポイントが現在のプロジェクト以外のプロジェクトにある場合は、[エンドポイントは「
PROJECT_NAME
」以外のプロジェクトに存在します。] を選択します。次に、[宛先エンドポイント プロジェクト] フィールドで、エンドポイントが配置されているプロジェクトを選択します。宛先転送ルールを選択します。
[宛先ポート] フィールドに、指定した宛先の宛先ポートを入力します。
[作成] をクリックします。
テストが終了すると、[接続テスト] のメインページが読み込まれ、このテストと他のテストを含むリストが表示されます。テスト結果を表示するに進みます。
gcloud
VM とロードバランサの間でテストするには、次のコマンドを入力します。
gcloud network-management connectivity-tests create NAME \ --source-instance=SOURCE_INSTANCE \ --source-ip-address=SOURCE_IP_ADDRESS \ --protocol=PROTOCOL \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --destination-port=DESTINATION_PORT \
以下を置き換えます。
NAME
: 接続テストの名前SOURCE_INSTANCE
: ソース VM の URI(例:projects/myproject/zones/us-east1-b/instances/instance-1
)SOURCE_IP_ADDRESS
: テスト元のソース VM インスタンスの IP アドレス。IP アドレスは、ソース VM インスタンスの IP アドレスのいずれかである必要があります。PROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。DESTINATION_IP_ADDRESS
: テストする外部の宛先 IP アドレス。DESTINATION_PORT
: 宛先の IP プロトコル ポート。このオプションは、TCP プロトコルまたは UDP プロトコルに対してのみ有効です。
API
projects.locations.global.connectivityTests.create
メソッドを使用します。
POST https: //networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "instance": "SOURCE_INSTANCE", "ipAddress": "SOURCE_IP_ADDRESS", }, "destination": { "forwardingRule": "DESTINATION_FORWARDING_RULE", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL", }'
以下を置き換えます。
PROJECT_ID
: ソース VM のプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の IDSOURCE_INSTANCE
: ソース VM の URI(例:projects/myproject/zones/us-east1-b/instances/instance-1
)SOURCE_IP_ADDRESS
: テスト元のソース VM インスタンスの IP アドレス。IP アドレスは、ソース VM インスタンスの IP アドレスのいずれかである必要があります。DESTINATION_FORWARDING_RULE
: エンドポイントを表す宛先転送ルール。DESTINATION_PORT
: 宛先の IP プロトコル ポート。このオプションは、TCP プロトコルまたは UDP プロトコルに対してのみ有効です。PROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。
Python
次のサンプルコードは、VM インスタンスとロードバランサのエンドポイント間でのテストを作成します。詳細については、Python 用 Google API クライアント ライブラリの create
をご覧ください。
test_input = { "source": { "instance": "SOURCE_INSTANCE", "ipAddress": "SOURCE_IP_ADDRESS", "projectId": "SOURCE_INSTANCE_PROJECT_ID" }, "destination": { "forwardingRule": "DESTINATION_FORWARDING_RULE", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL", } request = api.projects().locations().global_().connectivityTests().create( parent="projects/PROJECT_ID/locations/global", testId="TEST_ID", body=test_input) print(json.dumps(request.execute(), indent=4))
以下を置き換えます。
SOURCE_INSTANCE
: ソース VM の URI(例:projects/myproject/zones/us-east1-b/instances/instance-1
)SOURCE_IP_ADDRESS
: テスト元のソース VM インスタンスの IP アドレス。IP アドレスは、ソース VM インスタンスの IP アドレスのいずれかである必要があります。SOURCE_INSTANCE_PROJECT_ID
: ソース VM のプロジェクト IDDESTINATION_FORWARDING_RULE
: エンドポイントを表す宛先転送ルール。DESTINATION_PORT
: 宛先の IP プロトコル ポート。このオプションは、TCP プロトコルまたは UDP プロトコルに対してのみ有効です。PROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。PROJECT_ID
: テストを作成するプロジェクトのプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の ID
IP アドレスからロードバランサへのテスト
コンソール
- Google Cloud Console で、[接続テスト] ページに移動します。
- [接続テストを作成] を選択します。
- [テスト名] フィールドにテストの名前を入力します。
- [プロトコル] リストでプロトコルを選択します。
- [ソース] で次の操作を行います。
- [送信元エンドポイント] メニューで、[IP アドレス] を選択します。
- [送信元 IP アドレス] フィールドに、送信元 IP アドレスを入力します。
- VPC ネットワークが別のプロジェクトにある場合、[これは Google Cloud で使用される IP アドレスです] を選択します。次に、[送信元 IP アドレスまたはサービス プロジェクト] フィールドで、ネットワークが配置されているプロジェクトを選択します。
- IP アドレスが RFC 1918 アドレス空間に含まれない場合は、[I confirm that the source endpoint resides in a range outside of the RFC 1918 address space] をオンにします。次に、[ソース ネットワーク] リストで、送信元 IP アドレスを含むネットワークを選択します。
[宛先] で、次の操作を行います。
- [宛先エンドポイント] メニューで、[ロードバランサ] を選択します。
[宛先ロードバランサ] メニューで、ロードバランサ エンドポイントを選択します。
宛先エンドポイントが現在のプロジェクト以外のプロジェクトにある場合は、[エンドポイントは「
PROJECT_NAME
」以外のプロジェクトに存在します。] を選択します。次に、[宛先エンドポイント プロジェクト] フィールドで、エンドポイントが配置されているプロジェクトを選択します。宛先転送ルールを選択します。
[宛先ポート] フィールドに、指定した宛先の宛先ポートを入力します。
[作成] をクリックします。
テストが終了すると、[接続テスト] のメインページが読み込まれ、このテストと他のテストを含むリストが表示されます。テスト結果を表示するに進みます。
gcloud
gcloud network-management connectivity-tests create
コマンドを使用します。サンプル値は、実際の VPC ネットワークの値で置き換えてください。
gcloud network-management connectivity-tests create NAME \ --source-project=SOURCE_PROJECT \ --source-ip-address=SOURCE_IP_ADDRESS \ --protocol=PROTOCOL \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --destination-port=DESTINATION_PORT \
以下を置き換えます。
NAME
: 接続テストの名前SOURCE_PROJECT
: 送信元エンドポイントのプロジェクト IDSOURCE_IP_ADDRESS
: テスト元のソース VM インスタンスの IP アドレス。IP アドレスは、ソース VM インスタンスの IP アドレスのいずれかである必要があります。PROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。DESTINATION_IP_ADDRESS
: テストの宛先となる外部の宛先 IP アドレスDESTINATION_PORT
: 宛先の IP プロトコル ポート。このオプションは、TCP プロトコルまたは UDP プロトコルに対してのみ有効です。
エンドポイントを使用してマネージド サービスまたは別の VPC ネットワーク内のサービスにアクセスする場合、エンドポイントは内部 IP アドレスであるため、DESTINATION_NETWORK
を指定する必要があります。
API
次の例では、送信元 IP アドレスからロードバランサのエンドポイントに ping できるかどうかテストします。
projects.locations.global.connectivityTests.create
メソッドを使用します。
Google Cloud の外部 IP アドレスとして送信元 IP アドレスを指定する場合は、NON_GCP_NETWORK
の networkType
を指定する必要があります。次のコマンドで、各値は Google Cloud ネットワークの値に置き換えてください。
POST https://reachability.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "ipAddress": "SOURCE_IP_ADDRESS", "networkType": "NON_GCP_NETWORK", }, "destination": { "forwardingRule": "DESTINATION_FORWARDING_RULE", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL", }'
以下を置き換えます。
SOURCE_IP_ADDRESS
: テストの送信元 IP アドレスDESTINATION_FORWARDING_RULE
: エンドポイントを表す宛先転送ルール。DESTINATION_PORT
: 宛先の IP プロトコル ポート。このオプションは、TCP プロトコルまたは UDP プロトコルに対してのみ有効です。PROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。
エンドポイントを使用して公開サービスにアクセスする場合は、エンドポイントに内部 IP アドレスがあるため、DESTINATION_NETWORK
を指定する必要があります。
Python
次のサンプルコードは、IP アドレスとロードバランサのエンドポイント間のテストを作成します。詳細については、Python 用 Google API クライアント ライブラリの create
をご覧ください。
Google Cloud の外部 IP アドレスとして送信元 IP アドレスを指定する場合は、NON_GCP_NETWORK
の networkType
を指定する必要があります。
test_input = { "source": { "ipAddress": "SOURCE_IP_ADDRESS", "networkType": "NON_GCP_NETWORK" }, "destination": { "forwardingRule": "DESTINATION_FORWARDING_RULE", "port": "DESTINATION_PORT", "projectId": "DESTINATION_IP_PROJECT_ID" }, "protocol": "PROTOCOL", } request = api.projects().locations().global_().connectivityTests().create( parent="projects/PROJECT_ID/locations/global", testId="TEST_ID", body=test_input) print(json.dumps(request.execute(), indent=4))
以下を置き換えます。
SOURCE_IP_ADDRESS
: テストの送信元 IP アドレスSOURCE_NETWORK_TYPE
: ソースがあるネットワークのタイプ。この場合は、NON_GCP_NETWORK
という値を使用しますDESTINATION_FORWARDING_RULE
: エンドポイントを表す宛先転送ルール。DESTINATION_PORT
: 宛先の IP プロトコル ポート。このオプションは、TCP プロトコルまたは UDP プロトコルに対してのみ有効です。DESTINATION_IP_PROJECT_ID
: 宛先 IP アドレスのプロジェクト IDPROTOCOL
: 接続テストでサポートされているプロトコル。デフォルトのプロトコルはTCP
です。PROJECT_ID
: テストを作成するプロジェクトのプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の ID
エンドポイントを使用して公開サービスにアクセスする場合は、エンドポイントに内部 IP アドレスがあるため、DESTINATION_NETWORK
を指定する必要があります。
IP アドレスが Google Cloud 内にあるかどうかや、送信元と宛先のエンドポイントまたはバックエンドが RFC 1918 アドレス空間に含まれないかどうかを確認する必要はありません。これらのパラメータは、送信元 IP アドレスと宛先 IP アドレスに基づいて自動的に選択されます。
Google Cloud 以外のネットワークから VPC ネットワークへのテスト
この手順は、次の手順を除き、VPC ネットワーク内のプライベート IP アドレス間のテストと同じです。この手順は、Google Cloud Console、Google Cloud CLI、API の例、Python の例で使用します。
- 送信元アドレスが Google Cloud になく、ピア(オンプレミス)ネットワークからのものでもない場合は、外部 IP アドレスを指定します。
- 送信元アドレスがピア(オンプレミス)ネットワークからのものである場合は、[Other non-Google Cloud network] を選択する必要があります。
Google Cloud 以外のネットワークから Google Cloud 以外のネットワークへのテスト
この手順は、次の手順を除き、VPC ネットワーク内のプライベート IP アドレス間のテストと同じです。この手順は、Google Cloud Console、Google Cloud CLI、API の例、Python の例で使用します。
- ソース IP アドレスと宛先 IP アドレスの外部 IP アドレスを指定します。
- Google Cloud コンソールで、[これは Google Cloud で使用される IP アドレスです] をオフにします。
テスト結果を表示する
このセクションでは、接続テストの結果の確認方法について説明します。
Console
複数のページからテストを確認できます。
接続テストのメインページから
- Google Cloud Console で、[接続テスト] ページに移動します。
- [結果の詳細] 列で、テストを選択して [表示] をクリックします。
テストの情報パネルが表示されます。テストパスで、各 Google Cloud リソースの全体的な結果と結果カードを確認できます。VM インスタンスやルートなど、一部の Google Cloud リソースの詳細ページへのリンクをクリックできます。テストに複数のトレースが含まれている場合は、[トレースの結果] リストからトレースを選択できます。
データプレーンのライブ分析がテスト可能な場合、パケットロスとレイテンシの指標を表示できます。
結果カードを開くか閉じるには、カードの右側にある矢印をクリックします。
テスト結果を解釈するには、構成分析の状態をご覧ください。
情報パネルを閉じるには、ページの右上にある [情報パネルを非表示] をクリックします。
接続テストの詳細ページから
または、Google Cloud Console のメインページでテストの名前をクリックし、[接続テストの詳細] ページで結果を確認します。
ネットワーク インターフェースの詳細ページから
また、Compute Engine VM インスタンスのネットワーク インターフェースの [ネットワーク インターフェースの詳細] ページで、結果を確認することもできます。このページには、現在のネットワーク インターフェースをソースまたは宛先として使用するテストのみが表示されます。
結果を表示するには、[結果の詳細] 列で、[表示] を選択するか、テストの名前をクリックします。
gcloud
テスト結果を表示するには、次のコマンドを入力します。表示するテスト ID を使用します。
gcloud network-management connectivity-tests describe NAME
NAME
を接続テストの名前に置き換えます。
API
projects.locations.global.connectivityTests.get
メソッドを使用して、テストの結果を表示します。
GET https://networkmanagement.googleapis.com/v1/{name=projects/PROJECT_ID/locations/global/connectivityTests/TEST_ID}
以下を置き換えます。
PROJECT_ID
: ソース VM のプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の ID
Python
次のサンプルコードは、テスト結果を出力します。詳細については、Python 用 Google API クライアント ライブラリの get
をご覧ください。
project_id = "PROJECT_ID" test_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))
以下を置き換えます。
PROJECT_ID
: テストが作成されたプロジェクトのプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の ID
1 つ以上のテストを再実施する
テストパスで Google Cloud リソースの構成を変更し、最新のネットワーク構成の結果を確認したい場合は、接続テストを再実施することをおすすめします。1 つ以上のテストを同時に実施できます。
接続テストは、実施時のネットワーク構成のスナップショットに基づきます。テストを再実施すると、以前のテスト結果が上書きされます。古い結果を保持する場合は、代わりに新しいテストを作成します。
rerun
テスト オペレーションの実行中にそのステータスを確認するには、実行中のテスト オペレーションのチェックをご覧ください。
Console
接続テストのメインページから
- Google Cloud Console で、[接続テスト] ページに移動します。
- 利用可能な接続テストのリストから 1 つ以上のテストを選択します。
- [再実行] をクリックします。
接続テストの詳細ページから
- 前の [接続テスト] のメインページで、テストの名前をクリックします。
- [接続テストの詳細] ページの上部にある [再実行] をクリックします。
ネットワーク インターフェースの詳細ページから
- Google Cloud Console で、[VM インスタンス] ページに移動します。
- まだ選択していない場合は、テストを再実施するインスタンスを含むプロジェクトを選択します。
- テストの再実施に使用するインスタンスをクリックします。
- [ネットワーク インターフェース] で、テストの再実施に使用するネットワーク インターフェースを選択します。
- [ネットワーク分析] で、[接続テスト] をクリックします。
- 利用可能な接続テストのリストから 1 つ以上のテストを選択します。
- [再実行] をクリックします。
gcloud
接続テストを再実施するには、次のコマンドを入力します。再実施するテスト ID を使用します。
gcloud network-management connectivity-tests rerun NAME
NAME
を接続テストの名前に置き換えます。
API
Network Management API が connectivityTests
リソースを作成すると、削除するまでそのテストリソースが保持されます。このため、テストを再実施できます。
永続的なテストを作成したくない場合は、API を使用してテストを作成すると、テスト結果の表示後に削除できます。
projects.locations.global.connectivityTests.rerun
メソッドを使用して、再度テストを行います。
POST https://networkmanagement.googleapis.com/v1/{name=projects/*/locations/global/connectivityTests/*}:rerun { "name": {projects/PROJECT_ID/connectivityTests/{TEST_ID}} }
以下を置き換えます。
PROJECT_ID
: ソース VM のプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の ID
Python
次のサンプルコードではテストを再実行します。詳細については、Python 用 Google API クライアント ライブラリの rerun
をご覧ください。
project_id = "PROJECT_ID" test_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))
次の値を置き換えます。
PROJECT_ID
: テストが作成されたプロジェクトのプロジェクト IDTEST_ID
: 実行中の接続テスト オブジェクト(テスト)の ID