【初心者向け】「VPC Reachability Analyzer」でネットワーク通信の障害を分析する基本手順:AWSチートシート
AWS活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回はVPC内の通信をテストして「どのフローに問題があるか」を視覚化する機能「VPC Reachability Analyzer」を紹介し、使い方を説明します。
皆さんは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.
関連記事
パケットフィルタリングによるネットワークセキュリティ――AWS「ネットワークACL」「セキュリティグループ」設定の基本
これまであまり物理的なネットワークに触れてこなかったエンジニアを対象に、AWSを用いてネットワークの基礎知識を解説する連載。今回は、パケットフィルタリングによるネットワークセキュリティについて解説し、「ネットワークACL」と「セキュリティグループ」の設定を通して、AWSでパケットフィルタリングを行う方法を示す。AWSが“複数VPCをまたぐ“サービスメッシュ”、「Amazon VPC Lattice」を発表、どういうものなのか
AWSが、複数のVPC/アカウントにまたがってサービス間の通信を制御・モニタリングできる「Amazon VPC Lattice」を発表した。“複数VPCをまたぐサービスメッシュ”といえる。AWS、クラウド上に企業のWANを構築できる「AWS Cloud WAN」の一般提供を開始
AWSが、クラウド上に企業のWANバックボーンを構築できる「AWS Cloud WAN」の一般提供を開始した。クラウド管理コンソールで設定でき、セグメンテーションも可能。