自動リバランス機能は、サービス エンジンの負荷が構成されたしきい値を超えた場合、または下回った場合に、仮想サービスを自動的に移行またはスケーリングするのに役立ちます。

SE レベルで集計されるトリガ タイプの一部は次のとおりです。

  • 1 秒あたりのパケット数 (PPS)

  • スループット (Mbps)

  • 開いている接続数

  • CPU

最小しきい値と最大しきい値は、トリガ タイプの次のいずれかのオプションとともに構成されます。デフォルトでは、自動リバランスは CPU トリガ タイプに基づいています。

DNS ベースの自動スケーリングを使用しない自動リバランスでは、負荷に基づいて同じ仮想サービス IP アドレスの下に SE を追加できます。

特定の展開では、すべての仮想サービスの IP アドレスにプライマリ SE とセカンダリ SE が関連付けられます。プライマリ SE のキャパシティがしきい値に達しても、プライマリ SE が受信要求を処理するため、トラフィックはセカンダリ SE にリダイレクトされません。

制限事項

  • 特に、トンネル モードでは、スケーリングが制限されます。

  • AWS 展開では、セカンダリ SE の数に関係なく、プライマリ SE の制限 (PPS) が、パフォーマンスのボトルネックになります。

複数の仮想サービスまたはマルチ VIP 仮想サービスを作成することで、上記の制限を回避できます。したがって、DNS ベースの SE 自動リバランスの 3 番目の構造が役立ちます。

自動リバランス

SE の自動リバランス機能を使用すると、仮想サービスは複数の IP アドレスに解決されます。

DNS ベースの自動スケーリングを使用しない自動リバランス機能は、仮想サービスの指定された IP アドレスに対してのみロード バランシングを実行します。SE の自動リバランスでは、DNS がロード バランシングの決定を行います。仮想サービスの DNS 解決に基づいて、受信トラフィックは同じ仮想サービスの複数の IP アドレスにリダイレクトされます。プライマリ VIP が異なるトリガのしきい値に達すると、セカンダリ VIP が起動します。セカンダリ VIP が飽和すると、3 番目の VIP がスピン アップします。

この機能を使用するには、サービス エンジン グループを使用して VIP 自動スケール グループが作成されます。

AWS での自動スケーリング

特定のゾーンが停止した場合、VIP の自動スケーリングは、スケールを維持するために他のゾーンで VIP を自動的にスピンしようとします。他のゾーンが起動すると、VIP の自動スケーリングによって VIP がそのゾーンに戻り、VIP がゾーン間で均等に分散されます。

DNS 統合

VIP が追加および削除されると、それに応じて DNS エントリが自動的に更新されます。VIP が自動的に追加されると、その VIP が OPER_UP 状態になった後にのみ、対応する DNS エントリが追加されます。VIP が削除される前に、DNS エントリが取り消されます。

自動スケーリングの決定

自動スケーリングの決定はトラフィックに基づいて行われ、NSX Advanced Load Balancer Controller によって制御されます(VIP 自動スケール ポリシーの制限にあると仮定)。

新しい VIP を追加する際の考慮事項は次のとおりです。

  • VIP はゾーン間で均等に分散されます(HA を目的とする)。NSX Advanced Load Balancer Controller は、SE が最もロードされていないゾーンをチェックします。これにより、新しいインスタンス コストを削減できます。

  • DNS ロード バランシングをラウンドロビン方式で実行すると、時間の経過とともに、1 つの VIP が完全な SE を占有し、別の仮想サービスと共有している VIP と一致しない可能性があります。このようなシナリオでは、負荷を共有している VIP を別の SE に移動する必要がある場合があります。この問題に対処するもう 1 つの解決策は、重み付けされた DNS ロード バランシング アルゴリズムを使用し、VIP が SE サイズに関して均等にロードされるように重みを調整することです。

  • バックエンド サーバの場所(サーバの自動スケーリングではなく静的プール リストの場合)。これは、ゾーン内のトラフィックを最大化し、ゾーン間トラフィックを削減するために必要です。

高可用性

HA に基づいて、NSX Advanced Load Balancer Controller は、新しい VIP を追加または削除するアベイラビリティ ゾーンとサブネットを選択します。VIP は、アベイラビリティ ゾーン全体に均等に分散されます。スケールアウト要求中に、既存の VIP のリストと VIP の自動スケール構成がチェックされ、新しい VIP を作成する新しい VIP 自動スケール ゾーンが決定されます。

SE 自動リバランスの構成

前提条件

  • VIP を起動するには、少なくとも 1 つのサブネットが必要です(HA の場合は 1 つ以上)。

  • IP アドレス管理機能(AWS の場合は AWS によって提供されます)。

  • SE グループと仮想サービスを作成し、VIP 自動スケール グループに関連付けます。

  • 少なくとも 1 つの仮想サービス IP アドレスを使用して仮想サービスを作成します。現在、IP アドレスのない仮想サービスの作成は許可されていません。

CLI の使用

