Site-to-Site VPN のトラフィックが非対称になり戻りの通信がドロップする原因と対処法を教えてください
困っていること
オンプレミス環境と AWS を Site-to-Site VPN(アクティブ-アクティブ構成, BGP利用) で接続しています。
また、Equal-cost multi-path (ECMP) ルーティングを利用するため、2 本の VPN トンネルを並行して使用できるようにしています。
しかし、オンプレミスから EC2 へのトラフィック送信はできるものの、折り返しの戻りトラフィックが別のトンネルを経由するため、一部パケットがドロップされてしまいます。
原因と対処法を教えてください。
どう対応すればいいの?
原因
非対称ルーティングが原因です。
通常、VPN トンネルは行きと帰りが同じトンネルを通ることを前提としています。しかし ECMP を利用した場合、戻り通信が別トンネルを通ることで、ステートフルなファイアウォールでセッション不一致が発生しパケットがドロップされます
対処法
カスタマーゲートウェイ機器にて “非対称ルーティングを許可” する設定を行うことで事象が解消できます。
これにより、トラフィックがトンネル A で送信され、トンネル B で戻ってきてもドロップされずに通信可能です。
VPN トンネルは通常、「ステートフル」ファイアウォールでホストされます。ファイアウォールデバイスは、パケットが同じトンネルインターフェイスを使用してトラフィックを送受信することを想定しています。非対称ルーティングは、パケットが一方のトンネルを通って Amazon Virtual Private Cloud (Amazon VPC) に入り、同じサイト間 VPN の他のトンネルを通って出るときに発生します。パケットが別のトンネルインターフェイスを経由して戻ると、そのパケットは「ステートフル」セッションと一致しないため、ドロップされます。
注意:カスタマーゲートウェイが ECMP を実行するように構成されておらず、非対称ルーティングがオンになっていない場合、パケット損失が発生する可能性があります。
その他 考慮事項
カスタマーゲートウェイ側機器が非対称ルーティング非対応であれば、Active/Passive 構成(片方のトンネルのみ優先利用)をご検討ください。
また、静的ルーティングの場合は、プレフィックス調整(最長一致ルートを活用しプライマリを優先化) で非対称性を回避できます。