Azure Portal で仮想マシン スケール セットを自動的にスケーリングするAutomatically scale a virtual machine scale set in the Azure portal

スケール セットを作成するときに、実行する VM インスタンスの数を定義します。When you create a scale set, you define the number of VM instances that you wish to run. アプリケーションの需要の変化に応じて、VM インスタンスの数を自動的に増減することができます。As your application demand changes, you can automatically increase or decrease the number of VM instances. 自動スケールにより、顧客のニーズに対応したり、アプリのライフサイクル全体でアプリケーション パフォーマンスの変化に対応したりできます。The ability to autoscale lets you keep up with customer demand or respond to application performance changes throughout the lifecycle of your app.

この記事では、Azure Portal を使用して、スケール セット内の VM インスタンスのパフォーマンスを監視する自動スケール ルールを作成する方法を示します。This article shows you how to create autoscale rules in the Azure portal that monitor the performance of the VM instances in your scale set. これらの自動スケール ルールは、これらのパフォーマンス メトリックに応じて VM インスタンスの数を増減します。These autoscale rules increase or decrease the number of VM instances in response to these performance metrics. これらの手順は、Azure PowerShell または Azure CLI を使用して実行することもできます。You can also complete these steps with Azure PowerShell or the Azure CLI.

前提条件Prerequisites

自動スケール ルールを作成するには、既存の仮想マシン スケール セットが必要です。To create autoscale rules, you need an existing virtual machine scale set. スケール セットは、Azure portalAzure PowerShell、または Azure CLI を使用して作成できます。You can create a scale set with the Azure portal, Azure PowerShell, or Azure CLI.

自動的にスケールアウトするルールの作成Create a rule to automatically scale out

アプリケーションの需要が増加すると、スケール セット内の VM インスタンスに対する負荷が増加します。If your application demand increases, the load on the VM instances in your scale set increases. この増加した負荷が短期的な需要ではなく持続したものである場合は、スケール セット内の VM インスタンスの数を増やす自動スケール ルールを構成できます。If this increased load is consistent, rather than just a brief demand, you can configure autoscale rules to increase the number of VM instances in the scale set. これらの VM インスタンスが作成され、アプリケーションがデプロイされると、スケール セットはロード バランサーを通じてそれらへのトラフィックの分散を開始します。When these VM instances are created and your applications are deployed, the scale set starts to distribute traffic to them through the load balancer. 監視するメトリック (CPU やディスクなど)、指定されたしきい値をアプリケーションの負荷が満たす必要がある期間、およびスケール セットに追加する VM インスタンスの数を制御します。You control what metrics to monitor, such as CPU or disk, how long the application load must meet a given threshold, and how many VM instances to add to the scale set.

  1. Azure Portal を開き、ダッシュボードの左側のメニューから [リソース グループ] を選択します。Open the Azure portal and select Resource groups from the menu on the left-hand side of the dashboard.

  2. スケール セットが含まれるリソース グループを選択し、リソースの一覧からスケール セットを選択します。Select the resource group that contains your scale set, then choose your scale set from the list of resources.

  3. スケール セット ウィンドウの左側のメニューから [スケーリング] を選択します。Choose Scaling from the menu on the left-hand side of the scale set window. [自動スケールの有効化] ボタンを選択します。Select the button to Enable autoscale:

    Azure Portal で自動スケールを有効にする

  4. autoscale などの設定の名前を入力し、ルールを追加するオプションを選択します。Enter a name for your settings, such as autoscale, then select the option to Add a rule.

  5. CPU に対する負荷の平均が 10 分間に 70% を上回った場合にスケール セット内の VM インスタンスの数を増やすルールを作成してみましょう。Let's create a rule that increases the number of VM instances in a scale set when the average CPU load is greater than 70% over a 10-minute period. ルールがトリガーされると、VM インスタンスの数が 20% 増加します。When the rule triggers, the number of VM instances is increased by 20%. VM インスタンスの数が少ないスケール セットでは、 [操作][カウントを増やす量] に設定し、 [インスタンス数]1 または 2 を指定します。In scale sets with a small number of VM instances, you could set the Operation to Increase count by and then specify 1 or 2 for the Instance count. VM インスタンス数が多いスケール セットでは、VM インスタンスを 10% または 20% 増やすとより適切になる場合があります。In scale sets with a large number of VM instances, an increase of 10% or 20% VM instances may be more appropriate.

    ルールの次の設定を指定します。Specify the following settings for your rule:

    パラメーターParameter 説明Explanation Value
    時間の集計Time Aggregation 分析のために収集したメトリックの集計方法を定義します。Defines how the collected metrics should be aggregated for analysis. AverageAverage
    メトリック名Metric Name スケール セット アクションを監視して適用するパフォーマンス メトリック。The performance metric to monitor and apply scale set actions on. Percentage CPUPercentage CPU
    時間グレインの統計Time grain statistic 各時間グレインで収集したメトリックを分析のために集計する方法を定義します。Defines how the collected metrics in each time grain should be aggregated for analysis. AverageAverage
    [オペレーター]Operator しきい値に対してメトリック データを比較するために使用する演算子。Operator used to compare the metric data against the threshold. より大きいGreater than
    しきい値Threshold 自動スケール ルールがアクションをトリガーするパーセンテージ。The percentage that causes the autoscale rule to trigger an action. 7070
    DurationDuration メトリックとしきい値を比較する前に監視する時間。The amount of time monitored before the metric and threshold values are compared. クール ダウン期間は含まれません。Does not include cool down period. 10 分10 minutes
    操作Operation ルールが適用されたときにスケール セットのスケールアップまたはスケールダウンを実行するどうか、およびその増分値を定義します。Defines if the scale set should scale up or down when the rule applies and by what increment. パーセントを増やす量Increase percent by
    インスタンス数Instance count ルールがトリガーされたときに VM インスタンスのパーセンテージを変更する必要があります。The percentage of VM instances should be changed when the rule triggers. 2020
    クール ダウン (分)Cool down (minutes) 自動スケール アクションを有効にする時間を稼ぐため、ルールを再度適用する前に待機する時間。The amount of time to wait before the rule is applied again so that the autoscale actions have time to take effect. 5 分5 minutes

    次の例は、これらの設定に一致する、Azure Portal で作成したルールを示しています。The following examples show a rule created in the Azure portal that matches these settings:

    VM インスタンスの数を増やす自動スケール ルールを作成する

  6. ルールを作成するには、 [追加] を選択します。To create the rule, select Add

