🛤️ AWS Direct Connect ルーティングポリシー
& BGP コミュニティ完全ガイド

高速道路の料金所で例える!トラフィック制御の仕組みを完全マスター

🎯 結論ファースト:これだけ覚えればOK!

🏷️

ローカルプリファレンス
BGPコミュニティ

7224:7100(低)
7224:7200(中)
7224:7300(高)
優先度を制御する「優先チケット」

🌍

スコープ
BGPコミュニティ

7224:9100(ローカル)
7224:9200(大陸)
7224:9300(グローバル)
伝播範囲を制御する「配達エリア指定」

⚖️

ECMP
マルチパスルーティング

同じ優先度の経路間で
トラフィックを均等分散
同じタグ設定で有効化
帯域を最大活用!

🔗

AS_PATH
プリペンド

経路を長く見せて
優先度を下げる
「遠回りルート」を設定

📋

評価順序

①プレフィックス長
②ローカルプリファレンス
③AS_PATH長
④MED値

🚗 高速道路の料金所で例えると超わかりやすい!

🛣️

BGPルーティング = 高速道路網

📍 シチュエーション:
あなたは東京から大阪に荷物を送る運送会社のオーナー。複数の高速道路ルートがあり、どのルートを優先するか決める必要があります。
🎫 BGPコミュニティタグ = 優先チケット
荷物に「VIPチケット」を貼ると優先レーンを通れる。

7224:7300 = ゴールドVIP(最優先レーン)
7224:7200 = シルバーVIP(通常優先)
7224:7100 = ブロンズVIP(予備ルート用)
🗺️ AS_PATH = 経由地の数
「東京→名古屋→大阪」より「東京→大阪」の方が短い。
経由地を増やすと「遠回りルート」として認識され、優先度が下がる。
📬

スコープ = 配達エリア指定

📍 シチュエーション:
あなたは通販会社のオーナー。商品の配達範囲を決める必要があります。
📦 スコープBGPコミュニティ = 配達エリア

7224:9100 = 「県内配送のみ」
 → 同じAWSリージョン内だけに伝播

7224:9200 = 「国内配送」
 → 同じ大陸内の全リージョンに伝播

7224:9300 = 「海外配送OK」
 → 全世界のリージョンに伝播
💡 デフォルト:
タグを付けなければ「海外配送OK」(グローバル)として扱われる

🏷️ ローカルプリファレンス BGPコミュニティタグ

プライベートVIF・トランジットVIF専用の優先度制御タグ

7224:7300
🥇 高優先設定(High)
最も高い優先度。このタグが付いたルートが最優先で選択される。
プライマリ接続に使用する。
💡 使用例
メインのDirect Connect接続のVIFに設定。
通常時はすべてのトラフィックがこの経路を通る。
7224:7200
🥈 中優先設定(Medium)
中程度の優先度。デフォルト値に近い設定。
アクティブ/アクティブ構成のロードバランシングに使用。
💡 使用例
複数の接続で同じ7224:7200を設定すると、
ECMP(等コストマルチパス)でトラフィックが分散される。
7224:7100
🥉 低優先設定(Low)
最も低い優先度。他のルートが使えない時のみ選択される。
バックアップ接続に使用する。
💡 使用例
セカンダリのDirect Connect接続に設定。
プライマリ障害時のみトラフィックが流れる。

🌍 スコープ BGPコミュニティタグ

パブリックVIF専用のプレフィックス伝播範囲制御タグ

7224:9100
📍 ローカルリージョン
プレフィックスを同じAWSリージョン内のみに伝播。
最も狭い範囲で、セキュリティを重視する場合に使用。
💡 使用例
東京リージョンのDirect Connect接続から
東京リージョン内のAWSサービスのみにアクセス
7224:9200
🗺️ 大陸内リージョン
プレフィックスを同じ大陸内の全リージョンに伝播。
北米、アジアパシフィック、EMEAの単位で制御。
💡 使用例
東京からアジアパシフィックの
シンガポール、シドニー等にもアクセス可能
7224:9300
🌐 グローバル(デフォルト)
プレフィックスを全世界のパブリックリージョンに伝播。
タグを付けない場合のデフォルト動作。
💡 使用例
グローバル展開するサービスで、
世界中の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が有効になります!

