AWS Builder Center: Learn, Build and Connect with builders in the AWS community
AWS Builder Center is the official home for builders on AWS. Share and read what others are working on, follow people who inspire you, explore training and workshops, and find tools to support what you're building.
Direct Connect で非対称ルーティングを管理する方法を教えてください。
AWS Direct Connect をパブリック、プライベート、およびトランジット仮想インターフェイスで使用して、オンプレミスネットワークと AWS リソース間の非対称ルーティングを管理したいと考えています。
解決策
以下の解決策では、AWS からオンプレミスネットワークへのアウトバウンドトラフィックフローを管理する方法について説明します。オンプレミスネットワークから AWS へのインバウンドトラフィックフローについては、優先ルーティングオプションを使用して特定のパスに優先順位を設定する必要があります。
Direct Connect で非対称ルーティングを管理するには、プレフィックス長とボーダーゲートウェイプロトコル (BGP) 属性を使用して、さまざまなタイプの仮想インターフェイスのパス選択を決定します。
注: パブリック仮想インターフェイスの場合、AWS は AS_PATH と最長のプレフィックスの一致を使用してルーティングパスを決定します。
特定のプレフィックスを使ってインターネットよりも Direct Connect を優先する
インターネットとパブリック仮想インターフェイスの両方から同じプレフィックスをアドバタイズする場合は、パブリック仮想インターフェイスでより限定的なルートを使用します。これにより、トラフィックは Direct Connect を優先します。
例えば、プレフィックス 80.80.80./24 をインターネットとパブリック仮想インターフェイスの両方でアドバタイズしたとします。トラフィックがパブリック仮想インターフェイスを優先できるようにするには、仮想インターフェイスのプレフィックスを 80.80.80.0/25 や 80.80.80.128/25 など、より限定的なプレフィックスに変更します。
同一の BGP 属性とプレフィックス長を使用して、ホームリージョンとリモートリージョンからのトラフィックをルーティングする
次のシナリオでは、AWS はアウトバウンドトラフィックのホーム AWS リージョンを優先します。
ホームリージョンとリモートリージョンのパブリック仮想インターフェイスで、同一の BGP 属性とプレフィックス長を持つ同じプレフィックスをアドバタイズする場合。
リージョン間でルーティングするには、ホームリージョンとリモートリージョンの両方のパブリック仮想インターフェイスでプレフィックスをアドバタイズします。この設定により、トラフィックは VPC と同一のリージョンにある仮想インターフェイスを優先するようになります。
ホームリージョンとリモートリージョンからのトラフィックを同一のプレフィックス長でルーティングする
次のシナリオでは、AWS は AS_PATH が短い方のリンクを優先します。
ホームリージョンとリモートリージョンのパブリック仮想インターフェイスで同一のプレフィックスを同じプレフィックス長でアドバタイズする場合。
複数のリージョン間でトラフィックをルーティングするには、ホームリージョンとリモートリージョンの両方の仮想インターフェイスでプレフィックスをアドバタイズします。次に、ホームリージョンの仮想インターフェイスで、より長い AS_PATH を使用してプレフィックスをアドバタイズします。この設定により、ホームリージョンの VPC からのトラフィックは、リモートリージョンの仮想インターフェイスを優先するようになります。
プレフィックス長が同じ 2 つのリモートリージョンからのトラフィックをルーティングする
次のシナリオでは、AWS は AS_PATH が短い方のリンクを優先します。
同じプレフィックス長の 2 つのリモートリージョンのパブリック仮想インターフェイスから同一のプレフィックスをアドバタイズする場合。
複数のリージョン間でトラフィックをルーティングするには、リモートリージョンのパブリック仮想インターフェイスでプレフィックスをアドバタイズします。次に、リモートパブリック仮想インターフェイスのいずれかで、より長い AS_PATH を持つプレフィックスをアドバタイズします。この設定により、ホームリージョンの VPC からのトラフィックは、より長い AS_PATH ではない方のリモート仮想インターフェイスを優先するようになります。
パブリック ASN とプライベート ASN を使用して複数のリージョンからのトラフィックをルーティングする
注: プリペンディングは公開されている AS 番号 (ASN) で動作し、プリペンドされた ASN は他のネットワークからも表示されます。プライベート ASN でプリペンディングを使用する場合、AWS はプライベート ASN を 7224 ASN に置き換えます。パブリック仮想インターフェイスでプライベート ASN を使用する場合、ASN プリペンディングは AWS 外部へのルーティング決定には影響しません。
次のシナリオでは、AWS は AS_PATH が短い方のリンクを優先します。
同じプレフィックス長を持つ同一のプレフィックスを 2 つのリージョンのパブリック仮想インターフェイスからアドバタイズします。
パブリック ASN とプライベート ASN を使用するときに複数のリージョン間でトラフィックをルーティングするには、各リモートリージョンの仮想インターフェイスでプレフィックスをアドバタイズします。一方のリモートリージョンでは、より長いプライベート ASN AS_PATH を使用してプレフィックスをアドバタイズします。他方のリモートリージョンでは、より短いパブリック ASN AS_PATH を使用してプレフィックスをアドバタイズします。この設定により、ホームリージョンの VPC からのトラフィックは、より長いプライベート ASN AS_PATH を持つ仮想インターフェイスを優先することになります。
注: Direct Connect は、ASN を Direct Connect ゲートウェイのパブリック ASN またはリージョンの ASN に置き換えます。AWS ネットワークでは、Direct Connect は、プライベート ASN AS_PATH が長い方の仮想インターフェイスから "[your prefix], as_path [YOUR_PUBLIC_ASN]" を認識します。パブリック ASN AS_PATH が短い方の仮想インターフェイスからは、"[your prefix], as_path [YOUR_PUBLIC_ASN] 1111 1111" を認識します。
同じリージョン内の複数の接続からのロードシェア
複数の Direct Connect 接続にわたるアウトバウンドトラフィックのロードシェアリングを変更するには、同じパス属性を持つプレフィックスをアドバタイズします。
注: 仮想インターフェイスは、同じリージョンでのみロードシェアが可能です。
複数の接続からロードシェアを行うには、VPC と同じリージョンにあるすべてのパブリック仮想インターフェイスで、同じプレフィックス長のプレフィックスをアドバタイズします。
ローカル優先度を使用して、プライベート仮想インターフェイスとトランジット仮想インターフェイスのネットワークパスを選択する
BGP コミュニティを使用してローカル優先度を変更します。ローカル優先度の値が大きい方が優先されます。
ローカル優先度を設定するには、次の BGP コミュニティタグのいずれかを使用します。
- 7224:7100 (低い優先度)
- 7224:7200 (中程度の優先度)
- 7224:7300 (高い優先度)
次のシナリオ例は、ローカル優先度を使用してプライベート仮想インターフェイスとトランジット仮想インターフェイスのネットワークパスを選択する方法を示しています。これらのシナリオでは、トランジット仮想インターフェイスを同一の Direct Connect ゲートウェイに接続していることを前提としています。
注: アクティブ接続とパッシブ接続のルーティングパスで、同じプレフィックス長をアドバタイズする場合は、ローカル優先度の BGP 属性を使用するのがベストプラクティスです。関連するリージョンが同じ Direct Connect ロケーションを優先するように、各リージョンのローカル優先度の値を設定する必要があります。値を 7224:7200 (中程度の優先度) に設定します。ローカルリージョンを Direct Connect ロケーションに関連付けていない場合は、ローカル優先度をより低い値に設定してください。これは、ローカル優先度のコミュニティタグを割り当てない場合にのみ適用されます。
同じリージョン内の 2 つの仮想インターフェイス
2 つの仮想インターフェイスが同じリージョンにある場合は、プライマリ仮想インターフェイスにコミュニティタグを追加します。セカンダリ仮想インターフェイスにはコミュニティタグを追加しないでください。次に、両方の仮想インターフェイスでプレフィックスをアドバタイズします。この設定により、同じリージョンの VPC からのトラフィックは、コミュニティタグが付いた仮想インターフェイスを優先するようになります。
注: BGP ローカル優先度のデフォルト値は 7224:7200 (中程度の優先度) です。
異なるリージョンの 1 つの仮想インターフェイス
VPC と同じリージョンに 1 つの仮想インターフェイスがあり、もう 1 つはリモートリージョンにある場合を想定します。ホーム仮想インターフェイスにもリモート仮想インターフェイスにもコミュニティタグを追加しないでください。次に、両方の仮想インターフェイスでプレフィックスをアドバタイズします。この設定により、トラフィックは VPC と同じリージョンにある仮想インターフェイスを優先するようになります。
注: BGP ローカル優先度のデフォルト値は 7224:7200 (中程度の優先度) です。
VPC とは異なるリージョンの仮想インターフェイス
両方の仮想インターフェイスが、VPC とは異なるリージョンにある場合を想定します。いずれのリモート仮想インターフェイスにもコミュニティタグを追加せず、両方の仮想インターフェイスでプレフィックスをアドバタイズします。この設定により、VPC からのトラフィックを両方のリモート仮想インターフェイス間で負荷分散するようになります。
AS_PATH 属性を使用してネットワークパスを選択する
ローカル優先度オプションが使用できない場合は、AS_PATH 属性を使用してネットワークパスを選択してください。トラフィックを誘導するには、長さの異なる AS_PATH を持つプレフィックスをアドバタイズする必要がありますが、プレフィクスのローカル優先度が同じ場合に限ります。ベストプラクティスは、より短い AS_PATH を使用することです。
次のシナリオ例は、AS_PATH 属性を使用してプライベート仮想インターフェイスとトランジット仮想インターフェイスのネットワークパスを選択する方法を示しています。
注: 以下のシナリオでは、トランジット仮想インターフェイスを 1 つの Direct Connect ゲートウェイにアタッチしていることを前提としています。
同じリージョン内の 2 つの仮想インターフェイス
同じリージョンに 2 つの仮想インターフェイスがある場合を想定します。仮想インターフェイスにはコミュニティタグを追加しないでください。両方の仮想インターフェイスでプレフィックスをアドバタイズし、いずれかの仮想インターフェイスに、より長い AS_PATH を適用します。この設定により、VPC からのトラフィックは、より長い AS_PATH ではない方の仮想インターフェイスを優先するようになります。
注: BGP ローカル優先度のデフォルト値は 7224:7200 (中程度の優先度) です。
異なるリージョンの 1 つの仮想インターフェイス
VPC と同じリージョンに 1 つの仮想インターフェイスがあり、もう 1 つは別のリージョンにある場合を想定します。ホームリージョンの仮想インターフェイスにもリモート仮想インターフェイスにもコミュニティタグを追加しないでください。両方の仮想インターフェイスでプレフィックスをアドバタイズし、AS_PATH 優先度の組み合わせを選択します。この設定により、トラフィックは VPC と同一のリージョンにある仮想インターフェイスを優先するようになります。
注: ホームリージョンの BGP ローカル優先度のデフォルト値は 7224:7200 (中程度の優先度) です。AS_PATH 属性を使用して優先度を "Home region: 7224:7200 Medium preference" に変更することはできません。ローカル優先度は AS_PATH 優先度よりも優先されます。
VPC とは異なるリージョンの仮想インターフェイス
両方の仮想インターフェイスが、VPC とは異なるリージョンにある場合を想定します。どの仮想インターフェイスにもコミュニティタグを追加しないでください。同じ AS_PATH 優先度を使用して両方の仮想インターフェイスでプレフィックスをアドバタイズします。次に、一方の仮想インターフェイスに、より長い AS_PATH を適用します。この設定により、VPC からのトラフィックは、より長い AS_PATH ではない方の仮想インターフェイスを優先するようになります。
注: リモートリージョンの BGP ローカル優先度のデフォルト値は 7224:7100 (低い優先度) です。
ベストプラクティスに従って非対称ルーティングを管理する
次のベストプラクティスを実装します。
- パブリック仮想インターフェイスでは、トラフィックがインターネット経由の専用接続を優先するように、Direct Connect で可能な限り限定的なルートを使用してください。
- BGP ルートとトラフィックパターンを定期的にモニタリングして、ルーティング設定が機能していることを確認します。
- 冗長性のために複数の仮想インターフェイスを使用する場合は、潜在的な非対称ルーティングシナリオを処理するようにオンプレミスネットワークを設定してください。
- 本番環境に実装する前に、ルーティング設定をテストしてください。
関連情報
Direct Connect routing policies and BGP communities (AWS Direct Connect のルーティングポリシーと BGP コミュニティ)
- 言語
- 日本語