Avi CLI にログインし、configure serviceenginegroup モードに移動し、vip_asg コマンドを使用して、asg(自動スケーリング グループ)ゾーンと asg ポリシーを次のように構成します。

[admin:controller]: > configure serviceenginegroup Default-Group
Updating an existing object. Currently, the object is:
+---------------------------------------+---------------------------------------------------------+
| Field                                 | Value                                                   |
+---------------------------------------+---------------------------------------------------------+
| uuid                                  | serviceenginegroup-1a591c76-89d1-40fa-b1ae-39eb23731b47 |
| name                                  | Default-Group                                           |



[admin:controller]: serviceenginegroup>
[admin:controller]: serviceenginegroup> vip_asg
[admin:controller]: serviceenginegroup:vip_asg> configuration
[admin:controller]: serviceenginegroup:vip_asg:configuration> zones subnet_uuid subnet-62f1b707
New object being created
[admin:controller]: serviceenginegroup:vip_asg:configuration:zones> save
[admin:controller]: serviceenginegroup:vip_asg:configuration> zones subnet_uuid subnet-782f480f
New object being created
[admin:controller]: serviceenginegroup:vip_asg:configuration:zones> save
[admin:controller]: serviceenginegroup:vip_asg:configuration> where
Tenant: admin
Cloud: aws-cloud
+---------------+-----------------+
| Field         | Value           |
+---------------+-----------------+
| zones[1]      |                 |
|   subnet_uuid | subnet-62f1b707 |
| zones[2]      |                 |
|   subnet_uuid | subnet-782f480f |
+---------------+-----------------+
[admin:controller]: serviceenginegroup:vip_asg:configuration> sav
[admin:controller]: serviceenginegroup:vip_asg> sav
[admin:controller]: serviceenginegroup> sav
+---------------------------------------+---------------------------------------------------------+
| Field                                 | Value                                                   |
+---------------------------------------+---------------------------------------------------------+
| uuid                                  | serviceenginegroup-1a591c76-89d1-40fa-b1ae-39eb23731b47 |
| name                                  | Default-Group                                           |



[admin:controller]: > show serviceenginegroup Default-Group
| vip_asg                               |                                                         |
|   configuration                       |                                                         |
|     zones[1]                          |                                                         |
|       availability_zone               | us-west-2a                                              |
|       subnet_uuid                     | subnet-62f1b707                                         |
|       fip_capable                     | False                                                   |
|     zones[2]                          |                                                         |
|       availability_zone               | us-west-2b                                              |
|       subnet_uuid                     | subnet-782f480f                                         |
|       fip_capable                     | False                                                   |
  • 自動スケーリング ポリシーの SE の最小サイズと最大サイズを設定してトリガを取得し、DNS クールダウン期間の値を設定します。

[admin:controller]: serviceenginegroup>
[admin:controller]: serviceenginegroup> vip_asg
[admin:controller]: serviceenginegroup:vip_asg> policy
[admin:controller]: serviceenginegroup:vip_asg:policy> min_size 2
[admin:controller]: serviceenginegroup:vip_asg:policy> max_size 10
[admin:controller]: serviceenginegroup:vip_asg:policy> dns_cooldown 120
[admin:controller]: serviceenginegroup:vip_asg:policy> save
[admin:controller]: serviceenginegroup:vip_asg> save
[admin:controller]: serviceenginegroup> save
+---------------------------------------+---------------------------------------------------------+
| Field                                 | Value                                                   |
+---------------------------------------+---------------------------------------------------------+
| uuid                                  | serviceenginegroup-1a591c76-89d1-40fa-b1ae-39eb23731b47 |
| name                                  | Default-Group                                           |




[admin:controller]: > show serviceenginegroup Default-Group

| vip_asg                               |                                                         |
|   policy                              |                                                         |
|     min_size                          | 2                                                       |
|     max_size                          | 10                                                      |
|     dns_cooldown                      | 120 seconds                                             |
|     suspend                           | False                                                   |
|   configuration                       |                                                         |
|     zones[1]                          |                                                         |
|       availability_zone               | us-west-2a                                              |
|       subnet_uuid                     | subnet-62f1b707                                         |
|       fip_capable                     | False                                                   |
|     zones[2]                          |                                                         |
|       availability_zone               | us-west-2b                                              |
|       subnet_uuid                     | subnet-782f480f                                         |
|       fip_capable                     | False                                                   |



[admin:controller]: > configure serviceenginegroup Default-Group
Updating an existing object. Currently, the object is:

[admin:controller]: serviceenginegroup> auto_rebalance
No change in field value
[admin:controller]: serviceenginegroup> save

CLI を使用した VIP 自動スケール サブネットの構成

SE グループの自動スケール グループは、NSX Advanced Load Balancer ユーザー インターフェイスを使用して構成することもできます。[インフラストラクチャ] > [サービス エンジン グループ] の順に移動し、[詳細] オプションを選択します。ドロップダウン メニューから、VIP 自動スケール サブネットに使用できるオプションを選択します。