AWSとオンプレを繋ぐ生命線:Site-to-Site VPNの「二重化」と「BGPの賢いルート選択」をマスターしよう!
みなさん、こんにちは!SREの現場を駆け回っていると、「AWSと社内ネットワークを繋ぐVPNが切れたら、会社が止まってしまう…」という冷や汗ものの現実に直面することがあります。
クラウドのインフラ構築を始めたばかりの皆さんにとって、「AWS Site-to-Site VPN」はまさに魔法のような仕組みに見えるかもしれません。しかし、ただ繋ぐだけでは「一本の細い橋」を渡っているようなもの。もしその橋が壊れたら?…そう、通信は遮断されます。
今回は、この「一本の橋」を「二本の太い幹線道路」に変え、たとえ一方が壊れても自動で切り替わる「冗長化」と「BGP(Border Gateway Protocol)による賢い経路制御」の仕組みを、身近な例えを交えて紐解いていきましょう。一歩ずつ、丁寧に解説しますね!
—
1. なぜ「VPNトンネル」は二本必要なのか?
まず、AWS Site-to-Site VPNを構築すると、AWS側には Virtual Private Gateway (VGW) という「門番」が立ちます。そして、皆さんのオフィスやデータセンターにあるルーターが Customer Gateway (CGW) です。
この門番同士を繋ぐのが「VPNトンネル」ですが、AWSはデフォルトで「2つのトンネル」を用意します。
郵便配達で例えると…
想像してみてください。あなたのオフィスからAWSへ重要な郵便を送るとします。
- トンネル1: メインの配送ルート。
- トンネル2: 予備の配送ルート。
もしトンネルが一本しかなければ、途中で土砂崩れ(機器の故障や回線障害)が起きた瞬間に配達はストップしますよね。二本あれば、片方がダメになっても、もう片方が「こっちの道は混んでるけど、急いで届けるよ!」と自動で切り替わってくれる。これが「冗長化」の基本です。
—
2. BGP:自動的に「生きている道」を探す賢いナビゲーター
VPNのトンネルを二本張っただけでは、実はまだ不十分です。「どっちの道が今使えるのか?」をルーター同士が常に会話していなければなりません。そこで登場するのが「BGP(Border Gateway Protocol)」です。
BGPは、ネットワーク界の「凄腕ナビゲーター」です。彼らは常に「自分の住所(IPアドレス)」と「その住所へ行くための道順」を、対向のルーターと交換し合っています。
- 「こちら側(オフィス)のネットワークは
192.168.1.0/24だよ」 - 「了解!じゃあ、そのネットワーク宛ての荷物は、このトンネルを通せばいいんだね」
このようにBGPを設定しておくと、もしトンネル1がダウンしても、BGPの会話が瞬時に途絶えることで、ルーターは「あ、こっちの道はもう通れないから、トンネル2に荷物を流そう」と自動的に判断(フェイルオーバー)してくれます。
—
3. 実践!BGPマルチパス制御のポイント
実際にAWSでVPNを設定する際、意識すべきは AS番号(Autonomous System Number) と BGP設定 です。AWS側のVGWと、皆さんのルーターで同じ言語(プロトコル)で会話させる必要があります。
以下は、一般的なルーター(Cisco機器などを想定)での設定イメージです。
! BGPの設定例
router bgp 65000 # お使いの拠点のAS番号
neighbor 169.254.x.x remote-as 64512 # AWS側のVGWのAS番号
neighbor 169.254.x.x activate
! 自分のネットワークをAWSに教える
network 192.168.1.0 mask 255.255.255.0
! ルートの重み付けで優先度を変えることも可能
! トンネル1を優先的に使いたい場合、AS-Path Prependなどを利用する
【ワンポイントアドバイス】
AS-Path Prepend という少し専門的な技を使うと、「トンネル1をメインに使うけど、もしもの時はトンネル2を」という「優先順位(アクティブ/スタンバイ)」を付けることができます。すべてを自動に任せるのも良いですが、コストや回線品質に応じて制御するのもSREの腕の見せ所ですよ。
—
4. 最後に:インフラエンジニアの心構え
「二重化」と「BGP」という言葉は難しく聞こえますが、要するに「信頼できる道が複数あって、トラブル時に勝手に道を変えてくれる仕組み」を作ることです。
現場では、「設定は正しいはずなのに通信できない!」といったトラブルもよく起こります。そんな時は、パケットがトンネルの入り口で止まっているのか、BGPの経路情報が正しく交換されているのかを、ping や show ip bgp summary といったコマンドで一つずつ確認していくのが近道です。
恐れず、まずは検証環境で「わざと一本のトンネルを落としてみる」という実験をしてみてください。通信が途切れることなく、もう片方のトンネルで通信が続行される瞬間を見たとき、きっとネットワークの面白さに目覚めるはずです!
これからも、一緒に手を動かしながらインフラの深淵を学んでいきましょう!次回は「Direct ConnectとVPNのハイブリッド構成」について掘り下げていきますね。それでは、また!
コメント