Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

ECMPロードバランシング用のカスタマイズされたハッシュフィールド選択

概要: カスタム ハッシュ機能

Contrail Networking では、ECMP(等価コストマルチパス)のロードバランシング時にハッシュに使用するフィールドのセットを設定できます。

カスタム ハッシュ機能を使用すると、ユーザーは、適格な ECMP 候補のセットの中から転送パスを選択する際に、ハッシュするフィールドの正確なサブセットを設定できます。

カスタム ハッシュ構成は、以下の方法で適用できます。

  • グローバル

  • 仮想ネットワーク(VN)あたり

  • 仮想ネットワークインターフェイス(VMI)あたり

VMI 設定は VN 設定よりも優先され、VN 設定はグローバル レベルの設定(存在する場合)よりも優先されます。

カスタム ハッシュは、特定の送信元から発信され、特定の宛先宛てのパケットが、転送中に同じサービス インスタンスのセットを経由する必要がある場合に便利です。これは、送信元、宛先、またはトランジット ノードがフローに基づいて特定の状態を維持し、状態の動作を送信元アドレスと宛先アドレスの同じペア間の後続の新しいフローにも使用できる場合に必要になることがあります。このような場合、後続のフローは、同じサービスノードのセットの後に、最初のフローが続く必要があります。

次の図に示すように、Contrail Web UI を使用して [Configure > Networking > Network] ウィンドウの [Create Network] セクションの [ ECMP Hashing Fields ] セクションで、ハッシュするネットワーク内の特定のフィールドを特定できます。

仮想ネットワークにハッシュ フィールドが設定されている場合、その VN 宛てのすべてのトラフィックは、vRouter による ECMP パス経由の転送中にカスタマイズされたハッシュ フィールド選択の対象となります。これは、IPファブリックを横断する少数のパスセットを介して、宛先ネットワークへのすべてのトラフィックを偏らせる可能性があるため、すべてのケースで望ましいとは限りません。

より実用的なシナリオは、送信元と宛先の間のフローが、その間に同じサービス インスタンスを経由する必要があるシナリオです。この場合、サービス インスタンスの仮想マシン インターフェイス用にカスタマイズされた ECMP フィールドを設定できます。次に、その仮想マシンインターフェイスを起点とする各サービスチェーンルートは、目的のECMPフィールド選択をパス属性として適用され、最終的にingress vRouterノードに反映されます。次の例を参照してください。

ECMP ハッシュ フィールド選択の使用

カスタム ハッシュ フィールドの選択は、宛先に対して複数の ECMP パスが存在するシナリオで最も役立ちます。通常、複数の ECMP パスはイングレス サービス インスタンス ノードを指し示します。これは Contrail クラウド内の任意の場所で実行されている可能性があります。

サービスチェーン上のECMPハッシュフィールドの設定

以下のステップを使用して、サービスチェーン上のECMPでカスタマイズされたハッシュフィールドを作成します。

  1. ECMP ロードバランシングとサービス チェイニングを使用して相互接続するために必要な仮想ネットワークを作成します。

  2. サービス・テンプレートを作成し、スケーリングを有効にします。

  3. サービス・インスタンスを作成し、サービス・テンプレートを使用して、以下を選択して構成します。

    • スケールアウトに必要なインスタンス数

    • 接続する左右の仮想ネットワーク

    • インスタンス化されたサービスが、それぞれ左と右に同じIPアドレスを持つようにするための共有アドレス空間

    この構成により、転送時にこれらすべてのサービス インスタンス間で ECMP が有効になります。

  4. ポリシーを作成し、以前に作成したサービス インスタンスを選択して、目的の VMI または VN にポリシーを適用します。

  5. サービス仮想マシンがインスタンス化されると、左右のインターフェイスのポートを使用してさらに設定できます。[Networking] の [Contrail Web UI Ports] セクションで、サービス インスタンスの左側のインターフェイス(仮想マシン インターフェイス)のポートを選択し、目的の ECMP ハッシュ フィールド設定を適用します。

    手記:

    現在、サービス インスタンスの左または右インターフェイスの ECMP フィールド選択設定を適用するには、[ネットワーク] の [ポート(VMI)] セクションを使用し、インスタンス化されたサービス インスタンスの VMI ごとに ECMP フィールド選択を明示的に設定する必要があります。これは、最適パスのロードバランス属性のみがイングレスvRouterに引き継がれるため、最終結果が期待どおりになるように、グループのすべてのサービスインターフェイスに対して行う必要があります。ロードバランス属性が設定されていない場合、他のパスにその設定があっても、イングレスvRouterには伝達されません。

設定が完了すると、vRouterにはさまざまなサービスインスタンスへのECMPパスを含むルーティングテーブルがプログラムされます。また、vRouterには、トラフィックのロードバランシング時に使用するECMPハッシュフィールドがプログラムされています。