【初心者向け】「VPC Reachability Analyzer」でネットワーク通信の障害を分析する基本手順AWSチートシート

AWS活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回はVPC内の通信をテストして「どのフローに問題があるか」を視覚化する機能「VPC Reachability Analyzer」を紹介し、使い方を説明します。

» 2023年01月12日 05時00分 公開
[沼崎伸洋株式会社システムシェアード]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 皆さんはAmazon Web Services(AWS)のネットワーク通信の設定でこんなことがあったことはないでしょうか?

  • 正しく設定したつもりだけどなぜか思った通りにサーバに接続できない
  • ネットワークを変更したら、急に接続できなくなって解決するまで時間がかかった

 このような場合、「Amazon Virtual Private Cloud」(VPC)やルートテーブル、NACL(Network Access Control List)、セキュリティグループといった設定を確認すると思いますが、構成しているネットワークのリソースがたくさんある場合、1つずつ確認するのはなかなか骨が折れる作業だと思います。勘所などを理解していると解決しやすいですが、ネットワークについてある程度の知識がない場合、どうすればいいのか困ってしまうと思います。

 AWS活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回は、VPC内の通信をテストして「どのフローに問題があるか」を視覚化する機能「VPC Reachability Analyzer」を紹介し、使い方を説明します。

VPC Reachability Analyzerの概要

 VPC Reachability Analyzerの設定と分析の手順は下記の通りです。

  • 【1】パスを作成する
    パスでは下記を設定して、「どこからどこへの通信を試したいか」を決める
    • 名前タグ(オプション):パスに付ける名前
    • 送信元タイプ:通信元(From)
    • 送信先タイプ:通信先(To)
    • 送信ポート:どのポートへの通信か
    • プロトコル:「TCP」または「UDP」
  • 【2】分析の実行、結果の表示(初回はパスの作成後、自動で行われる。手動で何回も実施可)

 上記で、設定と分析を行い、表示された問題箇所を修正する流れです。

 コストについては公式の料金ページ「Reachability Analyzerの料金」によると、次のように算出します。

  • VPC Reachability Analyzer によって処理される分析当たりの料金:0.10ドル

 料金については将来的に変わる可能性があるので、公式サイトをご参照ください。また算出例についても公式ページの例を参照してください。

VPC Reachability Analyzerを試してみよう

 ここからは、サンプルのネットワークにおける問題点を、VPC Reachability Analyzerを利用して修正する様子を紹介します。

 今回は上記のシンプルな構成のネットワークに、下記問題点が起きていると仮定とします。

  • これまではインターネット経由で踏み台サーバにSSHで接続できていたが、誰かが設定を変更してから接続できなくなってしまった
  • 問題が起きる前の修正の記録や証跡が残っていなかった
  • 踏み台でメンテナンス作業があるので、早く問題を解決したい

 このように、早く原因を特定して問題点を解決したい場合、VPC Reachability Analyzerはマッチします。

設定

 まずは、AWSサービスのVPCから「ネットワーク分析」→「Reachability Analyzer」を選択します。

 次に、「パスの作成と分析」を押します。

 続いて、「パス設定」で下記情報を入力して「パスの作成と分析」を押します。

  • 【1】名前タグ:任意(パス名を入力する)
  • 【2】送信元情報として下記を入力する
    • 送信元タイプ:下図の中から選択する(今回は「InternetGateways」)
    • 送信元:送信元タイプで選んだ中で「どのリソースを利用するか」を選択する(今回はIGWなので、調べたいVPCにアタッチされているIGWを利用)
    • 送信元IPアドレス:任意(今回はSSH送信元のIPアドレスを設定)
  • 【3】送信先情報として下記を入力する
    • 送信先タイプ:送信元と同じ選択肢から選ぶ(今回はSSHする「Amazon EC2」が送信先なので「Instances」を選択)
    • 送信先:上記タイプで選んだ中でどのリソースを利用するか選択する(今回はSSH接続先のEC2のインスタンスIDを選択)
    • 送信先IPアドレス:任意。送信先IPアドレスを設定したければ設定(今回は未設定)
    • 送信先ポート:任意。送信先のどのポートへの通信か指定する(今回はSSHなので22番ポートを指定)
    • プロトコル:TCP、UDPのどちらかを選択する(今回はSSHを利用するので、TCP)

分析

 設定が終わると、下記のように初回の分析がスタートします。

 しばらくすると、下記のように分析結果と問題点が一覧されるので、分析結果を基に修正します。

 説明を見ると、今回の問題の原因は下記のように判明します。

  • EC2にアタッチされている「Elastic Network Interface」(ENI)にパブリックIPがないので、IGW経由でアクセスできない
  • NACLのインバウンドルールで指定の通信を許可しない設定になっている
  • EC2にアタッチされているENIのセキュリティグループが指定のインバウンド通信を許可しない設定になっている
  • ルートテーブルでIGW向けのルートが適切に設定されていない

 パスの詳細では、通信の流れを図として見ることができ、「経路のどこに問題があるか」を直観的に理解しやすくなっています。

 「リバースパス」を選択すると、送信先から送信元への通信を視覚的に確認できます。

修正の確認

 上記で明らかになった問題点を解消し、再度分析して確認します。問題がなくなり、下記のように「到達可能」となっていれば問題は解消されているはずです。

 SSHで接続できるか確認します。下記のように接続できていれば問題が解消しています。

まとめ

 このように、VPC Reachability Analyzerは送信元と送信先の想定する通信を設定するだけで、経路を可視化して一覧化できる便利な機能です。

 確認の勘所が分かっていないネットワーク管理の初心者や、修正や構成物が大量にある場合の確認で、大きな力を発揮すると思います。本稿が、皆さんの業務の効率化に少しでも役立てれば幸いです。

筆者紹介

沼崎 伸洋(ぬまざき のぶひろ)

株式会社システムシェアード 開発事業部所属。

ここ数年はAWSを利用したシステムの設計、開発、構築を行っています。

仕事以外では、AWSの資格をあと2つでコンプリートできるので制覇に向けて頑張っています!


Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。