はじめに
オンプレミス環境とOracle Cloud Infrastructure(以下、OCI)をプライベートに接続する代表的な方法のひとつに、Site-to-Site VPN があります。
Site-to-Site VPNは、オンプレミス側のネットワーク機器である CPE(Customer-Premises Equipment) と、OCI側の DRG(Dynamic Routing Gateway) をIPSec VPNで接続する構成です。
OCIのSite-to-Site VPNでは、ルーティング制御方式として主に以下の方式を選択できます。
- Staticルーティング
- BGP動的ルーティング
本記事では、この2つの方式について整理し、特に Staticルーティング利用時に発生し得る非対称ルートの注意点 と、BGP動的ルーティングを推奨したい理由 についてまとめます。
1. OCI Site-to-Site VPNにおけるルーティング制御方式
OCI Site-to-Site VPNでは、オンプレミス環境とOCI上の VCN(Virtual Cloud Network) 間で通信するために、どの宛先ネットワークをどのVPNトンネルに流すかを制御する必要があります。
ルーティング制御方式として、代表的には以下の2つがあります。
| 方式 | 概要 |
|---|---|
| Staticルーティング | オンプレミス側ネットワークへのルートを手動で設定する方式 |
| BGP動的ルーティング | OCI側DRGとオンプレミス側CPE間でBGPセッションを確立し、経路情報を動的に交換する方式 |
2. Staticルーティングとは
Staticルーティング は、OCI側とオンプレミス側で、到達させたいネットワークCIDRを手動で設定する方式です。
たとえば、以下のようなネットワーク構成があるとします。
オンプレミス側ネットワーク:192.168.10.0/24
OCI側VCN:10.0.0.0/16
この場合、OCI側には「192.168.10.0/24 宛の通信はSite-to-Site VPNへ流す」というルートを設定します。
オンプレミス側にも、「10.0.0.0/16 宛の通信はOCI向けVPNトンネルへ流す」というルートを設定します。
Staticルーティングの特徴
| 項目 | 内容 |
|---|---|
| 設定 | 比較的シンプル |
| 経路制御 | 手動設定 |
| 経路変更への追従 | 手動変更が必要 |
| 向いている構成 | 小規模、固定的なネットワーク構成 |
| 注意点 | 冗長構成や経路変更がある場合、設計・運用に注意が必要 |
Staticルーティングは、構成が分かりやすく、最初に理解しやすい方式です。
一方で、経路情報は自動的に学習されません。
そのため、オンプレミス側のネットワークが追加されたり、OCI側のVCN構成が変わったりした場合は、OCI側・オンプレミス側の双方で設定変更が必要になります。
3. BGP動的ルーティングとは
BGP動的ルーティング は、OCI側のDRGとオンプレミス側のCPE間でBGPセッションを確立し、経路情報を動的に交換する方式です。
オンプレミス CPE
⇔ BGP
OCI DRG
BGPを使用すると、オンプレミス側のネットワーク情報をOCI側へ動的に広告したり、OCI側のネットワーク情報をオンプレミス側へ広告したりできます。
BGP動的ルーティングの特徴
| 項目 | 内容 |
|---|---|
| 設定 | Staticより設計項目が多い |
| 経路制御 | BGPにより動的に制御 |
| 経路変更への追従 | 経路広告により柔軟に対応可能 |
| 向いている構成 | 本番環境、冗長構成、経路変更が発生する環境 |
| 注意点 | BGP ASN、BGPセッション用IP、経路広告設計が必要 |
BGPは初期設計こそStaticより複雑ですが、冗長構成や経路制御を考えると、本番環境では扱いやすい方式です。
4. StaticルーティングとBGP動的ルーティングの比較
| 観点 | Staticルーティング | BGP動的ルーティング |
|---|---|---|
| 設定のしやすさ | 比較的簡単 | BGP設計が必要 |
| 経路の登録方法 | 手動 | 動的 |
| 経路変更への対応 | 手動変更が必要 | BGP広告により対応可能 |
| 冗長トンネルとの相性 | 注意が必要 | 相性がよい |
| 経路優先制御 | 限定的 | BGP属性などで制御しやすい |
| 運用負荷 | ネットワーク変更時に高くなりやすい | 初期設計後は運用しやすい |
| 障害時の切替 | CPE側の設定に依存しやすい | BGPにより制御しやすい |
| 向いているケース | 小規模、固定的な構成 | 本番環境、冗長構成、変更がある環境 |
5. Staticルーティング利用時の注意点
Staticルーティングを利用する場合、特に注意したいのが 非対称ルート です。
非対称ルートとは
非対称ルート とは、通信の往路と復路で異なる経路を通る状態です。
たとえば、以下のようなケースです。
往路:
オンプレミス → VPNトンネル1 → OCI
復路:
OCI → VPNトンネル2 → オンプレミス
IPルーティングの観点では、往路と復路が異なる経路を通ること自体は必ずしも誤りではありません。
しかし、オンプレミス側にファイアウォールやUTMなどのステートフルな通信制御機器が存在する場合、問題になることがあります。
6. 非対称ルートが問題になるケース
ステートフルファイアウォールは、通信の開始から終了までをセッションとして管理します。
そのため、往路と復路が異なるインタフェースや異なるVPNトンネルを通ると、戻り通信が既存セッションの応答として認識されず、破棄される場合があります。
オンプレミス端末
↓
ファイアウォール
↓
VPNトンネル1
↓
OCIサーバ
OCIサーバ
↓
VPNトンネル2
↓
ファイアウォール
↓
オンプレミス端末
このような場合、以下のような事象が発生する可能性があります。
| 事象 | 内容 |
|---|---|
| 片方向だけ通信できる | リクエストは届くが応答が戻らない |
| 特定の通信だけ失敗する | TCPセッションが確立しない、または途中で切れる |
| 障害時の切替が不安定 | トンネル切替時に想定外の経路を通る |
| 原因調査が難しい | OCI側、CPE側、Firewall側のどこで落ちているか切り分けが必要 |
7. Staticルーティングで特に確認すべきポイント
Staticルーティングを利用する場合は、少なくとも以下を確認しておくべきです。
| 確認ポイント | 内容 |
|---|---|
| 往路・復路の経路 | オンプレミス→OCI、OCI→オンプレミスが意図した経路を通るか |
| CPE側のルート設定 | 同一宛先に対するStatic Routeの優先度、メトリック、トラッキング設定 |
| VPNトンネルの使い方 | Active/Standbyにするのか、両方使うのか |
| Firewallの挙動 | 非対称ルートを許容するか、セッションを破棄しないか |
| 障害時の切替 | 片方のトンネル障害時に自動で切り替わるか |
| 復旧時の戻り動作 | 障害復旧後に意図した経路へ戻るか |
Staticルーティングの場合、経路の切替や優先制御はCPE側のルーティング設定に依存しやすくなります。
そのため、OCI側だけでなく、オンプレミス側ネットワーク機器の仕様や設定も含めて確認する必要があります。
8. BGP動的ルーティングを推奨したい理由
本番環境や冗長構成では、可能であれば BGP動的ルーティング を利用することを推奨します。
理由は、以下のとおりです。
| 理由 | 内容 |
|---|---|
| 経路を動的に学習できる | オンプレミス側ネットワークの変更に追従しやすい |
| 冗長トンネルを活用しやすい | トンネル障害時の切替を設計しやすい |
| 経路優先制御がしやすい | BGP属性を使って経路制御しやすい |
| 運用ミスを減らしやすい | Static Routeの設定漏れや不整合を減らしやすい |
| 本番運用に向いている | 可用性、運用性、拡張性の観点で扱いやすい |
BGPを利用することで、単に「つながる」だけでなく、以下のような設計がしやすくなります。
- どちらのVPNトンネルを優先するか
- 障害時にどの経路へ切り替えるか
- 復旧時に元の経路へ戻すか
- オンプレミス側とOCI側で経路制御をどう合わせるか
9. Staticルーティングが適しているケース
Staticルーティングが常に悪いわけではありません。
以下のようなケースでは、Staticルーティングでも十分な場合があります。
| ケース | 理由 |
|---|---|
| 検証環境 | 構成がシンプルで短期間利用の場合 |
| 小規模環境 | 接続先CIDRが少なく、変更頻度が低い場合 |
| 単純な接続要件 | 冗長性や高度な経路制御が不要な場合 |
| BGP非対応のCPEを利用する場合 | 機器側の制約によりStaticが必要な場合 |
ただし、Staticルーティングを利用する場合でも、冗長トンネル構成における経路の向きや、ファイアウォールの挙動は必ず確認する必要があります。
10. BGP動的ルーティングが適しているケース
一方で、以下のようなケースではBGP動的ルーティングを優先して検討した方がよいです。
| ケース | 理由 |
|---|---|
| 本番環境 | 可用性と運用性を確保しやすい |
| VPNトンネルを冗長化する | 障害時の経路切替を制御しやすい |
| オンプレミス側ネットワークが複数ある | 経路広告で管理しやすい |
| 将来的にネットワーク追加がある | Static Route追加の運用負荷を抑えやすい |
| FastConnectや複数経路と組み合わせる | 経路優先制御が必要になるため |
| 非対称ルートを避けたい | 経路制御の設計がしやすい |
11. 設計時の考え方
OCI Site-to-Site VPNのルーティング方式を選ぶ際は、以下のように考えると整理しやすいです。
小規模・検証・固定的な構成
→ Staticルーティングも選択肢
本番・冗長化・経路変更あり
→ BGP動的ルーティングを推奨
特に、以下に該当する場合はBGPを優先して検討した方がよいです。
- VPNトンネルを2本とも利用したい
- 障害時の経路切替を制御したい
- オンプレミス側に複数ネットワークがある
- 将来的にネットワーク追加が見込まれる
- ファイアウォールが非対称ルートに厳しい
- 本番環境として安定運用したい
12. まとめ
OCI Site-to-Site VPNでは、ルーティング制御方式として Staticルーティング と BGP動的ルーティング を選択できます。
Staticルーティングは設定が比較的シンプルで、小規模環境や検証環境では扱いやすい方式です。
一方で、冗長トンネル構成や経路変更がある環境では、経路の不整合や非対称ルートに注意が必要です。
特に、オンプレミス側にステートフルファイアウォールがある場合、往路と復路が異なる経路を通ることで通信が破棄される可能性があります。
BGP動的ルーティングは初期設計こそ必要ですが、経路の動的学習、冗長トンネルの活用、経路優先制御の観点で優れています。
そのため、OCI Site-to-Site VPNを本番環境で利用する場合は、可能であれば BGP動的ルーティングを選択することを推奨 します。