こんにちは、Daniel (@daniel__blog) です。
AWSとオンプレ間との接続を、Direct ConnectとSite-to-Site VPNの2つを使って冗長化させたい。Direct Connectでの接続を優先させたいけど、デフォルトではどちらの経路が優先されるの?優先順位の設定は必要?他に注意するポイントがあったら、それもを教えてください!
今回は、こんなお悩みにお答えしていきます。
- Direct Connectが優先されます
- Direct Connectへの切り替えに、特に対応は必要ないです
- Direct Connectへの切り替えで、瞬断は生じるかも
この記事を書いている僕は、現在インフラエンジニア歴4年。AWS経験は2年ほどあり、実際にこれまで複数のプロジェクトで、AWSでのシステム設計・構築をしてきました。
オンプレ間との接続に便利なAWS Direct Connectですが、検証を行うのは難しいですよね、、、
以前、この内容の構築を行ったので、参考にしていただければ幸いです。
Contents
Direct Connectが優先されます
結論は、Direct Connectが優先されます。
根拠は以下のとおりです。
前提は、最長プレフィックス一致
まず、前提ルールとして、AWSのルートテーブルでは「最長プレフィックス一致」に基づいてトラフィックのルーティング先を決定します。
下記のとおりですが、簡単に言えば「最も具体的なルート」へ送信するということですね。
AWS では、トラフィックと一致する最も具体的なルートをルートテーブルで使用して、トラフィックをルーティングする方法を決定します (最長プレフィックス一致)。ルートテーブルに重複または一致するルートがある場合は、次のルールが適用されます。
AWSドキュメント『ルートテーブルと VPN ルーティングの優先度』
最長プレフィックス一致を前提に、VGW側では下記の優先度が決められています。
Direct Connect接続からのBGPルートを優先
仮想プライベートゲートウェイはルーティング情報を受け取ると、パスを選択してトラフィックをルーティングする方法を指定します。最長のプレフィックス一致が適用されます。プレフィックスが同じである場合、仮想プライベートゲートウェイは、次のようにルートに優先順位を付けます (優先度の高い順)。
・AWS ダイレクトコネクト接続から BGP で伝播されたルート
・Site-to-Site VPN 接続用に手動で追加された静的ルート
・Site-to-Site VPN 接続から BGP で伝播されたルート
・各 Site-to-Site VPN 接続が BGP を使用しているプレフィックスのマッチングでは、AS PATH が比較され、最短の AS PATH を持っているプレフィックスが優先されます。
AWSドキュメント『ルートテーブルと VPN ルーティングの優先度』
上記のとおりです。
Direct Connect と Site-to-Site VPN を併用している環境で、どちらのプレフィックスも同じ場合は、Direct Connectへのルートが優先されるとのことでした。
Direct Connectを優先するための設定は、特に不要です
ユーザー側で、優先させるための明示的な設定などは不要です。
前述の優先度の設定は、対象ルートがAWS側で自動的に判断されて選択されるからです。
Site-to-Site VPN接続がすでにある場合
Site-to-Site VPN接続のある環境に、後からDirect Connect接続を追加する場合はどうなるのか。
この場合も、Direct Connectの接続が追加されると同時に、自動的にDirect Connectのルートに切り替わります。
Direct Connectへの切り替えで、瞬断は生じるかも
前述の通り優先度の設定は特に不要ですが、注意点があります。
切り替え時に瞬断が起こる可能性アリ
VPN接続の通信に、一時的な通信断が発生する可能性はあります。
オンプレとAWS間で作業を行っているときなどは、念のため注意が必要です。
ということで、今回は以上です。
最後までお読み頂き、ありがとうございました。