実行中のテスト オペレーションを確認する

接続テストでは、createupdatedelete などの実行中のテスト オペレーションのステータスを定期的に確認できます。テストの完了後も、最終的なテスト結果を確認できます。

Console

Google Cloud Console では、スピナー アイコンを使用して、実施中のテストが表示されます。接続テストはテスト オペレーションのステータスをバックグラウンドで継続的にポーリングします。テストが完了すると、[結果の詳細] パネルで最終結果を確認できます。

Google Cloud コンソール ページの詳細については、接続テストを作成して実行するをご覧ください。

gcloud

gcloud CLI を使用して実行中のテスト オペレーションを確認するには、--async オプションを指定します。このオプションを指定しないと、最終的なテスト結果のみが表示されます。

  1. たとえば、--async オプションを指定して次のテストを作成すると、コマンドラインにすぐにオペレーション リソース ID が返されます。その後、この ID を後続の describe コマンドで使用して、テストの実施中にテスト ステータスを確認できます。

    gcloud network-management connectivity-tests create NAME \
      --destination-project=DESTINATION_PROJECT \
      --source-ip-address=SOURCE_IP_ADDRESS \
      --destination-ip-address=DESTINATION_IP_ADDRESS \
      --protocol=PROTOCOL \
      --source-project=SOURCE_PROJECT \
      --async
    

    次の値を置き換えます。

    • NAME: 接続テストの名前
    • DESTINATION_PROJECT: 送信先エンドポイントのプロジェクト ID
    • SOURCE_IP_ADDRESS: テストの起点となる内部または外部の送信元 IP アドレス。IPv6 アドレスは、テストの宛先がグローバル ロードバランサの VIP である場合にのみ許可されます。
    • DESTINATION_IP_ADDRESS: テストの終点となる内部または外部の送信元 IP アドレス。IPv6 アドレスは、テストの宛先がグローバル ロードバランサの VIP である場合にのみ許可されます。
    • PROTOCOL: 接続テストでサポートされているプロトコル
    • SOURCE_PROJECT: 送信元エンドポイントのプロジェクト ID

    次のような出力が表示されます。

    Create request issued for: [gcloud-example]
    Check operation [projects/reachability-e2e-test/locations/global/operations/operation-1580411210002-59d6028c56f71-85ef2899-54d8bc13] for status
    
  2. テストのステータスを確認するには、describe コマンドでオペレーション リソース ID を使用します。

    gcloud network-management operations describe \
    projects/SOURCE_PROJECT/locations/global/operations/OPERATION_RESOURCE_ID
    

    次の値を置き換えます。

    • SOURCE_PROJECT: 送信元エンドポイントのプロジェクト ID
    • OPERATION_RESOURCE_ID: チェックしている処理中のオペレーションのリソース ID(たとえば operation-1580411210002-59d6028c56f71-85ef2899-54d8bc13

    次に示す、前述のコマンドのサンプル出力は、done: false を示しています。テストが完了すると、このフィールドは done: true に変わります。

    done: false
    metadata:
     '@type': type.googleapis.com/google.cloud.networkmanagement.v1.OperationMetadata
     apiVersion: v1
     cancelRequested: false
     createTime: '2020-01-30T19:06:50.055838110Z'
     endTime: '2020-01-30T19:06:57.637200039Z'
     target: projects/reachability-e2e-test/locations/global/connectivityTests/gcloud-example
     verb: create
    name:
     projects/reachability-e2e-test/locations/global/operations/operation-1580411210002-59d6028c56f71-85ef2899-54d8bc13
    response:
     '@type': type.googleapis.com/google.cloud.networkmanagement.v1beta1.ConnectivityTest
     createTime: '2020-01-30T19:06:50.050012906Z'
     ...  // Full resource metadata displayed here.
    
  3. 出力に done: true が表示されるまで、上記の describe コマンドを繰り返します。

API

Network Management API は常に async モードです。API にコマンドを発行すると、オペレーション ID がすぐに送信されます。この ID を使用して、定期的にテスト ステータスを確認できます。

Python

Network Management API は常に async モードです。API Python クライアントを使用してリクエストを発行すると、オペレーション ID がすぐに送信されます。この ID を使用して、定期的にテスト ステータスを確認できます。

次の例をご覧ください。

project_id = 'PROJECT_ID'
operation_id = 'OPERATION_ID'

request = api.projects().locations().global_().operations().get(
        name='projects/%s/locations/global/operations/%s' % (project_id, operation_id))

print(json.dumps(request.execute(), indent=4))

次の値を置き換えます。

  • PROJECT_ID: テストを作成したプロジェクトのプロジェクト ID
  • OPERATION_ID: チェックしている処理中のオペレーションのリソース ID(たとえば operation-1580411210002-59d6028c56f71-85ef2899-54d8bc13

次のステップ