0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS Site-to-Site VPNでBGPを使うメリット:障害時の自動ルート削除の仕組みを理解する

0
Posted at

概要

AWS Site-to-Site VPNでBGPを使用すると、対向ルーターのダウンやBGPセッション切断時に、VPCルートテーブルから該当ルートが自動削除されます。この動的ルート制御の仕組みとメリットを、BGP初心者向けに解説します。

目次

  1. はじめに
  2. AWS Site-to-Site VPNとは
  3. Site-to-Site VPNの2つのルーティング方式
  4. BGPとは何か
  5. BGPを使ったSite-to-Site VPNの動作
  6. 障害時の自動ルート削除の仕組み
  7. 実践的なユースケースとメリット
  8. 設定のポイントと確認方法
  9. 料金について
  10. 終わりに

はじめに

クラウドとオンプレミスをシームレスに接続する必要性が高まる中、多くの企業がAWSとの安全な通信手段を模索しています。AWS Site-to-Site VPNは、インターネット経由で暗号化されたVPN接続を提供し、オンプレミスネットワークとAWS VPCを接続する実用的なソリューションです。

本記事では、Site-to-Site VPNでBGP(Border Gateway Protocol)を使用した動的ルーティングに焦点を当て、特に障害時の自動ルート削除という重要な機能について詳しく解説します。この記事は、AWSの基本知識を持ち、ネットワークの冗長性や可用性向上に関心のある方を対象としています。


AWS Site-to-Site VPNとは

基本概念

AWS Site-to-Site VPNは、オンプレミスのネットワークとAmazon VPCの間に、インターネットを経由した暗号化されたIPsecトンネルを確立するマネージドサービスです。このサービスにより、オンプレミスのデータセンターやオフィスからAWSリソースへ安全にアクセスできます。

主要コンポーネント

Site-to-Site VPNは以下の3つの主要コンポーネントで構成されます:

コンポーネント 説明
Virtual Private Gateway(VGW) AWS側のVPNエンドポイント。VPCにアタッチして使用します
Customer Gateway(CGW) オンプレミス側のVPNデバイス(物理または仮想ルーター)
VPN接続 VGWとCGWの間を結ぶIPsecトンネル(通常2本の冗長トンネル)

image.png

使用場面

Site-to-Site VPNは以下のようなシーンで活用されます:

  • ハイブリッドクラウド環境の構築(オンプレミスとクラウドの統合)
  • 災害対策やバックアップ環境としてのAWS活用
  • オンプレミスからAWSリソースへの安全なアクセス
  • 複数拠点とAWSの接続

Site-to-Site VPNの2つのルーティング方式

AWS Site-to-Site VPNでは、ルーティング情報の管理方法として「Static VPN(静的ルーティング)」と「Dynamic VPN(動的ルーティング/BGP)」の2つの方式を選択できます。

Static VPNとDynamic VPN(BGP)の違い

項目 Static VPN Dynamic VPN(BGP)
設定方法 AWS管理コンソールで手動でルートを登録 BGPプロトコルで自動的にルート交換
柔軟性 ルート変更時に手動更新が必要 ルート変更が自動的に反映される
障害時の挙動 ルートが自動削除されない(手動削除が必要) BGPセッション切断時に自動的にルート削除
適用シーン シンプルな構成、BGP非対応機器 冗長化構成、複雑なネットワーク
フェイルオーバー デバイス依存(DPDなどに依存) BGPの堅牢な死活監視機能を活用

なぜBGPが推奨されるのか

