■ はじめに
https://dk521123.hatenablog.com/entry/2022/03/28/162514
https://dk521123.hatenablog.com/entry/2021/08/30/104237
のように、AWS環境下で、ConnectionTimeout Error などが起こった際に 通信の到達・未到達(未到達でもどこで繋がらないのか)を分析してくれる AWSツールをしたので、メモ。
目次
【1】VPC Reachability Analyzer(リーチャビリティ アナライザー) 【2】使用上の注意 1)無料じゃない 2)EC2に関するアクセス確認ではRunningである必要がある 【3】AWSマネージメントコンソール上から実行 【4】AWS CLIから実行 Step 1: Create a path Step 2: Analyze the path Step 3: Get the results of the path analysis
【1】VPC Reachability Analyzer(リーチャビリティ アナライザー)
* AWS の ネットワーク診断ツール
動画
https://www.youtube.com/watch?v=Ks59Fff-q3g
【2】使用上の注意
1)無料じゃない
* 少額ではあるが、お金がかかる。
https://aws.amazon.com/jp/vpc/pricing/
より抜粋 ~~~~~~~~~~~~ Reachability Analyzer – 料金の例 2 つのインスタンス間の接続性を 10 回解析したとします。 分析ごとに料金が発生し、 処理する分析あたりの料金は 0.10 USD です。 接続 10 件 x 接続あたり 0.10 USD = 1 USD。 つまり、合計で 1 USD をお支払いいただきます。 ~~~~~~~~~~~~
2)EC2に関するアクセス確認ではRunningである必要がある
* 論理的にチェックしている訳ではなく、物理的にチェックしているっぽい
【3】AWSマネージメントコンソール上から実行
https://aws.amazon.com/jp/premiumsupport/knowledge-center/vpc-connectivity-reachability-analyzer/
[1] AWS マネージメントコンソール上から [VPC]-[Reachability Analyzer]-[Create and analyze path] を選択 [2] パス設定で、「Create and analyze path]ボタン押下 * Source type:送信元タイプを選択 => 例えば、 「Instances(EC2インスタンス)」を選択 => 「Source: <対象EC2 instance ID>」を選択 * Destination type:送信先タイプを選択(e.g. 「Internet Gateways」) => 例えば、 「VPC Endpoints」を選択 => 「Destination: <対象VPC Endpoints>」を選択 * Protocol:プロトコルを選択(e.g. 「TCP」「UDP」「SSH」) => 例えば、 「TCP」を選択
実演動画
* 以下の動画で実演している。 => 短い動画なので、さっくり見れる
https://youtu.be/bTCIrGM5aqY?t=6
【4】AWS CLIから実行
* 以下の公式ドキュメントに詳しく載っている => ひょっとしたら、GUIより使いやすいかも、、、
https://aws.amazon.com/jp/premiumsupport/knowledge-center/vpc-connectivity-reachability-analyzer/
https://docs.aws.amazon.com/ja_jp/vpc/latest/reachability/getting-started-cli.html
Step 1: Create a path
# --sourceと--destinationで通信元・先を指定する aws ec2 create-network-insights-path \ --source igw-0797cccdc9d73b0e5 \ --destination i-0495d385ad28331c7 \ --destination-port 22 \ --protocol TCP
出力例
{ "NetworkInsightsPaths": { "NetworkInsightsPathId": "nip-0b26f224f1d131fa8", ・・・略・・・
Step 2: Analyze the path
# nip-0b26f224f1d131fa8 は、Step1の出力結果 aws ec2 start-network-insights-analysis \ --network-insights-path-id nip-0b26f224f1d131fa8
出力例
{ "NetworkInsightsAnalysis": { "NetworkInsightsAnalysisId": "nia-02207aa13eb480c7a", ・・・略・・・
Step 3: Get the results of the path analysis
# nia-02207aa13eb480c7a は、Step2の出力結果 aws ec2 describe-network-insights-analyses \ --network-insights-analysis-ids nia-02207aa13eb480c7a
出力例:Not reachable
{ "NetworkInsightsAnalyses": [ { "NetworkInsightsAnalysisId": "nia-02207aa13eb480c7a", ・・・略・・・ "Status": "succeeded", <= 注意:「Status : succeeded」で到達じゃない "NetworkPathFound": false, <= ★「NetworkPathFound: false」=「到達していない」 ・・・略・・・
出力例:Reachable
{ "NetworkInsightsAnalyses": [ { "NetworkInsightsAnalysisId": "nia-076744f74a04c3c7f", ・・・略・・・ "Status": "succeeded", "NetworkPathFound": true,<= ★「NetworkPathFound: true」=「到達した」 ・・・略・・・
参考文献
https://www.sunnycloud.jp/column/20201216-01/
https://dev.classmethod.jp/articles/breaking-vpc-reachability-analyzer/
https://dev.classmethod.jp/articles/vpc-reachability-analyzer-reachable-from-a-source-resource/
公式ドキュメント
https://aws.amazon.com/jp/blogs/news/new-vpc-insights-analyzes-reachability-and-visibility-in-vpcs/
関連記事
Amazon VPC ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2019/12/08/105415
Amazon VPC ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2021/01/24/000000
Amazon VPC ~ 基本編 / セキュリティグループ ~
https://dk521123.hatenablog.com/entry/2022/04/01/000000
Amazon VPC ~ 基本編 / VPCエンドポイント ~
https://dk521123.hatenablog.com/entry/2022/03/20/000000
AWS Glue Job で DB timeout が発生する
https://dk521123.hatenablog.com/entry/2021/08/30/104237
AWS Glue Job で ConnectionTimeoutError が発生する
https://dk521123.hatenablog.com/entry/2022/03/28/162514
AWS認定 ~ アソシエイト/ソリューションアーキテクト ~
https://dk521123.hatenablog.com/entry/2022/03/01/000000