自動的にスケールインするルールの作成Create a rule to automatically scale in

夜間や週末は、アプリケーションの需要が低下する可能性があります。On an evening or weekend, your application demand may decrease. この低下した負荷が一定期間持続する場合、スケール セット内の VM インスタンスの数を減らす自動スケール ルールを構成できます。If this decreased load is consistent over a period of time, you can configure autoscale rules to decrease the number of VM instances in the scale set. このスケールイン アクションによって、現在の需要を満たすのに必要な数のインスタンスのみが実行されるようになるため、スケール セットの実行コストが削減されます。This scale-in action reduces the cost to run your scale set as you only run the number of instances required to meet the current demand.

  1. もう一度ルールを追加するオプションを選択します。Choose to Add a rule again.

  2. CPU に対する負荷の平均が 10 分間に 30% を下回った場合にスケール セット内の VM インスタンスの数を減らすルールを作成します。Create a rule that decreases the number of VM instances in a scale set when the average CPU load then drops below 30% over a 10-minute period. ルールがトリガーされると、VM インスタンスの数が 20% 減ります。When the rule triggers, the number of VM instances is decreased by 20%.

    前のルールと同じ方法を使用します。Use the same approach as with the previous rule. ルールの次の設定を調整します。Adjust the following settings for your rule:

    パラメーターParameter 説明Explanation Value
    [オペレーター]Operator しきい値に対してメトリック データを比較するために使用する演算子。Operator used to compare the metric data against the threshold. より小さいLess than
    しきい値Threshold 自動スケール ルールがアクションをトリガーするパーセンテージ。The percentage that causes the autoscale rule to trigger an action. 3030
    操作Operation ルールが適用されたときにスケール セットをスケールアップするかスケールダウンするかと、その差分を定義しますDefines if the scale set should scale up or down when the rule applies and by what increment パーセントを減らす量Decrease percent by
    インスタンス数Instance count ルールがトリガーされたときに VM インスタンスのパーセンテージを変更する必要があります。The percentage of VM instances should be changed when the rule triggers. 2020
  3. ルールを作成するには、 [追加] を選択します。To create the rule, select Add

自動スケールのインスタンス制限の定義Define autoscale instance limits

自動スケール プロファイルでは、VM インスタンスの最小数、最大数、既定の数を定義する必要があります。Your autoscale profile must define a minimum, maximum, and default number of VM instances. これらのインスタンス制限を設定することで、自動スケール ルールが適用されたときにインスタンスの最大数を超えるスケールアウトやインスタンスの最小数を超えるスケールインが行われないようにします。When your autoscale rules are applied, these instance limits make sure that you do not scale out beyond the maximum number of instances, or scale in beyond the minimum of instances.

  1. 次のインスタンス制限を設定します。Set the following instance limits:

    最小値Minimum 最大値Maximum DefaultDefault
    22 1010 22
  2. 自動スケール ルールとインスタンス制限を適用するために、 [保存] を選択します。To apply your autoscale rules and instance limits, select Save.

スケール セット内のインスタンスの数の監視Monitor number of instances in a scale set

VM インスタンスの数と状態を確認するには、スケール セット ウィンドウの左側のメニューから [インスタンス] を選択します。To see the number and status of VM instances, select Instances from the menu on the left-hand side of the scale set window. スケール セットが自動的にスケールアウトされているときは VM インスタンスの状態が [Creating](作成中) と示され、スケール セットが自動的にスケールインされているときは [Deleting](削除中) と示されます。The status indicates if the VM instance is Creating as the scale set automatically scales out, or is Deleting as the scale automatically scales in.

