複数のリージョンのトランジットルーター (TR) が Express Connect Router (ECR) に接続されている場合、ECR 上で特定の TR の Multi-Exit Discriminator (MED) 値をデフォルトに設定できます。これにより、特定のパスを選択し、複数の TR 間でトラフィックが最適でないルートを通るのを防ぐことができます。
基本的なルート選択ルール
Multi-Exit Discriminator (MED) は、ボーダーゲートウェイプロトコル (BGP) における重要なルート属性です。MED 値が小さいほど優先度が高くなります。MED 値が小さいルートが優先されます。
Alibaba Cloud は 3 つの MED 値を定義しています。ECR と TR 間のリージョン内接続には 1000、ECR 上で手動でデフォルトパスとして設定された TR には 2000、ECR と TR が直接接続されていないクロスリージョン接続には 3000 です。
アウトバウンドトラフィックのルート選択ルール
アウトバウンドトラフィックは、Enterprise Edition トランジットルーター (TR) のルートに基づいてルーティングされます。
TR が ECR インスタンスや他の TR インスタンスから同じ宛先 CIDR ブロックへのルートを学習すると、システムは TR ルートの優先度 に基づいて、各プロパティの値を優先度の高い順に比較します。プロパティ値の優先度が高いルートがトラフィックの転送に選択されます。複数のルートが同じプロパティ値を持つ場合、システムは次のプロパティの値を比較します。
ルート選択の優先度を次の表に示します。
ルート属性の優先度は、高いものから順に P1 > P2 > P3 > P4 です。
ルート属性の優先度 | ルート属性 | 属性値の説明 |
P1 | AS_Path | システムは、同じ宛先 CIDR ブロックへのルートの AS_Path を比較します。 AS_Path が短い方が優先されます。AS_Path の長さが同じ場合、ローカルプリファレンス属性が比較されます。 |
P2 | ローカルプリファレンス | リージョン内接続へのネクストホップは、クロスリージョン接続へのネクストホップよりも優先度が高くなります。
|
P3 | MED | VPC が ECR および TR への接続を持たないリージョンにある場合、MED 値が比較されます。MED 値が小さいルートが優先されます。ECR で宛先 TR の MED 値をデフォルトに設定して、アウトバウンドトラフィックのパス選択を変更できます。詳細については、「手順」をご参照ください。 同じ宛先 CIDR ブロックへのルートが同じ MED 値を持つ場合、辞書順属性が比較されます。 |
P4 | バイトオーダー | システムは、同じ宛先 CIDR ブロックへのルートのリージョン ID を比較します。リージョン ID はアルファベット順にソートされます。アルファベット順で先に来るリージョン ID からのルートがより高い優先度を持ちます。 たとえば、中国 (北京) (cn-beijing) リージョンからのルートは、中国 (杭州) (cn-hangzhou) リージョンからのルートよりも優先度が高くなります。 |
インバウンドトラフィックのルート選択ルール
インバウンドトラフィックは ECR のルートに基づいてルーティングされます。
ECR が TR インスタンスや他の ECR インスタンスから同じ宛先 CIDR ブロックへのルートを学習すると、システムは各ルートの属性値を比較します。比較は、ルートの優先度が最も高いものから順に行われます。属性の優先度が高いルートがトラフィックの転送に使用されます。複数のルートが同じ属性値を持つ場合、システムは次の属性を比較します。
ルート選択の優先度を次の表に示します。
ルート属性の優先度は、高いものから順に P1 > P2 > P3 > P4 です。
ルート属性の優先度 | ルート属性 | 属性値の説明 |
P1 | MED | ECR は TR インスタンスから同じ宛先 CIDR ブロックへのルートを学習します。同じリージョン内の TR からのルートの MED 値は 1000 です。異なるリージョン内の TR からのルートの MED 値は 3000 です。 同じ宛先 CIDR ブロックへの学習されたすべてのルートがクロスリージョン TR からのものである場合、それらの MED 値はすべて 3000 になります。次に、ローカルプリファレンス属性が比較されます。 |
P2 | ローカルプリファレンス | 仮想ボーダールータ (VBR) のリージョンが ECR と TR への接続を持っている場合、インバウンドトラフィックは VBR と同じリージョン内の ECR と TR 接続を介して優先的にクラウドに入ります。 VBR のリージョンが ECR と TR への接続を持っていない場合、デフォルトの出力タグ属性が比較されます。 |
P3 | デフォルトの出力 | VBR のリージョンが ECR と TR への接続を持っていない場合、システムはデフォルトの出力として設定された接続から受信した TR ルートにタグを付けます。これにより、タグ付けされたルートが ECR に入る際に優先されることが保証されます。 ECR の出力接続によって受信された TR ルートにタグが付いていない場合、辞書順属性が比較されます。 |
P4 | バイトオーダー | システムは、同じ宛先 CIDR ブロックへのルートのリージョン ID を比較します。リージョン ID はアルファベット順にソートされます。アルファベット順で先に来るリージョン ID からのルートがより高い優先度を持ちます。 たとえば、中国 (北京) (cn-beijing) リージョンからのルートは、中国 (杭州) (cn-hangzhou) リージョンからのルートよりも優先度が高くなります。 |
シナリオ
以下の 3 つのシナリオは、複雑さの昇順で説明されています。これらのシナリオでは、TR と ECR 間のルート選択の原則と、トラフィックパスの変更方法について説明します。すべてのシナリオで、AS_Path の長さは同じであると仮定します。
シナリオ 1: 複数の TR があるが、ECR に接続されているのは 1 つだけ
図に示すように、ある企業のデータセンター (IDC) は、中国 (杭州) リージョンの仮想ボーダールータ (VBR) に接続されています。この企業は、中国 (杭州) および中国 (上海) リージョンの VPC にサービスをデプロイしています。
この企業は、VBR、ECR、および TR を使用して、オンプレミスの IDC をクラウド VPC に接続しています。杭州の TR1 と上海の TR2 の間にクロスリージョン接続が確立されています。ECR は、杭州リージョンにある TR1 と VBR の両方にアタッチされています。
1. IDC から VPC へのルート伝播
A: IDC はルートを VBR に伝播します。
B: VBR はルートを ECR に伝播します。
C: ECR はルートを TR に伝播します。
D: ルートは TR 間で伝播されます。TR1 は ECR からのルートを TR2 に伝播します。
2. VPC から IDC へのルート伝播
A: VPC はルートを TR に伝播します。(TR でルート学習が有効になっています。) 詳細については、「ルート学習を有効にする」をご参照ください。
B: ルートは TR 間および ECR に伝播されます。TR1 は TR2 からのルートを ECR に伝播します。
C: ECR はルートを VBR に伝播します。
D: VBR はルートを IDC に伝播します。
3. トラフィックパス
VBR と VPC1 の間、および VBR と VPC2 の間にはパスが 1 つしかないため、ルート選択は必要ありません。トラフィックパスは図に示されています。
シナリオ 2: 複数の TR が ECR に接続されている
図に示すように、ある企業は中国 (杭州) リージョンに IDC を持ち、中国 (杭州) および中国 (上海) リージョンの VPC にサービスをデプロイしています。
この企業は、VBR、ECR、および TR を使用して、オンプレミスの IDC をクラウド VPC に接続しています。杭州の TR と上海の TR の間にクロスリージョン接続が確立されています。ECR は、杭州の TR1、上海の TR2、および杭州の VBR にアタッチされています。TR と ECR は完全に相互接続されています。
1. IDC から VPC へのルート伝播
A: IDC はルートを VBR に伝播します。
B: VBR はルートを ECR に伝播します。
C: ECR はルートを TR1 と TR2 に伝播します。ECR はまずルートに MED 属性を設定し、次にそのルートを 2 つの TR に送信します。
ルートのソース VBR と宛先 TR が同じリージョンにある場合、MED 値は 1000 に設定されます。異なるリージョンにある場合、MED 値は 3000 に設定されます。したがって、
VBR と TR1 は同じリージョンにあります。ECR はルートの MED 値を 1000 に設定し、それを TR1 に伝播します。
VBR と TR2 は異なるリージョンにあります。ECR はルートの MED 値を 3000 に設定し、それを TR2 に伝播します。
D: ルートは TR 間で伝播されます。伝播後、各 TR のアクティブなルートは次のようになります。
TR1 は ECR に直接接続されています。リージョン内優先ルールに基づき、ECR からのルートが優先されます。VPC1 からのアウトバウンドトラフィックが VBR にアクセスする場合、TR1 はネクストホップとして ECR を選択します。
TR2 も ECR に直接接続されています。リージョン内優先ルールに基づき、ECR からのルートが優先されます。VPC2 からのアウトバウンドトラフィックが VBR にアクセスする場合、TR2 はネクストホップとして ECR を選択します。
2. VPC から IDC へのルート伝播
A: ルートは TR 間で伝播されます。
B: TR1 と TR2 はルートを ECR に伝播します。TR はまずルートに MED 属性を設定し、次にそのルートを ECR に送信します。
ルートのソース VPC と現在の TR が同じリージョンにある場合、MED 値は 1000 に設定されます。異なるリージョンにある場合、MED 値は 3000 に設定されます。
VPC1 から発信されるルートの場合:
VPC1 と TR1 は同じリージョンにあります。TR1 はルートの MED 値を 1000 に設定し、それを ECR に伝播します。
VPC1 と TR2 は異なるリージョンにあります。TR2 はルートの MED 値を 3000 に設定し、それを ECR に伝播します。
ECR がルートを受信した後、MED 値が低いルートの優先度が高くなります。TR1 からのルートが優先されます。インバウンドトラフィックが VPC1 にアクセスする場合、ECR はネクストホップとして TR1 を選択します。
VPC2 から発信されるルートの場合: ロジックは VPC1 からのルートと同じです。ECR は TR2 からのルートを優先します。インバウンドトラフィックが VPC2 にアクセスする場合、ECR はネクストホップとして TR2 を選択します。
C: ECR はルートを VBR に伝播します。
D: VBR はルートを IDC に伝播します。
3. トラフィックパス
前述のルート分析に基づくと、
アウトバウンドトラフィック: TR 上では、両方の TR が ECR に直接接続されているため、リージョン内優先ルールに基づいて ECR からのルートが優先されます。したがって、TR はネクストホップとして ECR を選択します。トラフィックはローカル TR から ECR に直接アウトバウンド送信されます。
インバウンドトラフィック: ECR 上では、ソース VPC と同じリージョンにある TR からのルートの優先度が高くなります。したがって、トラフィックは VPC のリージョンにある TR を介して優先的にクラウドに入ります。
シナリオ 3: 複数の TR が相互接続されており、1 つの TR は ECR に接続されていない
図に示すように、ある企業は 3 つの IDC を中国 (北京)、中国 (上海)、および中国 (杭州) リージョンの VBR に接続しています。この企業はまた、中国 (北京)、中国 (上海)、および中国 (杭州) リージョンの VPC にサービスをデプロイしています。
この企業は 3 つの VBR を ECR に接続し、TR1 と TR2 を ECR に接続しています。3 つすべての TR 間でクロスリージョン接続が確立されています。
1. IDC から VPC へのルート伝播
A: IDC はルートを VBR に伝播します。
B: VBR はルートを ECR に伝播します。
C: ECR はルートを TR1 と TR2 に伝播します。ECR はまずルートに MED 属性を設定し、次にそのルートを TR に送信します。
ルートのソース VBR と宛先 TR が同じリージョンにある場合、MED 値は 1000 に設定されます。異なるリージョンにある場合、MED 値は 3000 に設定されます。
VBR1 から発信されるルートを例にとります。
VBR1 と TR1 は同じリージョンにあります。ECR はルートの MED 値を 1000 に設定し、それを TR1 に伝播します。
VBR1 と TR2 は異なるリージョンにあります。ECR はルートの MED 値を 3000 に設定し、それを TR2 に伝播します。
D: ルートは TR 間で伝播されます。伝播後、各 TR のアクティブなルートは次のようになります。
TR1 と TR2 は両方とも ECR に直接接続されています。状況はシナリオ 2 と同じです。リージョン内優先ルールに基づき、ECR からのルートが優先されます。
TR3 は ECR に直接接続されていません。状況は次のとおりです。
VBR1 から発信されるルートを受信する場合:
TR1 からのルート: MED 値は 1000 です。
TR2 からのルート: MED 値は 3000 です。
MED が 1000 のルートの優先度が高くなります。TR1 からのルートが優先されます。VPC3 からのアウトバウンドトラフィックが VBR1 にアクセスする場合、TR3 はネクストホップとして TR1 を選択します。
VBR2 から発信されるルートを受信する場合、ロジックは VBR1 の場合と同様です。TR2 からのルートが優先されます。VPC3 からのアウトバウンドトラフィックが VBR2 にアクセスする場合、TR3 はネクストホップとして TR2 を選択します。
VBR3 から発信されるルートを受信する場合:
TR1 からのルート: ソース VBR3 は杭州にあり、TR1 は北京にあります。これはクロスリージョン接続なので、MED 値は 3000 です。
TR2 からのルート: ソース VBR3 は杭州にあり、TR2 は上海にあります。これはクロスリージョン接続なので、MED 値は 3000 です。
MED 値は同じです。優先度は辞書順で決定されます。アルファベット順では `beijing` が `hangzhou` より先に来るため、TR1 からのルートが優先されます。VPC3 からのアウトバウンドトラフィックが VBR3 にアクセスする場合、TR3 はネクストホップとして TR1 を選択します。
前述のルーティングルールに基づき、各 VPC からのアウトバウンドトラフィックパスは次のようになります。
VPC1 からのアウトバウンドトラフィックパス | VPC2 からのアウトバウンドトラフィックパス | VPC3 からのアウトバウンドトラフィックパス |
2. VPC から IDC へのルート伝播
A: VPC はルートを TR に伝播します。
B: ルートは TR 間および ECR に伝播されます。TR はまずルートに MED 属性を設定し、次にそのルートを ECR に送信します。
ルートのソース VPC と現在の TR が同じリージョンにある場合、MED 値は 1000 に設定されます。異なるリージョンにある場合、MED 値は 3000 に設定されます。
VPC1 から発信されるルートの場合:
VPC1 と TR1 は同じリージョンにあります。TR1 はルートの MED 値を 1000 に設定し、それを ECR に伝播します。
VPC1 と TR2 は異なるリージョンにあります。TR2 はルートの MED 値を 3000 に設定し、それを ECR に伝播します。
ECR がルートを受信した後、MED 値が低いルートの優先度が高くなります。TR1 からのルートが優先されます。インバウンドトラフィックが VPC1 にアクセスする場合、ECR はネクストホップとして TR1 を選択します。
VPC2 から発信されるルートの場合: ロジックは VPC1 からのルートと同じです。ECR は TR2 からのルートを優先します。インバウンドトラフィックが VPC2 にアクセスする場合、ECR はネクストホップとして TR2 を選択します。
VPC3 から発信されるルートの場合:
VPC3 と TR1 は異なるリージョンにあります。TR1 はルートの MED 値を 3000 に設定し、それを ECR に伝播します。
VPC3 と TR2 は異なるリージョンにあります。TR2 はルートの MED 値を 3000 に設定し、それを ECR に伝播します。
ECR は同じ MED 値を持つルートを受信します。リージョン内優先ロジックが適用されます。
VBR1 と同じリージョンにある TR は TR1 であり、ECR に直接接続されています。したがって、VBR1 からのインバウンドトラフィックが VPC3 にアクセスする場合、ECR はネクストホップとして TR1 を選択します。
VBR2 と同じリージョンにある TR は TR2 であり、ECR に直接接続されています。したがって、VBR2 からのインバウンドトラフィックが VPC3 にアクセスする場合、ECR はネクストホップとして TR2 を選択します。
VBR3 と同じリージョンにある TR は TR3 であり、ECR に直接接続されていません。辞書順の比較が使用されます。
アルファベット順では `beijing` が `hangzhou` より先に来るため、TR1 からのルートが優先されます。VBR3 からのインバウンドトラフィックが VPC3 にアクセスする場合、ECR はネクストホップとして TR1 を選択します。
C: ECR はルートを VBR に伝播します。
D: VBR はルートを IDC に伝播します。
前述のルーティングルールに基づき、IDC から 3 つの VPC へのインバウンドトラフィックパスは次のようになります。
VPC1 へのインバウンドトラフィックパス | VPC2 へのインバウンドトラフィックパス | VPC3 へのインバウンドトラフィックパス |
3. トラフィックパスの変更
ECR 上で TR2 をデフォルトパスとして設定することで、VPC3 と IDC3 間の通信のトラフィックパスを変更できます。
アウトバウンドトラフィックパスの変更:
ECR 上で TR2 をデフォルトパスとして設定すると、MED 伝播ポリシーに基づいて、ECR から TR2 に送信されるすべてのルートの MED 属性が 2000 に設定されます。TR2 がこれらのルートを TR3 に送信すると、TR3 は TR2 からのルートを優先します。これにより、VPC3 のアウトバウンドトラフィックの出口が TR1 から TR2 に変更されます。
インバウンドトラフィックパスの変更:
ECR 上で TR2 をデフォルトパスとして設定すると、インバウンドトラフィックはデフォルトの出力ルールに基づいて、デフォルトの TR2 をネクストホップとして優先的に選択します。その結果、VBR3 からのインバウンドトラフィックが VPC3 にアクセスする際、ECR はネクストホップとして TR2 を選択します。
MED 変更前の VPC3 と IDC3 間のトラフィックパス | MED 変更後の VPC3 と IDC3 間のトラフィックパス |
次の表は、3 つの VPC と IDC 間の通信のトラフィックパスをまとめたものです。
MED 変更ステータス | VPC1 と IDC 間のトラフィックパス | VPC2 と IDC 間のトラフィックパス | VPC3 と IDC 間のトラフィックパス |
MED 変更前 | |||
MED 変更後 | トラフィックパスは変更されません | トラフィックパスは変更されません |
制限
ECR が単一の Cloud Enterprise Network (CEN) に関連付けられている場合、その CEN 内で MED 値を設定してデフォルトパスとして設定できる TR は 1 つだけです。その CEN 内の他の TR をデフォルトパスとして設定することはできません。
ECR が複数の CEN に関連付けられている場合、各 CEN で 1 つの TR をデフォルトパスとして設定できます。同じ CEN 内の他の TR をデフォルトパスとして設定することはできません。
前提条件
Express Connect Router (ECR) を作成済みであること。詳細については、「ECR の作成」をご参照ください。
Cloud Enterprise Network (CEN) を使用して VPC 間のクロスリージョン通信を有効にしていること。詳細については、「CEN を使用して VPC 間のクロスリージョン通信を有効にする」をご参照ください。
各データセンター用に Express Connect 回線と仮想ボーダールータ (VBR) を作成し、ECR が VBR にアタッチされていること。詳細については、「Express Connect 回線」、「VBR」、および「VBR の追加」をご参照ください。
手順
ECR 上で、特定のリージョンにある TR の MED 値をデフォルトに設定できます。これにより、複数の TR が ECR に接続されているが、ECR と TR が直接接続されていないクロスリージョン通信シナリオで発生する可能性のあるトラフィックの迂回問題を解決できます。
宛先 ECR の [基本情報] ページに移動します。宛先 TR を見つけ、[操作] 列の [デフォルトとして設定] をクリックします。
