スケーリングを実装する

完了

Contoso の場合、仮想マシン スケール セットは、変動するワークロード用に VM を迅速に作成して管理する必要性を解決する可能性があります。 ニーズに合わせて、垂直方向のスケーリングまたは水平方向のスケーリングのいずれかを使用できます。

垂直スケーリングとは

垂直方向のスケーリングとは、"スケール アップ" および "スケール ダウン" とも呼ばれ、使用状況に応じて VM のサイズを増減させることを意味します。 垂直方向のスケーリングを実装すると、既存の VM が再構成される場合があります。 それ以外の場合、VM は容量が多い他の VM と置き換えられます。

既存の VM を削除して新しい VM に置き換えることは、"再プロビジョニング" と呼ばれます。 仮想マシン スケール セット内の VM のサイズを増減する場合、既存の VM のサイズを変更してデータを保持することや、より大きいサイズの新しい VM をデプロイする必要があることがあります。

垂直スケーリングは、次のような場合に便利です。

  • VM 上に構築されたサービスは、(おそらく週末に) 使用率が低いと考えられます。 仮想マシンのサイズを小さくすると、月額料金を削減できます。
  • より大きな要求に応じるために、追加の仮想マシンを作成せずに仮想マシンのサイズを増やす場合。

仮想マシン スケール セットからのメトリック ベース アラートに基づいて、トリガーされる垂直方向のスケーリングをセットアップできます。 アラートがアクティブになると、スケール セットをスケール アップまたはスケール ダウンできる Runbook をアクティブにする Webhook がトリガーされます。 垂直方向のスケーリングは、次のおおまかな手順に従って実行できます。

  1. 実行機能を持つ Azure Automation アカウントを作成します。
  2. サブスクリプションに、仮想マシン スケール セット向けの Azure Automation の垂直スケールの Runbook をインポートします。
  3. Webhook を Runbook に追加します。
  4. Webhook 通知を使用して、仮想マシン スケール セットにアラートを追加します。

垂直スケール セットを作成するには、仮想マシン スケール セットを使用した垂直方向の自動スケーリングに関する記事を参照してください。

水平スケーリングとは

水平方向のスケーリングとは、"スケールアウト" および "スケールイン" とも呼ばれ、VM の数がワークロードに応じて変化します。 Contoso が水平方向のスケーリングを選択した場合、次の表に示すように、2 つの方法でスケーリングを構成できます。

種類 説明
手動でのスケーリング 手動によるスケーリングでは、一定のインスタンス数を維持し、必要に応じて手動のスライダーを使用して調整することにより、需要の増加に対処できます。
カスタム自動スケーリング カスタム自動スケーリングを使用すると、スケジュールに基づいて、またはメトリックを使用して、またはその両方の組み合わせでスケーリングできます。

次の例を考えてみます。

例 1

Contoso 社では、通常金曜日の夜が、会社の Web サイトへのアクセス頻度が最も高い時間です。 反対に、通常水曜日の午前 7 時が、最も需要が少ない時間です。 Contoso は、金曜日の夜にピーク需要を満たすために、50 台の Web サーバーが必要であると判断します。 一方、水曜日 (最も頻度が低い朝) は、要求に対処するために必要なサーバーは 2 台だけです。 Azure の料金はリソースの消費量に基づいて計上されるので、Contoso は不要なサービスを使用しないことが重要です。 Contoso は、数時間のピーク時の需要に応えるために、1 週間 50 台分のサーバーの料金を支払うことが、ナンセンスだと感じています。

この例では、仮想マシン スケール セットを作成した後、Contoso の管理者は、[仮想マシン スケール セットの作成] ウィンドウでスケール セットの [スケーリングしています] タブを選択し、[カスタム自動スケーリング] を選択します。 管理者は、新しいスケーリング条件を追加し、予想される需要に対応する適切なスケジュールを定義します。

例 2

