こんにちは。SCSKの林です。
最近Google Cloudで便利な機能「接続テスト」を見つけたのでそちらの紹介をしたいと思います。
クラウドを利用していると、思うように通信ができないことって多々ありますよね。
Google Cloudだったらファイアウォールルールを作成していなかったり、AWSだとセキュリティグループの穴あけを忘れていたり。。
そんな時の原因の切り分けに役に立つかもしれないのがこの接続テストです。
接続テストとは?
「接続テスト」は「Network Intelligence Center」の機能の一つです。
公式ドキュメント ⇩
公式ドキュメントの説明文
接続テストは、ネットワーク エンドポイント間の接続を確認できる診断ツールです。構成を分析し、場合によってはエンドポイント間でランタイム検証を行います。エンドポイントは、VM、Google Kubernetes Engine(GKE)クラスタ、ロードバランサの転送ルール、インターネット上の IP アドレスなどのネットワーク トラフィックの送信元または宛先です。
あくまで論理的に送信元から宛先までの到達可能性を検証してくれる機能のようです。
試してみた。
Google Cloudコンソール左ペインの「ネットワーキング」-「ネットワークインテリジェントセンター」の下にあります。
まだ接続テストが何もない状態です。
接続テストの作成画面です。
それほど設定項目は多くありません。
作成画面の詳細です。プロトコルは以下から選べます。tcp、udpの場合はもちろんポート番号も入力します。
ソース、出力先です。以下の4つから選ぶことができます。
こんな感じで各パラメータを入力してみました。
ソースがこのプロジェクトに存在するComputeEngine、出力先がVPC Peeringしている先のIPアドレスです。
「作成」ボタンを押すと即座にテストが開始されます。
検証結果の詳細画面です。右に通信のフロー図が出てきます。
ちなみに失敗パターンも作成してみました。
ファイアウォールでブロックされていることが分かります。
終わりに
GCP外との通信の場合は、この接続テストでテストできる部分以外にも原因がある可能性がある点には気をつけないといけないです。(この検証結果と実機の結果が一致しないことも有)
ただ、GCP内の通信を確認したい場合や、原因切り分けをしたい場合に使うにはとても有用な機能だと感じました。
設定も難しくないので、サクッと試せるのが非常によいですね!
以上となります!