🗺️ ECMPが動作するシナリオ

✅ シナリオ1: 同一リージョン内の複数VIF

例:東京リージョンに2つのDirect Connect接続

• 同じAWSリージョン(東京)に関連付けられた
 2つ以上のVIFパスがある場合
• 同じコロケーション施設でも、異なる施設でもOK

✅ シナリオ2: 同一リージョン外からの複数VIF

例:大阪と名古屋から東京リージョンへ接続

• AWSリージョン送信トラフィックに
 同じリージョン外のロケーションからの
 2つ以上のVIFパスがある場合

⚠️ 注意:デフォルトの優先動作

ローカルプリファレンスタグが適用されていない場合、AWSは以下の動作をします:

• Direct Connectロケーションに関連付けられた同じAWSリージョンを優先
• 例:東京DC接続 → 東京リージョンへのトラフィックを優先

この動作を変更してECMPを有効にするには、同じローカルプリファレンスタグを設定する必要があります。

⚙️ ECMPを有効にする設定方法

📋 アクティブ/アクティブ構成でECMPを有効にする
# 接続1のVIF設定
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
VIF 1 (7224:7200)
VIF 2 (7224:7200)
☁️
AWS VPC
ECMP負荷分散
✨ 結果:

両方のVIFに同じローカルプリファレンス(7224:7200)を設定することで、
AWSからオンプレミスへの戻りトラフィックが2つの経路間で自動的に負荷分散されます!

🔄 ECMPとフェイルオーバーの関係

✅ ECMP(負荷分散)

7224:7200 7224:7200

同じタグ → 両方アクティブ
トラフィックを分散

障害時:残りの経路で継続

🔀 アクティブ/パッシブ

7224:7300 7224:7100

異なるタグ → 1つだけアクティブ
高優先が常に使用される

障害時:低優先に切り替え

💡 どちらを選ぶ?
要件 推奨構成
帯域幅を最大化したい ECMP(両方の接続を同時使用)
コストを抑えたい(バックアップは低帯域でOK) アクティブ/パッシブ
トラフィックパターンを予測可能にしたい アクティブ/パッシブ
高可用性と高スループットの両方 ECMP

⚖️ ECMP(等コストマルチパス)ルーティング

複数の経路に均等にトラフィックを分散させる負荷分散技術

🚗

ECMPを高速道路で例えると...

同じ目的地へ向かう「同じ料金・同じ距離」の道が複数ある状態

🛣️ シナリオ:東京から大阪へ向かう高速道路が2本あり、
両方とも「料金500円・所要時間5時間」で完全に同じ条件だったら?

→ トラックを均等に2本の道路に振り分けて渋滞を防ぐ!
これがECMPの考え方です。

ECMPが有効な時

同じ条件の複数経路に
トラフィックが均等分散

ECMPが無効な時

最良の1経路のみが
使用される

📋 ECMPが有効になる条件

📏
プレフィックス長

同じ長さ

🏷️
ローカルプリファレンス

同じタグ or タグなし

🔗
AS_PATH長

同じ長さ

📊
MED値

同じ値

💡 重要ポイント:

上記のすべての条件が同じ場合にのみ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: 7224:7200
接続2: 7224:7200

✅ 同じ優先度 → トラフィックが均等分散
✅ 1つの接続が障害 → 残りでECMP継続

🔀 アクティブ/パッシブ(ECMP無効)

プライマリ: 7224:7300
バックアップ: 7224:7100

❌ 異なる優先度 → プライマリのみ使用
✅ プライマリ障害時 → バックアップに切替

📊 ECMPトラフィックフローの視覚化

🏢
オンプレミス

データセンター

50%
ECMP
50%
DX接続 1
7224:7200
DX接続 2
7224:7200
☁️
AWS VPC

リソース

🔗 AS_PATH プリペンドとは?

AS_PATHとは、ルートが通過してきた自律システム(AS)番号のリストです。
経路の「長さ」を表し、短いほど優先されます。

📊 通常の経路(AS_PATH長 = 1)

お客様AS
65001
AWS AS
7224

📊 プリペンド後の経路(AS_PATH長 = 3)

