複数のスポークVPCからのトラフィックを、TGWを介して中央の「インスペクションVPC」に集約し、サードパーティのステートフル・ファイアウォールアプライアンス(Gateway Load Balancer経由・各AZに1台ずつ配置)を通過させてからインターネットへ抜けるアーキテクチャを構築した。稼働後、まれに同一のTCPフローの往路と復路が異なるAZのファイアウォールインスタンスを経由してしまい、ステートフルインスペクションがセッション不整合でパケットをドロップする問題が発生している。この問題を解消する設計変更として最も適切なものを選べ。(単一選択)
- AインスペクションVPCのTGWアタッチメントで「アプライアンスモード」を有効化し、フローの往路・復路が常に同一AZの同一アプライアンスインスタンスを通過するようにする
- B各スポークVPCのTGWアタッチメントで「アプライアンスモード」を有効化する
- C各AZのファイアウォールアプライアンスを1台に統合し、単一AZ構成にする
- Dファイアウォールアプライアンスをステートレスな構成に作り替え、セッション追跡を行わないようにする
正解・解説・誤答理由・ひっかけを見る▼ open
解説
アプライアンスモードを有効にしていないTGWは、トラフィックを発信元のAZに留めようとする(AZアフィニティ)。 AZを跨ぐのはAZ障害時か、そのAZにVPCアタッチメントのサブネットが無い場合だけである (VPCアタッチメント同士でECMPは行われない=CIDRが重複しないためTGWのVPCアタッチメントはECMP非対応)。 問題は、この「発信元AZに留める」挙動が復路にも同じように働くことである。復路は宛先側VPCのAZで発生するため、 TGWはそれをそのAZのインスペクションVPCへ送る=往路とは別のAZのアプライアンスへ着弾しうる。 そのアプライアンスは往路のセッションを知らないため、フローの非対称性(asymmetric routing)としてパケットがドロップされる。
- この問題への解決策がTGWの「アプライアンスモード(Appliance Mode)」である。インスペクションVPCのアタッチメントでアプライアンスモードを有効にすると、 TGWは特定のフロー(5タプル)を宛先AZに関わらず単一のAZに固定してルーティングするようになり、往路・復路が常に同じAZの同じアプライアンスインスタンスを通過する(フロー対称性の担保)。
- アプライアンスモードはアプライアンス(インスペクション)側のVPCアタッチメントに対して設定するものであり、スポークVPC側のアタッチメントに設定するものではない。
これにより、追加のロードバランサー変更や各AZ専用のルートテーブル分割といった複雑な構成を組まずに、TGWレベルの設定変更だけでステートフルインスペクションの整合性を確保できる。
- Bアプライアンスモードはトラフィックを検査する側(インスペクションVPC)のアタッチメントに設定する機能であり、スポーク側に設定してもフロー対称性の問題は解消されない。
- C単一AZ化は非対称性を回避できても、そのAZ障害時に全トラフィックが停止する単一障害点を生み、可用性要件を犠牲にする。マルチAZを維持したままの解決が望ましい。
- Dステートフルインスペクション(不正な接続状態の検知等)というアプライアンス導入の目的自体を失うことになり、セキュリティ要件を満たさなくなる。