クラウド サーバ自動スケーリングとは NSX Advanced Load Balancer プラットフォームの新機能であり、インフラストラクチャ管理者、オペレータ、アプリケーション開発者がクラウド自動スケーリング グループと連携して NSX Advanced Load Balancer サーバの自動スケーリング ソリューションを使用できるようにするものです。

AWS の自動スケーリング グループは、NSX Advanced Load Balancer の外部エンティティであるため、NSX Advanced Load Balancer の外部自動スケーリング グループと呼ばれます。この機能により、NSX Advanced Load Balancer Controller で収集されたメトリックと AWS CloudWatch メトリックに基づいて、よりきめ細かいスケーリング ポリシーが適用できます。

サーバの自動スケーリングに使用されるメトリック

SE から収集したメトリックと AWS クラウドがあれば、NSX Advanced Load Balancer ではスケールアウト イベントやスケールイン イベントに関するアクションを取ることができます。NSX Advanced Load Balancer SE では、SE でホストされているサービスのメトリックを収集します。AWS CloudWatch は、サーバ インスタンス(仮想マシン)レベルのメトリックからメトリックを収集します。

サービス エンジンは、次のメトリックを収集します。

  • レベル 4 メトリック

  • レベル 7 メトリック

  • サービス エンジン メトリック

  • 詳細情報メトリック

NSX Advanced Load Balancer で収集するメトリックの完全なリストについては、『VMware NSX Advanced Load Balancer 監視および運用性ガイド』の「SE メトリック」を参照してください。

AWS で収集するメトリック

CPU 使用率やネットワーク使用量など、サーバ インスタンスのインフラストラクチャ関連メトリックは、NSX Advanced Load Balancer によって CloudWatch からフェッチされます。AWS は次のメトリックを収集します。

  • vm_stats.avg_cpu_usage

  • vm_stats.avg_disk_read

  • vm_stats.avg_disk_write

  • vm_stats.avg_disk_io

  • vm_stats.avg_net_usage

自動スケール ポリシーと自動スケール起動の構成

プールが自動スケール オーケストレーションに対して有効になっている場合、上記のメトリックがプールに対して取得されます。前のセクションで説明したメトリックは、プールで自動スケーリングが有効になっている場合に取得されます。サーバの自動スケーリングを機能させるには、自動スケール ポリシーと自動スケール起動構成を使用してプールを有効にする必要があります。

自動スケール ポリシー

自動スケール ポリシーは、上記のメトリックを使用してアラートを構成およびトリガする一連のルールです。自動スケール ポリシーを作成するか既存の自動スケール ポリシーを選択するには、[アプリケーション ] > [プール] の順に移動し、目的のプールの編集アイコンをクリックします。[設定] タブで [自動スケール ポリシー] オプションを選択し、新しい自動スケール ポリシーを追加するか既存のものを使用します。

自動スケール起動構成

サーバの自動スケーリングを機能させるには、自動スケール起動構成をプールに関連付ける必要があります。

use-external-asg の値を true に設定すると、Autoscale Manager は、関連付けられているプールのスケールイン アクティビティやスケールアウト アクティビティのオーケストレーションを開始するよう指示されます。use-external-asg フラグの値は true に設定され、デフォルトの自動スケール起動構成 (default-autoscalelaunchconfig) となります。

[外部 ASG の使用] を有効化するには、[アプリケーション ] > [プール] の順に移動し、目的のプールの編集アイコンをクリックします。[設定] タブで [自動スケールの起動構成] フィールドのドロップダウン メニューから目的の名前を選択します。

AZ 対応の自動スケーリング

スケール インの間は、NSX Advanced Load Balancer 自動スケールにより、異なった AWS アベイラビリティ ゾーン間でのサーバのバランスが確保されます。たとえば、プールにサーバが 4 台(AZ1 と AZ2 のそれぞれにサーバが 2 台)あり、サーバ 2 台のスケールインが行われる場合は、サーバが 2 台(AZ ごとに 1 台)残ります。

注:

この機能は、AWS でのみ使用できます。

サーバの自動スケーリング用プールの構成

