このセクションでは、サービス エンジンのスケーリングの使用事例シナリオについて説明します。

スケーリングの使用事例

スケーリングされていない仮想サービスは、クライアントから NSX Advanced Load Balancer Controller を経由してサーバに到達する最適なパケット パスを提供します。SE をスケーリングすると、入力方向パケットの一部のトラフィック(特にセカンダリ SE にプッシュされるトラフィック)に余分なホップが追加されることがあります。スケーリングは、次の使用事例で適切に機能します。

  • クライアント/サーバ アプリケーション、HTTP またはビデオ ストリーミング プロトコルなど、入力方向が最小で出力方向が大きいトラフィック。たとえば、単一の 10 Gbps NIC を持つホストに SE が存在する場合があります。スケール アウトされている間も、仮想サービスはクライアントに 30 Gbps のトラフィックを送信できます。

  • 圧縮や SSL (Secure Sockets Layer)/TLS (Transport Layer Security) など、大量に CPU リソースを消費するプロトコルまたは仮想サービス機能。

  • 単一 SE のメモリを超える同時接続数。

次の使用事例では、スケーリングが適切に機能しません。

  • 単一の SE(または特に基盤となる仮想マシン)のネットワークまたはパケット(1 秒あたり)のキャパシティを超える大量のクライアント アップロードを含むトラフィック。すべての入力側パケットがプライマリ SE を経由するため、スケーリングには大きなメリットがない場合があります。1 秒あたりのパケット数の制限については、対象のプラットフォームまたはハイパーバイザーのドキュメントを参照してください。

既存の接続への影響

別の SE にスケール アウトできるのは新しい接続のみであるため、既存の接続はスケール アウトの影響を受けません。スケール インすると、セカンダリ SE の接続には終了するまでの時間として 30 秒が与えられ、セカンダリ SE によって終了します。これらの接続は、仮想サービスの重要なログでフラグが付けられます。接続またはクライアントの後続のパケットは、プライマリ SE によって再ロード バランシングされる資格があります。

セカンダリ SE の障害

セカンダリ SE に障害が発生すると、プライマリは障害を迅速に検出し、後続のパケットを仮想サービスを処理する残りの SE に転送します。選択した高可用性モードによっては、キャパシティのギャップを埋めるために新しい SE がグループに自動的に追加される場合もあります。接続の増加の可能性を除き、他の SE へのトラフィックは影響を受けません。

プライマリ SE の障害

プライマリ SE に障害が発生すると、セカンダリ SE の中から新しいプライマリが自動的に選択されます。スケーリングされていないフェイルオーバー イベントと同様に、新しいプライマリは、仮想サービスの IP アドレスに Gratuitous ARP をアドバタイズします。仮想サービスが送信元 IP パーシステンスを使用していた場合、新しく昇格されたプライマリにはパーシステンス テーブルのミラー コピーが含まれます。Cookie やセキュア HTTPS などのその他のパーシステンス方法はクライアントによって維持されます。そのため、ミラーリングは必要ありません。以前に新しく昇格したプライマリ SE に委任された TCP および UDP 接続の場合、接続は通常どおり継続しますが、これらのパケットでプライマリからセカンダリへの余分なホップを発生させる必要はありません。

障害が発生したプライマリまたは他のセカンダリ SE によって所有されていた接続の場合、新しいプライマリはその接続テーブルでマッピングを再構築する必要があります。新しいプライマリで SYN 以外の新しいパケットを受信すると、残りの SE にクエリを実行し、接続を処理していたかどうかを確認します。処理していた場合は、同じ SE に接続フローが再確立されます。フローを処理していたことをアナウンスする SE がない場合は、フローが障害が発生したプライマリによって所有されていたと考えられます。TCP の接続がリセットされるか、UDP の残りの SE にロード バランシングされます。

HA モードとの関係

スケーリングは高可用性とは異なりますが、2 つは密接な関係にあります。スケール アウトされた仮想サービスでは、グループ内の単一の SE で障害が発生しても、パフォーマンスの低下以外の影響を受けません。Legacy HA アクティブ/スタンバイ モード(2-SE 構成)は、スケーリングをサポートしていません。代わりに、サービスの継続性は、初期化されたスタンバイ仮想サービスが正常な SE に存在するかどうかに依存します。これらは、1 つのコマンドで引き継ぐことができます。

NSX Advanced Load Balancer のデフォルトの HA モードは Elastic HA N+M モードです。これは、SE グループの各仮想サービスを 1 つの SE 上でスケーリングされていないモードで開始します。このような構成では、スケーリングされていない仮想サービスを実行している SE で障害が発生すると、サービスが短時間停止します(これらの仮想サービスのみ)。その間、コントローラは影響を受ける仮想サービスを予備の SE キャパシティに配置します。これに対して、N+M グループ内で 2 つ以上の SE にスケーリングされた仮想サービスでは、停止は発生しませんが、パフォーマンスが低下する可能性があります。