LoginSignup
3
0

More than 1 year has passed since last update.

VPCで意図した通信ができないときは VPC Reachability Analyzer で原因をしらべたらいい

Last updated at Posted at 2021-12-10

この記事は YUMEMI Advent Calendar 2021 10 日目の記事です。

AWSには仮想ネットワーク(VPC)があり、EC2インスタンスやAurora Database、Elasticacheなどのサーバ間通信はVPCを経由します。EC2と Aurora Databaseといったサーバの間で通信が可能なのは、同じVPC内ならセキュリティグループ、ルートテーブル、ネットワークACLを「適切」に設定しなければなりません。構成する要素が増えると、VPCピアリンクやトランジットゲートウェイ、Direct Connectが加わり設定箇所が増えていきます。

サーバの間で通信が行えない場合はパケットの気持ちになって各種設定を見直すのですが、設定の誤りに気づくまでに時間がかかることがあります。設定の誤りを調べるに VPC Reachability Analyzer を利用します。

VPC Reachability Analyzer (リーチャビリティアナライザー)

AWSコンソールの VPCに「NETWORK ANALYSIS」-> 「Reachability Analyzer」があります。
AWSコンソールのメニュー.png

Reachability Analyzer で分析

通信の両端を指定して、通信経路を分析します。

通信の両端.png

調べられる 装置は EC2インスタンス以外にこれらを指定できます。
終端.png

結果

分析が終わり、送信元から送信先に到達できない場合には、到達できない理由が分かります。
result.png

登場する機器だけを使った構成図は下の通りです。
構成図.png

送信元は左側のEC2(i-0dd14c652d4c386eb)、送信先は右側のEC2(i-07bc69bf22c105df7)の8082番ポートで、VPCピアリンク(pcx-0b2490dc7e6ded573)を介して接続しています。

分析結果の Explanations には下のメッセージがあります。

パケットの送信先アドレスが 10.1.0.0/23 に一致しないため、ルートテーブル rtb-093d0a20dca9e0f6d の 10.1.0.0/23 から vpcPeeringConnectionId へのルートはパケットを転送できません。rtb-093d0a20dca9e0f6d を参照してください。

このメッセージから、左側のルートテーブル rtb-093d0a20dca9e0f6d に誤りがありました。 ピアリンクに設定されたCIDRは 10.1.0.0/16 と 10.2.0.0/16 でした。左側のルートテーブルでは送信先が10.1.0.0/23 、ターゲット pcx-0b2490dc7e6ded573 になっていました。

ルートテーブルの正しい設定は送信先が 10.1.0.0/16 でした。

設定の誤りに気づけない時は時間をかけても気づけないので、ツールでサクッとわかるのは楽です。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0