サーバの自動スケーリング用にプールを構成するには、次の手順を実行します。

  1. [アプリケーション] > [プール] の順に移動します。[プールの作成] をクリックし、必要なクラウドを選択します。

  2. [自動スケール ポリシー] ドロップダウン メニューから [自動スケール ポリシーの作成] オプションを選択します。

  3. [新しい自動スケール ポリシー] ページで、目的の名前、プールの最小インスタンスと最大インスタンスを指定します。また、[サーバ ガベージ コレクション遅延] の詳細を指定することもできます。

    1. [インテリジェント (機械学習)] および [予測された負荷を使用] オプションをオンにします。

  4. [スケールアウト] セクションの [アラート] ドロップダウン メニューで、サーバ自動スケーリングに必要となるアラートを選択します。また、[クールダウン期間][調整手順][インテリジェント マージン] も指定します。

  5. [スケールイン] セクションの [アラート] ドロップダウン メニューで、サーバ自動スケーリングに必要となるアラートを選択します。また、[クールダウン期間][調整手順][インテリジェント マージン] も指定します。

    1. [クールダウン期間]:この期間は、以前のスケールアウトが完了されるようにするための新たなスケールアウト イベントがトリガされることはありません。

    2. [調整手順]:同時にスケールインするサーバの最大数。この数は、サーバのターゲット数が常に min_size 以上になるように選択されます。

    3. [インテリジェント マージン]:インテリジェント スキームによって使用される負荷の割合としての最小追加キャパシティ。スケールアウトは、使用可能なキャパシティがこのマージンよりも小さい場合にトリガされます。一方、スケールインは、使用可能なキャパシティがこのマージンを超えた場合にトリガされます。

  6. 必要な詳細を指定したら、[保存] をクリックします。

  7. [アプリケーション ] > [プール] の順に移動し、[自動スケールの起動構成] のドロップダウン メニューを選択して、新しい自動スケールの起動構成を作成します。自動スケール起動の名前を指定します。

  8. [保存] をクリックします。

  9. 自動スケーリング グループを使用して、構成されたプールの仮想サービスを作成します。

自動スケール アクティビティとイベント

自動スケール アラートが生成され、構成されたメトリックがしきい値を超えるとプール メンバーがスケールアウトされます。スケール インおよびスケールアウト アクティビティのためにプールによって生成されるイベントは次のとおりです。

スケールアウト アクティビティ用に生成されたイベント、

  1. [SERVER_AUTOSCALE_OUT]:自動スケール スケールアウト アラートがアラート マネージャによって生成されます。

  2. [SERVER_AUTOSCALE_OUT_TRIGGERED]:自動スケール マネージャにより、プールでのスケールアウト アクティビティがトリガされます。

  3. [CONFIG_UPDATE]:プールが新しいメンバーで更新されます。

  4. [AWS_ASG_NOTIFICATION_INSTANCE_ADDED]:インスタンスが AWS 自動スケーリング グループに追加されます。

  5. [SERVER_AUTOSCALE_OUT_COMPLETE]:このイベントは、スケールアウト アクティビティが完了すると、自動スケール マネージャによってトリガされます。これは、スケール アウトが正常に完了したことを示します。

  6. [SERVER_UP]:これは、新しく追加されたサーバでトラフィックを処理できるようになっていることを示すものです。

[テンプレート ] > [イベント] の順に移動し、スケールアウト イベントやスケールイン イベントで生成されたアラートを確認します。

スケールイン アクティビティ用に生成されるイベントは次のとおりです。

  1. [SERVER_AUTOSCALE_IN]:自動スケール スケールイン アラートがアラート マネージャによって生成されます。

  2. [SERVER_AUTOSCALE_IN_TRIGGERED]:自動スケール マネージャにより、プールでのスケールイン アクティビティがトリガされます。

  3. [CONFIG_UPDATE]:プールが更新され、スケールインされたプール メンバーが削除されました。

  4. [AWS_ASG_NOTIFICATION_INSTANCE_REMOVED]:インスタンスが AWS 自動スケーリング グループから削除されたことを示します。

  5. [SERVER_AUTOSCALE_IN_COMPLETE]:このイベントは、スケールイン アクティビティが完了すると、自動スケール マネージャによってトリガされます。これは、スケールイン アクティビティが正常に完了したことを示すものです。

注:

[バースト可能パフォーマンス インスタンス] タイプは、CPU 使用率ベースの自動スケーリングではサポートされていません。[バースト可能パフォーマンス インスタンス] タイプとは、名前が T2 で始まる AWS インスタンス タイプで、T2.microT2.large などがあります。