Contoso は新製品を製造しており、発売が近づくにつれ、IT サポートは Web サイトのトラフィックが増加することを予想しています。 問題は、IT サポートには、需要の増加時期やその期間に確信がないことにあります。 いずれにせよ、必要時には需要の増加に対応できるようにしたいと考えています。 この場合、Contoso はここでもカスタム自動スケーリングを検討する必要があります。 この種類の自動スケーリングは、需要が増加したときにインフラストラクチャをスケールアウトし、需要が元に戻ったときにスケール バックします。

この例では、仮想マシン スケール セットを作成した後、Contoso の管理者は、[仮想マシン スケール セットの作成] ウィンドウでスケール セットの [スケーリングしています] タブを選択します。 次に、[カスタム自動スケーリング] を選択します。 管理者は、新しいスケール条件を追加し、メトリックに基づいてスケーリングを定義します。 たとえば、次のように追加できます。(平均) CPU の割合 > 75、数を 1 つ増やす

水平方向のスケーリングを使用して仮想マシン スケール セットを作成する

この手順では、Windows Server VM 用の仮想マシン スケール セットを作成します。 そのためには、次の手順に従います。

  1. Azure portal の検索ボックスに、「スケール セット」と入力します。
  2. 結果の [マーケットプレース] で、 [仮想マシン スケール セット] を選択します。
  3. [Microsoft Azure Virtual Machine Scale Sets] ウィンドウで、[仮想マシン スケール セットの作成] を選択します。
  4. [仮想マシン スケール セットの作成] ウィンドウの [基本] タブで、次の情報を構成します。
    • [サブスクリプション][リソース グループ]
    • 仮想マシン スケール セットの名前
    • [リージョン][可用性ゾーン]
    • 画像: Windows Server 2019 Datacenter
    • [サイズ]
    • 管理者アカウントの詳細
  5. [次へ] を選択して、他のタブに進みます。
  6. [スケーリング] タブで、[初期インスタンス数][スケーリング ポリシー]、および [スケールイン ポリシー] を構成します。
  7. [Review + create](レビュー + 作成) を選択します。
  8. 検証後、[作成] を選択してスケール セットをデプロイします。

[仮想マシン スケール セットの作成] ブレードのスクリーンショット。管理者は、[スケーリング] タブですべての既定の設定を選択しました。

スケーリングの設定をカスタマイズする場合は、[スケーリング] タブの [スケーリング ポリシー] で、[カスタム] を選択します。 新しいページが開いたら、追加の詳細を構成し、[確認と作成] を選択します。

[仮想マシン スケール セットの作成] ブレードのスクリーンショット。管理者が [スケーリング] タブを構成しており、[カスタム] を選択しているため、さらに多くのオプションが使用できるようになります。

スケーリングの構成

仮想マシン スケール セットを作成したら、新しく作成したリソースを開きます。 [仮想マシン スケール セットの作成] ページで、[設定][スケーリング] を選択します。 スケーリングは次のいずれかに構成できます。

  • 手動スケール (既定)
  • カスタム自動スケーリング

自動スケーリングを構成する場合は、[カスタム自動スケーリング] オプションを選択し、[スケール モード] で、仮想マシン ホストの CPU の割合や特定のインスタンス数などのメトリックに基づいて、スケールを設定できます。

選択した仮想マシン スケール セットの [スケーリング] タブのスクリーンショット。管理者はメトリックに基づいてスケールを定義しており、アクションのスケーリングを実行するタイミングを示すルールが表示されます。

スケーリングを自動的にスケジュールする場合は、[カスタム自動スケーリング] オプションを選択し、[スケーリング条件を追加する] を選択します。 その後、追加のメトリックを指定するか、既知の需要の変化に対応するスケジュールを指定できます。

選択した仮想マシン スケール セットの [スケーリング] タブのスクリーンショット。管理者はスケジュールに基づいてスケールを定義しています。

[試用版]

前のユニットで説明したタスクの一部を実行する場合は、次のリンクを使用して、Learn ポータルで説明されている演習にアクセスしてください。

これらの演習を完了するには、無料試用版 Azure サブスクリプションを取得してください。 演習を完了したら、作成したリソース グループを削除します。