🎯 結論ファースト:これだけ覚えればOK!
ローカルプリファレンス
BGPコミュニティ
7224:7100(低)
7224:7200(中)
7224:7300(高)
優先度を制御する「優先チケット」
スコープ
BGPコミュニティ
7224:9100(ローカル)
7224:9200(大陸)
7224:9300(グローバル)
伝播範囲を制御する「配達エリア指定」
ECMP
マルチパスルーティング
同じ優先度の経路間で
トラフィックを均等分散
同じタグ設定で有効化
帯域を最大活用!
AS_PATH
プリペンド
経路を長く見せて
優先度を下げる
「遠回りルート」を設定
評価順序
①プレフィックス長
②ローカルプリファレンス
③AS_PATH長
④MED値
🚗 高速道路の料金所で例えると超わかりやすい!
BGPルーティング = 高速道路網
あなたは東京から大阪に荷物を送る運送会社のオーナー。複数の高速道路ルートがあり、どのルートを優先するか決める必要があります。
荷物に「VIPチケット」を貼ると優先レーンを通れる。
• 7224:7300 = ゴールドVIP(最優先レーン)
• 7224:7200 = シルバーVIP(通常優先)
• 7224:7100 = ブロンズVIP(予備ルート用)
「東京→名古屋→大阪」より「東京→大阪」の方が短い。
経由地を増やすと「遠回りルート」として認識され、優先度が下がる。
スコープ = 配達エリア指定
あなたは通販会社のオーナー。商品の配達範囲を決める必要があります。
• 7224:9100 = 「県内配送のみ」
→ 同じAWSリージョン内だけに伝播
• 7224:9200 = 「国内配送」
→ 同じ大陸内の全リージョンに伝播
• 7224:9300 = 「海外配送OK」
→ 全世界のリージョンに伝播
タグを付けなければ「海外配送OK」(グローバル)として扱われる
🏷️ ローカルプリファレンス BGPコミュニティタグ
プライベートVIF・トランジットVIF専用の優先度制御タグ
プライマリ接続に使用する。
通常時はすべてのトラフィックがこの経路を通る。
アクティブ/アクティブ構成のロードバランシングに使用。
ECMP(等コストマルチパス)でトラフィックが分散される。
バックアップ接続に使用する。
プライマリ障害時のみトラフィックが流れる。
🌍 スコープ BGPコミュニティタグ
パブリックVIF専用のプレフィックス伝播範囲制御タグ
最も狭い範囲で、セキュリティを重視する場合に使用。
東京リージョン内のAWSサービスのみにアクセス
北米、アジアパシフィック、EMEAの単位で制御。
シンガポール、シドニー等にもアクセス可能
タグを付けない場合のデフォルト動作。
世界中のAWSリージョンからアクセス可能に
⚖️ ECMP(等コストマルチパス)ルーティング
ECMPとは?
東京から大阪へ向かう高速道路で、同じ距離・同じ料金の2本のレーンがあったとします。
ECMPは「どちらのレーンも同じコストなら、両方使って車を分散させよう」という仕組みです。
トラックが1台ずつ交互に2つのレーンを使うことで、渋滞を避けて効率よく荷物を運べます!
ECMP(Equal-Cost Multi-Path)は、同じコスト(優先度)を持つ複数の経路がある場合に、
トラフィックをそれらの経路間で自動的に負荷分散するルーティング技術です。
✅ ECMPが有効になる条件
同じプレフィックス長
両方の経路で同じ
プレフィックス長を
アドバタイズ
同じローカルプリファレンス
両方に同じBGPコミュニティ
タグを設定
(例: 7224:7200)
同じAS_PATH長
経路の長さ(ホップ数)
が同じ
※ASN自体は異なってもOK
同じMED値
Multi-Exit Discriminator
の値が同じ
(設定している場合)
🗺️ ECMPが動作するシナリオ
✅ シナリオ1: 同一リージョン内の複数VIF
例:東京リージョンに2つのDirect Connect接続
• 同じAWSリージョン(東京)に関連付けられた
2つ以上のVIFパスがある場合
• 同じコロケーション施設でも、異なる施設でもOK
✅ シナリオ2: 同一リージョン外からの複数VIF
例:大阪と名古屋から東京リージョンへ接続
• AWSリージョン送信トラフィックに
同じリージョン外のロケーションからの
2つ以上のVIFパスがある場合
⚠️ 注意:デフォルトの優先動作
ローカルプリファレンスタグが適用されていない場合、AWSは以下の動作をします:
• Direct Connectロケーションに関連付けられた同じAWSリージョンを優先
• 例:東京DC接続 → 東京リージョンへのトラフィックを優先
この動作を変更してECMPを有効にするには、同じローカルプリファレンスタグを設定する必要があります。
⚙️ ECMPを有効にする設定方法
BGP Community: 7224:7200 (中優先)
Prefix: 10.0.0.0/16
AS_PATH: 65001
# 接続2のVIF設定(同じ設定)
BGP Community: 7224:7200 (中優先)
Prefix: 10.0.0.0/16
AS_PATH: 65002 (異なるASNでもOK!)
10.0.0.0/16
ECMP負荷分散
両方のVIFに同じローカルプリファレンス(7224:7200)を設定することで、
AWSからオンプレミスへの戻りトラフィックが2つの経路間で自動的に負荷分散されます!
🔄 ECMPとフェイルオーバーの関係
✅ ECMP(負荷分散)
同じタグ → 両方アクティブ
トラフィックを分散
障害時:残りの経路で継続
🔀 アクティブ/パッシブ
異なるタグ → 1つだけアクティブ
高優先が常に使用される
障害時:低優先に切り替え
| 要件 | 推奨構成 |
|---|---|
| 帯域幅を最大化したい | ECMP(両方の接続を同時使用) |
| コストを抑えたい(バックアップは低帯域でOK) | アクティブ/パッシブ |
| トラフィックパターンを予測可能にしたい | アクティブ/パッシブ |
| 高可用性と高スループットの両方 | ECMP |
⚖️ ECMP(等コストマルチパス)ルーティング
複数の経路に均等にトラフィックを分散させる負荷分散技術
ECMPを高速道路で例えると...
同じ目的地へ向かう「同じ料金・同じ距離」の道が複数ある状態
🛣️ シナリオ:東京から大阪へ向かう高速道路が2本あり、
両方とも「料金500円・所要時間5時間」で完全に同じ条件だったら?
→ トラックを均等に2本の道路に振り分けて渋滞を防ぐ!
これがECMPの考え方です。
同じ条件の複数経路に
トラフィックが均等分散
最良の1経路のみが
使用される
📋 ECMPが有効になる条件
同じ長さ
同じタグ or タグなし
同じ長さ
同じ値
上記のすべての条件が同じ場合にのみECMPが有効になります。
1つでも異なると、優先度の高い経路のみが使用されます。
AS_PATHのASN番号は一致する必要はありません(長さが同じならOK)
🌐 プライベート/トランジットVIFでのECMPシナリオ
同一リージョン内
同じAWSリージョンに関連付けられた
Direct Connectロケーションからの
2つ以上の仮想インターフェイス
東京リージョン関連の
大手町DC + Equinix TY2から
同じプレフィックスをアドバタイズ
リージョン外
送信トラフィックのAWSリージョンとは
異なるリージョンにあるロケーションからの
2つ以上の仮想インターフェイス
バージニアリージョンへの送信に
シンガポール + 香港ロケーションの
VIFを使用
ローカルプリファレンスコミュニティタグが適用されていない場合、
Direct Connectは同じAWSリージョンに関連付けられたロケーションを
Medium(7224:7200相当)として優先します。
異なるリージョンからのECMPを実現するには、
明示的に同じローカルプリファレンスタグを設定する必要があります。
⚙️ ECMP構成の設定例
🔄 アクティブ/アクティブ(ECMP有効)
✅ 同じ優先度 → トラフィックが均等分散
✅ 1つの接続が障害 → 残りでECMP継続
🔀 アクティブ/パッシブ(ECMP無効)
❌ 異なる優先度 → プライマリのみ使用
✅ プライマリ障害時 → バックアップに切替
📊 ECMPトラフィックフローの視覚化
データセンター
7224:7200
7224:7200
リソース
🔗 AS_PATH プリペンドとは?
AS_PATHとは、ルートが通過してきた自律システム(AS)番号のリストです。
経路の「長さ」を表し、短いほど優先されます。
📊 通常の経路(AS_PATH長 = 1)
65001
7224
📊 プリペンド後の経路(AS_PATH長 = 3)
65001
(追加)
(追加)
7224
AS_PATHに自分のAS番号を追加(プリペンド)することで、経路を「遠く」見せて優先度を下げることができます。
バックアップ経路として使用する接続に設定します。
⚖️ ルーティング評価の順序
/24 > /16
高い値が優先
1 > 3
最終手段
つまり、AS_PATHをいくら長くしても、ローカルプリファレンスが高ければそちらが優先されます。
アクティブ/パッシブ構成では、ローカルプリファレンスBGPコミュニティタグの使用を推奨します。
📊 制御方法の比較
| 制御方法 | 対象VIF | 用途 | タグ例 | 評価優先度 |
|---|---|---|---|---|
| ローカルプリファレンス | プライベート / トランジット | アクティブ/パッシブ フェイルオーバー制御 |
7224:7300 | 🥈 2番目 |
| スコープコミュニティ | パブリック | プレフィックス伝播範囲 の制限 |
7224:9100 | -(範囲制御) |
| AS_PATH プリペンド | 全VIF | 経路の優先度を下げる (バックアップ用) |
AS番号を追加 | 🥉 3番目 |
| MED値 | 全VIF | 同一AS内での 経路選択 |
数値(低い方が優先) | 4番目(非推奨) |
💼 実践ユースケース別設定
アクティブ/アクティブ構成
2つの接続で負荷分散したい場合
同じ優先度を設定することで、ECMPによる負荷分散が実現
アクティブ/パッシブ構成
プライマリとバックアップを明確に分けたい場合
プライマリ障害時のみバックアップにフェイルオーバー
マルチリージョン構成
複数リージョンへの接続でローカルを優先したい場合
試験問題7番の正解パターン!
リージョン限定アクセス
特定リージョンのみにアクセスを制限したい場合(パブリックVIF)
セキュリティ要件で伝播範囲を制限する場合に使用
🤔 どの設定を使うべき?決定フロー
VIFの種類は?
プライベート/トランジットVIF → ローカルプリファレンス(7224:7xxx)を検討
パブリックVIF → スコープコミュニティ(7224:9xxx)も検討
複数接続がありますか?
YES → 次のステップへ
NO → 特別な設定は不要(デフォルトで動作)
負荷分散したいですか?フェイルオーバーしたいですか?
負荷分散(アクティブ/アクティブ)
→ 両方に同じ 7224:7200 を設定
フェイルオーバー(アクティブ/パッシブ)
→ プライマリに 7224:7300、バックアップに 7224:7100
設定完了!
BGPコミュニティタグをアドバタイズするプレフィックスに適用して完了です。
AS_PATHプリペンドは、ローカルプリファレンスが使えない場合の代替手段として検討してください。
• ローカルプリファレンス: 7224:7xxx(7100=低、7200=中、7300=高)
• スコープ: 7224:9xxx(9100=ローカル、9200=大陸、9300=グローバル)
2. 評価順序を覚えよう:
プレフィックス長 → ローカルプリファレンス → AS_PATH長 → MED
「ぷろあす めー」(プロ→アス→メー)と覚えると良いかも!
3. よく出るシナリオ:
• マルチリージョンでのルーティング制御(ローカルプリファレンス)
• アクティブ/パッシブのフェイルオーバー設定
• AS_PATHプリペンドが効果的なケース(単一リージョン内の複数VIF)
4. 注意点:
マルチリージョン環境ではAS_PATHプリペンドは効果的ではない!
→ ローカルプリファレンスBGPコミュニティタグを使用すること
🎓 まとめ
🛤️ Direct Connect = 専用高速道路
BGPコミュニティタグは「どの道を優先するか」を決める
交通標識のような役割を果たします
優先度の制御
(プライベート/トランジットVIF)
伝播範囲の制御
(パブリックVIF)
優先度を下げる
(単一リージョン向け)
🎯 最重要ポイント:
マルチリージョンでのルーティング制御には
ローカルプリファレンスBGPコミュニティタグ
を使用することが推奨される!
AS_PATHプリペンドは単一リージョン内での制御に適している!