このセクションでは、仮想サービスの最適化に関するトピックについて説明します。

仮想サービスの最適化には次の種類があります。

  • 仮想サービスを追加の NSX Advanced Load Balancer サービス エンジンにスケール アウトします。

  • 仮想サービスをスケール インして、SE の数を減らします。

  • 仮想サービスを SE 間で移行します。

NSX Advanced Load Balancer では、仮想サービスのワークロードを複数の SE に分散して、オンデマンドでキャパシティを増やす仮想サービスのスケーリングがサポートされます。これにより、仮想サービスのスループット キャパシティが拡張され、高可用性のレベルが上がります。

  • 仮想サービスをスケール アウトすると、その仮想サービスが追加の SE に分散されます。デフォルトでは、SE のネイティブ ロード バランシングが実行されている場合、NSX Advanced Load Balancer は仮想サービスごとに最大 4 つの SE をサポートします。BGP 環境では、最大値を 64 に増やすことができます。

  • 仮想サービスをスケール インすると、負荷が分散される SE の数が減ります。仮想サービスには、常に少なくとも 1 つの SE が必要です。



Nuage を使用した VMware/OpenStack での NSX Advanced Load Balancer 仮想サービスのスケーリング

Nuage を使用した VMware 展開と OpenStack 展開の場合、スケール アウトされたトラフィックは次のように動作します。

  • 仮想サービスの IP アドレスは、プライマリ SE によって GARP されます。クライアントからのすべての受信トラフィックは、この SE に到達します。

  • プライマリ SE は、トラフィックの割合を想定どおりに処理します。

  • レイヤー 2 では、過剰なトラフィックは追加のセカンダリ サービス エンジンの MAC アドレスに転送されます。

  • セカンダリ SE へのスケール アウトされたトラフィックは、通常どおり処理されます。SE は、接続の送信元 IP アドレスをサーバ ネットワーク内の独自の IP アドレスに変更します。

  • サーバは、トラフィックの送信元 IP アドレス(プライマリ SE またはセカンダリ SE の 1 つ)に応答します。

  • セカンダリ SE は、プライマリ SE をバイパスして、応答トラフィックをクライアントに転送します。

Neutron を使用した OpenStack での NSX Advanced Load Balancer 仮想サービスのスケーリング

ネイティブ Neutron を使用する OpenStack 展開の場合、セカンダリ SE に送信されたサーバ応答トラフィックは、元のクライアントに戻る前にプライマリ SE を介して転送されます。

NSX Advanced Load Balancer は、SE の平均 CPU 使用率が、5 分間のポーリング期間中に指定された制限を超えた場合にアラートを発行します。仮想サービスに対して、追加のしきい値のアラートを構成できます。スケール インまたはスケール アウトのプロセスは、管理者が開始する必要があります。[SE グループ] > [高可用性] タブの [CPU しきい値] フィールドで CPU の最小および最大の割合を定義します。

Amazon Web Services (AWS) での NSX Advanced Load Balancer 仮想サービスのスケーリング

AWS での展開の場合、スケール アウトされたトラフィックの動作は次のとおりです。

  • 仮想サービスの IP アドレスは、プライマリ SE によって GARP されます。クライアントからのすべての受信トラフィックは、この SE に到達します。

  • プライマリ SE は、トラフィックの割合を想定どおりに処理します。

  • レイヤー 2 では、過剰なトラフィックは追加のセカンダリ サービス エンジンの MAC アドレスに転送されます。

  • セカンダリ SE へのスケール アウトされたトラフィックは、通常どおり処理されます。SE は、接続の送信元 IP アドレスをサーバ ネットワーク内の独自の IP アドレスに変更します。

  • サーバは、トラフィックの送信元 IP アドレス(プライマリ SE またはセカンダリ SE の 1 つ)に応答します。

  • セカンダリ SE は、プライマリ SE をバイパスして、応答トラフィックをクライアント オリジンに転送します。

Microsoft Azure の展開での NSX Advanced Load Balancer 仮想サービスのスケーリング

Microsoft Azure への NSX Advanced Load Balancer の展開では、Azure Load Balancer を利用して、ECMP と同様のレイヤー 3 スケール アウト アーキテクチャを提供します。この場合、トラフィック フローは次のようになります。

  • 仮想サービス IP は Azure Load Balancer に常駐します。クライアントからのすべての受信トラフィックは Azure LB に到達します。

  • Azure ロード バランサには、NSX Advanced Load Balancer サービス エンジンで構成されるバックエンド プールがあります。

  • Azure ロード バランサは、仮想サービス IP に関連付けられている NSX Advanced Load Balancer サービス エンジンのいずれかにトラフィックを負荷分散します。

  • SE へのトラフィックが処理されます。SE は、接続の送信元 IP アドレスをサーバ ネットワーク内の独自の IP アドレスに変更します。

  • サーバは、トラフィックの送信元 IP アドレス(プライマリ SE またはセカンダリ SE の 1 つ)に応答します。

  • SE は、応答トラフィックを Azure ロード バランサをバイパスして、元のクライアントに直接転送します。

スケーリング プロセス

スケール アウトに使用されるプロセスは、NSX Advanced Load Balancer がハイパーバイザー オーケストレータに対して持つ「書き込み」アクセス権または「読み取りアクセス権/アクセス権なし」のいずれかのアクセス レベルによって異なります。スケーリング プロセスは次のとおりです。

  • NSX Advanced Load Balancer が仮想化 Orchestrator への書き込み権限を持つ「書き込み」アクセス モードになっている場合、NSX Advanced Load Balancer は、負荷の共有に必要な場合に追加のサービス エンジンを自動的に作成します。新しいサービス エンジンの作成中にコントローラで問題が発生すると、数分待ってから別のホストで再試行します。SE のネイティブ ロード バランシングが機能している場合、仮想サービスの IP アドレス プロセスの元のサービス エンジン(プライマリ SE)と ARP は、可能な限り多くのトラフィックを処理します。ここに到着するトラフィックの一部は、レイヤー 2 を介して追加の(セカンダリ)サービス エンジンに転送されます。トラフィックが減少すると、仮想サービスは自動的に元のプライマリ サービス エンジンにスケール インします。

  • NSX Advanced Load Balancer が「読み取りアクセスまたはアクセス権なし」モードの場合、管理者は仮想化 Orchestrator で新しいサービス エンジンを手動で作成して構成する必要があります。仮想サービスは、サービス エンジンがネットワーク用に構成され、NSX Advanced Load Balancer Controller に接続されている場合にのみスケール アウトできます。

注:

予備のキャパシティと適切なネットワーク設定を持つ既存のサービス エンジンはスケール アウトに使用できます。それ以外の場合、スケール アウトを行うには、既存のサービス エンジンを変更するか、新しいサービス エンジンを作成する必要があります。