スケール セットの VM インスタンスの一覧を表示する

スケジュールに基づいた自動スケールAutoscale based on a schedule

前の例では、CPU 使用率などの基本的なホスト メトリックを使用して、スケール セットを自動的にスケールインまたはスケールアウトしました。The previous examples automatically scaled a scale set in or out with basic host metrics such as CPU usage. スケジュールに基づく自動スケール ルールを作成することもできます。You can also create autoscale rules based on schedules. これらのスケジュール ベースのルールを使用すると、アプリケーションの需要の増加が予想されるコアタイムなどの前に VM インスタンスの数を自動的にスケールアウトしたり、週末などの需要の低下が見込まれる時間にインスタンスの数を自動的にスケールインしたりできます。These schedule-based rules allow you to automatically scale out the number of VM instances ahead of an anticipated increase in application demand, such as core work hours, and then automatically scale in the number of instances at a time that you anticipate less demand, such as the weekend.

  1. スケール セット ウィンドウの左側のメニューから [スケーリング] を選択します。Choose Scaling from the menu on the left-hand side of the scale set window. 前の例で作成した既存の自動スケール ルールを削除するために、ごみ箱アイコンを選択します。To delete the existing autoscale rules created in the previous examples, choose the trash can icon.

    既存の自動スケール ルールを削除する

  2. [Add a scale condition](スケール条件の追加) を選択します。Choose to Add a scale condition. ルール名の横にある鉛筆アイコンを選択し、Scale out during each work day などの名前を付けます。Select the pencil icon next to rule name, and provide a name such as Scale out during each work day.

    既定の自動スケール ルールの名前を変更する

  3. [特定のインスタンス数にスケーリングする] ラジオ ボタンを選択します。Select the radio button to Scale to a specific instance count.

  4. インスタンス数をスケールアップするために、インスタンス数として 10 を入力します。To scale up the number of instances, enter 10 as the instance count.

  5. [スケジュール] のタイプとして、 [特定の日数を繰り返す] を選択します。Choose Repeat specific days for the Schedule type.

  6. 月曜日から金曜日までのすべての平日を選択します。Select all the work days, Monday through Friday.

  7. 適切なタイムゾーンを選択し、 [開始時刻] として [09:00] を指定します。Choose the appropriate timezone, then specify a Start time of 09:00.

  8. もう一度 [Add a scale condition](スケール条件の追加) を選択します。Choose to Add a scale condition again. このプロセスを繰り返して、Scale in during the evening という名前のスケジュールを作成します。このスケジュールは、3 インスタンスにスケーリングし、すべての平日に繰り返され、18:00 に開始されるように設定します。Repeat the process to create a schedule named Scale in during the evening that scales to 3 instances, repeats every weekday, and starts at 18:00.

  9. スケジュール ベースの自動スケール ルールを適用するために、 [保存] を選択します。To apply your schedule-based autoscale rules, select Save.

    スケジュールに基づいてスケーリングする自動スケール ルールを作成する

自動スケール ルールがどのように適用されているかを確認するには、 [スケーリング] ウィンドウの上部の [実行履歴] を選択します。To see how your autoscale rules are applied, select Run history across the top of the Scaling window. グラフおよびイベントの一覧に、自動スケール ルールがトリガーされたタイミングと、スケール セット内で増減された VM インスタンスの数が表示されます。The graph and events list shows when the autoscale rules trigger and the number of VM instances in your scale set increases or decreases.

次のステップNext steps

この記事では、自動スケール ルールを使用して、水平方向にスケーリングし、スケール セット内の VM インスタンスの "" を増減する方法について説明しました。In this article, you learned how to use autoscale rules to scale horizontally and increase or decrease the number of VM instances in your scale set. 垂直方向にスケーリングして、VM インスタンスの "サイズ" を増減することもできます。You can also scale vertically to increase or decrease the VM instance size. 詳細については、仮想マシン スケール セットでの垂直方向の自動スケールに関するページを参照してください。For more information, see Vertical autoscale with Virtual Machine Scale sets.

VM インスタンスの管理方法については、Azure PowerShell を使用した仮想マシン スケール セットの管理に関するページを参照してください。For information on how to manage your VM instances, see Manage virtual machine scale sets with Azure PowerShell.

自動スケール ルールをトリガーするときにアラートを生成する方法について詳しくは、「Azure Monitor で自動スケール操作を使用して電子メールと webhook アラート通知を送信する」をご覧ください。To learn how to generate alerts when your autoscale rules trigger, see Use autoscale actions to send email and webhook alert notifications in Azure Monitor. Azure Monitor で監査ログを使用して電子メールと webhook アラート通知を送信することもできます。You can also Use audit logs to send email and webhook alert notifications in Azure Monitor.