[アップデート] VPC Reachability Analyzer のパス分析時に中間コンポーネントを除外指定できるようになりました
いわさです。
VPC 内のネットワーク到達性を分析する際に、VPC Reachability Analyzer を使うことが出来ます。
VPC Reachability Analyzer は送信元と送信先を指定しその到達性を評価できるのですが、複数の到達パスがある場合デフォルトでは最短パスを特定して表示する仕様となっています。[1]
これまで、特定のパスを絞り込むために分析時のオプションとして中間コンポーネントを含めることが出来ました。
これを使うと、例えばパブリックアクセス可能な EC2 に対して ALB からもアクセスできる場合に、ALB 経由で EC2 まで到達できるかを確認することが出来ました。
中間コンポーネントの除外指定もできるようになった
先日のアップデートで、中間コンポーネントの除外指定ができるようになりました。
例えば、特定の中間コンポーネント(ロードバランサーやファイアウォールなど)を通過させたいワークロードで、それらをバイパスするパスがないかを確認する際などに使うことが出来ます。
この中間コンポーネントの除外指定ですが、従来の中間コンポーネント指定と同じでパスの新規作成時には指定することは出来ません。
なので、パスの新規作成時点では中間コンポーネントを考えずに送信元と送信先だけ指定します。
マネジメントコンソールの場合は作成と同時に初回の分析が実行されるので初回は中間コンポーネントを明示的に指定した分析が出来ません。
※ AWS CLI や AWS SDK 経由の場合はcreate-network-insights-path
の後にstart-network-insights-analysis
を実行するので、その際に指定することが出来ます。[2]
作成したパスを指定し、アクションメニューから「パスの分析」を選択します。
パス分析ダイアログで次のように中間コンポーネントを指定できるのですが、「中間コンポーネントフィルタを除外 - オプション」が今回追加された形です。
ALB + EC2 構成で試してみる
中間コンポーネントを含めるパターン、除外するパターンを試してみます。
中間コンポーネントを含める
先ほど作成したパスは、パブリックアクセス可能な EC2 をターゲットとする ALB なワークロードとなっています。
初回は中間コンポーネントの明示的な指定がされていないので、直接 EC2 への経路が評価されていました。
ここで中間コンポーネントとして ALB を含めるようにしてみましょう。ALB の ARN を指定します。
すると今度は ALB 経由でアクセスできることが確認出来ましたね。
中間コンポーネントを除外する
先ほどは直接 EC2 にアクセスできる経路があったので、中間コンポーネントを指定しなかった場合は最短経路で分析されました。
つまりこの EC2 がパブリックアクセスが出来ない場合はデフォルトで ALB 経由のパスが評価されることになります。
ここで今度は EC2 に直接アクセスができないのかを確認してみましょう。
先ほどと逆で今度は中間コンポーネントの除外対象に ALB を指定します。そうすると、複数パスの中から対象 ALB を含むパスが評価対象から除外されます。
実行した結果、このワークロードで EC2 に直接パブリックアクセスする迂回経路がないことが確認できました。
さいごに
本日は VPC Reachability Analyzer のパス分析時に中間コンポーネントを除外指定できるようになったので試してみました。
これはなかなか良いのではないでしょうか。
今回試したような 1 ~ 2 パターンの経路しかなければそこまで複雑ではないですが、他にもネットワークの中間コンポーネントが増えてくると、鵜飼経路の存在を確認するのが大変になってくるので、役に立ちそうです。