お客様AS
65001
65001
(追加)
65001
(追加)
AWS AS
7224
💡 ポイント:

AS_PATHに自分のAS番号を追加(プリペンド)することで、経路を「遠く」見せて優先度を下げることができます。
バックアップ経路として使用する接続に設定します。

⚖️ ルーティング評価の順序

1️⃣
プレフィックス長
最長一致が優先
/24 > /16
2️⃣
ローカルプリファレンス
7300 > 7200 > 7100
高い値が優先
3️⃣
AS_PATH長
短いほど優先
1 > 3
4️⃣
MED値
低い値が優先
最終手段
⚠️ 重要な注意点
ローカルプリファレンスはAS_PATHより先に評価されます!
つまり、AS_PATHをいくら長くしても、ローカルプリファレンスが高ければそちらが優先されます。
アクティブ/パッシブ構成では、ローカルプリファレンスBGPコミュニティタグの使用を推奨します。

📊 制御方法の比較

制御方法 対象VIF 用途 タグ例 評価優先度
ローカルプリファレンス プライベート / トランジット アクティブ/パッシブ
フェイルオーバー制御
7224:7300 🥈 2番目
スコープコミュニティ パブリック プレフィックス伝播範囲
の制限
7224:9100 -(範囲制御)
AS_PATH プリペンド 全VIF 経路の優先度を下げる
(バックアップ用)
AS番号を追加 🥉 3番目
MED値 全VIF 同一AS内での
経路選択
数値(低い方が優先) 4番目(非推奨)

💼 実践ユースケース別設定

🔄

アクティブ/アクティブ構成

2つの接続で負荷分散したい場合

設定方法:
接続1: 7224:7200 (中優先)
接続2: 7224:7200 (中優先)

同じ優先度を設定することで、ECMPによる負荷分散が実現

🔀

アクティブ/パッシブ構成

プライマリとバックアップを明確に分けたい場合

設定方法:
プライマリ: 7224:7300 (高優先)
バックアップ: 7224:7100 (低優先)

プライマリ障害時のみバックアップにフェイルオーバー

🌏

マルチリージョン構成

複数リージョンへの接続でローカルを優先したい場合

設定方法:
東京DC: 7224:7300 → 東京リージョン
大阪DC: 7224:7100 → バックアップ

試験問題7番の正解パターン!

🔒

リージョン限定アクセス

特定リージョンのみにアクセスを制限したい場合(パブリックVIF)

設定方法:
プレフィックス: 7224:9100 (ローカルのみ)

セキュリティ要件で伝播範囲を制限する場合に使用

🤔 どの設定を使うべき?決定フロー

1

VIFの種類は?

プライベート/トランジットVIF → ローカルプリファレンス(7224:7xxx)を検討
パブリックVIF → スコープコミュニティ(7224:9xxx)も検討

2

複数接続がありますか?

YES → 次のステップへ
NO → 特別な設定は不要(デフォルトで動作)

3

負荷分散したいですか?フェイルオーバーしたいですか?

負荷分散(アクティブ/アクティブ)
→ 両方に同じ 7224:7200 を設定

フェイルオーバー(アクティブ/パッシブ)
→ プライマリに 7224:7300、バックアップに 7224:7100

設定完了!

BGPコミュニティタグをアドバタイズするプレフィックスに適用して完了です。
AS_PATHプリペンドは、ローカルプリファレンスが使えない場合の代替手段として検討してください。

💡 試験対策のポイント
1. タグ番号を覚えよう:
• ローカルプリファレンス: 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コミュニティタグは「どの道を優先するか」を決める
交通標識のような役割を果たします

🏷️
ローカルプリファレンス 7224:7100/7200/7300
優先度の制御
(プライベート/トランジットVIF)
🌍
スコープ 7224:9100/9200/9300
伝播範囲の制御
(パブリックVIF)
🔗
AS_PATH 経路を長く見せる
優先度を下げる
(単一リージョン向け)

🎯 最重要ポイント:

マルチリージョンでのルーティング制御には
ローカルプリファレンスBGPコミュニティタグ
を使用することが推奨される!

AS_PATHプリペンドは単一リージョン内での制御に適している!

Created by SSuzuki1063

AWS SAP Learning Resources