AWSの公式ドキュメント ( https://docs.aws.amazon.com/vpn/latest/s2svpn/vpn-static-dynamic.html ) では、『BGPプロトコルは、最初のトンネルがダウンした場合に2番目のVPNトンネルへのフェイルオーバーを支援する堅牢な死活検出チェックを提供する』と説明されています。

BGPを使用する主なメリット:

  • 自動フェイルオーバー:障害発生時にルートが自動的に削除・更新される
  • 運用負荷の軽減:ルート変更を手動で管理する必要がない
  • ネットワークの可視性向上:BGPセッションの状態でトンネルの健全性を把握できる
  • 複雑な構成への対応:複数拠点接続やマルチパス構成を柔軟に管理できる

BGPとは何か

BGPの基本的な役割

BGP(Border Gateway Protocol)は、インターネット上で広く使用されている経路制御プロトコルです。異なるネットワーク(自律システム:AS)間で経路情報を交換し、最適な通信経路を決定する役割を担っています。

日常的なアナロジーで理解する

BGPの役割を郵便配達に例えると分かりやすいでしょう。郵便局(ルーター)は、他の郵便局と定期的に配達ルート情報を交換します。ある道路(トンネル)が通行止め(障害)になった場合、その情報が即座に他の郵便局に伝わり、別のルートで配達が継続されます。BGPも同様に、ネットワークの状態変化を検知し、他のルーターと情報を共有することで、常に有効な経路を維持します。

AWS Site-to-Site VPNにおけるBGPの位置づけ

Site-to-Site VPNでBGPを使用する場合、オンプレミス側のCustomer GatewayとAWS側のVirtual Private Gateway間でBGPセッションを確立します。両者は定期的にキープアライブメッセージを交換し、互いの生存状態を監視しながら、経路情報(プレフィクス)をアドバタイズします。


BGPを使ったSite-to-Site VPNの動作

BGPセッションの確立プロセス

BGPセッションは以下のステートマシンに従って確立されます:

  1. Idle状態:BGP設定後の初期状態。TCP接続開始のトリガーを待つ
  2. Connect状態:TCPの3ウェイハンドシェイクを試行
  3. OpenSent状態:BGP OPENメッセージを送信し、相手からの応答を待つ
  4. OpenConfirm状態:相手からOPENメッセージを受信し、KEEPALIVEメッセージを交換
  5. Established状態:BGPセッションが確立され、経路情報の交換が可能

経路情報の交換と学習の流れ

BGPセッションが確立されると、以下の流れで経路情報が交換されます:

  1. アドバタイズ(広告):各側が持つネットワークプレフィクス(例:10.0.0.0/16)をBGP UPDATEメッセージで相手に通知
  2. 学習:受信したプレフィクスをBGPルーティングテーブルに格納
  3. ベストパス選択:複数の経路がある場合、BGPの属性(AS_PATH、LOCAL_PREF等)に基づき最適経路を選択
  4. キープアライブ:デフォルトで30秒間隔のKEEPALIVEメッセージでセッションを維持(VPN接続の場合)

VPCルートテーブルへの反映メカニズム

BGPで学習した経路は、以下のメカニズムでVPCルートテーブルに反映されます:

  1. Customer Gatewayがオンプレミスのネットワークプレフィクス(例:172.16.0.0/16)をBGPでアドバタイズ
  2. Virtual Private GatewayがこのプレフィクスをBGPルーティングテーブルに学習
  3. VPCルートテーブルで「ルート伝播(Route Propagation)」を有効化している場合、学習したプレフィクスが自動的にルートテーブルに追加される
  4. VPC内のリソースは、追加されたルートを使用してオンプレミスネットワークと通信可能になる

image.png


障害時の自動ルート削除の仕組み

BGPを使用したSite-to-Site VPNの最大のメリットの一つが、障害発生時の自動ルート削除機能です。この仕組みを理解することで、ネットワークの可用性設計に役立てることができます。

対向ルーターダウン時の動作

オンプレミス側のCustomer Gatewayルーターが物理的に停止した場合、以下の流れでルートが削除されます:

  1. 障害発生:Customer Gatewayルーターの電源断やハードウェア障害により停止
  2. キープアライブ失敗:AWS側のVirtual Private GatewayがBGPキープアライブメッセージの応答を受信できなくなる
  3. ホールドタイマー満了:デフォルト30秒のホールドタイマーが満了(VPN接続の場合)
  4. BGPセッション切断:BGPセッションが切断され、Idle状態に遷移
  5. ルート削除:BGPで学習していたプレフィクスがVPCルートテーブルから自動的に削除される

BGPセッション切断時の動作

ルーター自体は稼働していても、BGPセッションだけが切断されるケースもあります:

主な原因

  • ネットワーク輻輳によるパケットロス
  • BGP設定ミス(ASN不一致、認証エラー等)
  • CPU負荷上昇によるBGPプロセスの遅延

この場合も、キープアライブの失敗からホールドタイマー満了までの流れは同じで、最終的にルートが削除されます。

ルートテーブルからのプレフィクス削除プロセス

VPCルートテーブルからのルート削除は以下のプロセスで実行されます:

  1. BGPセッションが切断されると、Virtual Private Gatewayは該当セッションで学習していた全てのプレフィクスを無効化
  2. ルート伝播が有効なVPCルートテーブルから、これらのプレフィクスが自動的に削除される
  3. 削除されたプレフィクス宛のトラフィックは、ルートテーブル内の他のルート(デフォルトルート等)に従って転送される

タイムラインでの具体的な挙動

典型的な障害シナリオのタイムラインを示します:

時刻 イベント 説明
T+0秒 障害発生 Customer Gatewayがダウン
T+0秒〜T+30秒 キープアライブ失敗 AWS側がKEEPALIVEの応答を受信できない
T+30秒 ホールドタイマー満了 BGPホールドタイマー(デフォルト30秒)が満了
T+30秒 BGPセッション切断 セッションが切断され、BGP NOTIFICATIONメッセージが送信される
T+30秒〜T+35秒 ルート削除 VPCルートテーブルから学習済みプレフィクスが削除
T+35秒以降 トラフィック転送停止 該当プレフィクス宛のトラフィックは別ルートまたはドロップ

image.png

注意点

  • ホールドタイマーの値はデフォルト30秒ですが、カスタマイズ可能です(最小3秒まで短縮可能)
  • タイマー値を過度に短くすると、一時的なネットワーク遅延でもセッションが切断される可能性があります
  • オンプレミス側のルーターベンダーに推奨されるタイマー値を確認することを推奨します

実践的なユースケースとメリット

冗長化構成でのフェイルオーバー

BGPの自動ルート削除機能は、冗長化構成で真価を発揮します。

典型的な冗長構成

  • 2つのCustomer Gatewayルーターを用意(プライマリとセカンダリ)
  • 各ルーターから1つずつVPN接続を確立(合計2つのVPN接続)
  • BGPでプライマリ経路を優先するようにローカルプリファレンスやMEDを設定

フェイルオーバーシナリオ
プライマリルーターがダウンすると、30秒程度でBGPセッションが切断され、プライマリ経由のルートがVPCルートテーブルから削除されます。この時点でセカンダリ経由のルートのみが残り、トラフィックは自動的にセカンダリ経路に切り替わります。

マルチサイト接続での経路制御

複数のオンプレミス拠点(東京、大阪、福岡など)とAWSを接続する場合、BGPを使用することで各拠点の経路情報を動的に管理できます。

メリット

  • 各拠点が異なるネットワークプレフィクスをアドバタイズ
  • AWS側で全ての拠点への経路を自動学習
  • 拠点追加時もBGP設定だけで経路が自動反映(静的ルートの手動追加不要)

自動フェイルオーバーによる運用負荷軽減

Static VPNでは、障害発生時に以下の手動作業が必要です:

  • 障害検知
  • AWS管理コンソールでのルート削除
  • セカンダリ経路への切り替え確認

BGPを使用すれば、これら全てが自動化されます。運用チームは障害対応ではなく、根本原因の調査と恒久対策に集中できます。

注意点とベストプラクティス

注意点

  • BGPセッションとIPsecトンネルは異なる概念です。IPsecトンネルが確立していてもBGPセッションが切断されていれば、ルートは削除されます
  • ルート伝播を無効化している場合、BGPで学習した経路は自動反映されません
  • 同一プレフィクスを複数の経路でアドバタイズする場合、BGP属性により優先経路が決定されます

ベストプラクティス

  • 本番環境では必ず冗長化構成を採用する
  • BGPタイマーは慎重に調整する(デフォルトから大幅に変更しない)
  • CloudWatch Logsを有効化し、BGPセッションの状態変化を監視する
  • 定期的にフェイルオーバーテストを実施し、切り替え時間を測定する

設定のポイントと確認方法

AWS側の設定要点

Site-to-Site VPN接続を作成する際、以下の設定が必要です:

1. Customer Gateway作成時の設定

  • BGP ASN(自律システム番号):オンプレミス側のBGP ASNを指定(例:65000)
  • IPアドレス:オンプレミスルーターの公開IPアドレス

2. Virtual Private Gateway作成時の設定

  • AWS側のBGP ASN:デフォルトは64512、カスタマイズ可能

3. VPN接続作成時の設定

  • ルーティングオプション:「Dynamic(requires BGP)」を選択
  • Virtual Private GatewayとCustomer Gatewayを関連付け

4. VPCルートテーブルの設定

  • 対象サブネットのルートテーブルで「ルート伝播」を有効化
  • これによりBGPで学習した経路が自動的にルートテーブルに追加されます

オンプレミス側で必要な設定項目の概要

オンプレミス側の設定は使用するルーター機器に依存しますが、一般的に以下の項目が必要です:

BGP基本設定

  • ローカルBGP ASN(Customer Gateway作成時に指定したASN)
  • BGPネイバー設定(AWS側のトンネル内部IPアドレスを指定)
  • リモートBGP ASN(Virtual Private Gatewayで設定したASN)

タイマー設定(オプション):

  • キープアライブタイマー(デフォルト10秒)
  • ホールドタイマー(デフォルト30秒)

経路アドバタイズ設定

  • オンプレミスネットワークのプレフィクスをBGPでアドバタイズ
  • 必要に応じてルートフィルタリングやBGP属性の設定

AWS管理コンソールからVPN接続の設定ファイルをダウンロードすると、機器固有の設定例が含まれています。この設定ファイルを参考にすることを強く推奨します。

動作確認の方法

1. VPCルートテーブルの確認

  • VPC管理コンソールで対象ルートテーブルを開く
  • 「ルート」タブでBGPで学習したプレフィクスが表示されることを確認
  • ターゲットがVirtual Private Gatewayになっていることを確認

2. VPN接続のモニタリング

  • VPC管理コンソールの「Site-to-Site VPN接続」で対象接続を選択
  • 「トンネルの詳細」タブでトンネルステータスが「UP」であることを確認
  • 「BGPルート」タブで学習済みルートを確認(2024年11月以降、BGPログ機能が利用可能)

3. BGPセッション状態の確認

  • オンプレミス側ルーターでBGPネイバーの状態を確認
  • セッション状態が「Established」であることを確認
  • 学習済みプレフィクス数を確認

4. CloudWatch Logsでの監視
2025年11月以降、BGPログをCloudWatch Logsに出力できるようになりました。これにより、BGPセッションの状態遷移、ルートアップデート、エラー状態などを詳細に監視できます。


料金について

ap-northeast-1(東京リージョン)の料金

AWS Site-to-Site VPNの料金は主に以下の2つの要素で構成されます(2025年12月時点):

1. VPN接続時間料金

  • 標準VPN接続(1.25Gbps):$0.05/時間
  • 5Gbps VPN接続:$0.60/時間
  • 1ヶ月(730時間)稼働の場合:標準VPNで約$36.50/月

2. データ転送料金

  • データ転送IN(AWSへの転送):無料
  • データ転送OUT(AWSからの転送):最初の100GBは無料、以降$0.09/GB(〜10TB)

3. パブリックIPv4アドレス料金

  • 各VPN接続は2つのトンネルで固有のパブリックIPv4アドレスを使用
  • 標準的なパブリックIPv4アドレス料金が適用されます

料金計算例

シナリオ:東京リージョンで標準VPN接続を1つ作成し、30日間(720時間)稼働。月間10TBのデータをAWSに転送し、5TBをAWSから転送。

項目 計算 料金
VPN接続時間 720時間 × $0.05 $36.00
データ転送IN 10TB(無料) $0.00
データ転送OUT (5,120GB - 100GB) × $0.09 $451.80
合計 - $487.80/月

料金の注意点

  • 料金は変動する可能性があります。最新情報は必ず公式料金ページ ( https://aws.amazon.com/vpn/pricing/ ) で確認してください
  • Transit Gatewayを使用する場合、別途Transit Gatewayのアタッチメント料金($0.05/時間)とデータ処理料金($0.02/GB)が発生します
  • Accelerated VPNを使用する場合、AWS Global Acceleratorの料金とデータ転送プレミアム料金が追加されます
  • BGPを使用するかStatic VPNを使用するかで料金は変わりません(どちらも同じVPN接続料金)

終わりに

本記事では、AWS Site-to-Site VPNでBGPを使用することの利点、特に障害時の自動ルート削除の仕組みについて解説しました。

BGPを使うことで得られる主なメリット

  • 自動フェイルオーバー:障害発生時に約30秒でルートが自動削除され、セカンダリ経路へ切り替わる
  • 運用負荷の軽減:手動でのルート管理が不要になり、運用チームは本質的な業務に集中できる
  • ネットワークの可視性:BGPセッションの状態でトンネルの健全性を継続的に監視できる
  • スケーラビリティ:複数拠点接続やマルチパス構成を柔軟に管理可能

Static VPNとの使い分け指針

BGPを推奨するケース

  • 本番環境での冗長化構成
  • 複数拠点とAWSの接続
  • 自動フェイルオーバーが必要な環境
  • ネットワーク構成が頻繁に変更される環境

Static VPNを選択するケース

  • オンプレミスルーターがBGPに対応していない
  • 非常にシンプルな構成(単一拠点、冗長化不要)
  • 検証・開発環境での一時的な接続

次のステップ

BGPを使ったSite-to-Site VPNの基本を理解したら、以下のステップに進むことを推奨します:

  1. 冗長化構成の設計:2つのCustomer Gatewayと2つのVPN接続を使った完全冗長構成を検討
  2. 監視の設定:CloudWatch LogsでBGPログを有効化し、アラームを設定
  3. フェイルオーバーテスト:本番投入前に計画的なフェイルオーバーテストを実施
  4. Direct Connectの検討:より高い帯域幅や低レイテンシが必要な場合、Direct Connectへの移行を検討

AWSとオンプレミスのハイブリッド環境を構築する際、BGPを活用した動的ルーティングは、ネットワークの可用性と運用効率を大幅に向上させる強力なツールです。ぜひ本記事の内容を参考に、堅牢なネットワークインフラを構築してください。


参考文献・参考サイト

AWS公式ドキュメント

参考記事

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?