【初心者向け】Azure 仮想マシンスケールセット をざっくり理解する

この記事の内容

  • 通常の仮想マシン(VM)と仮想マシンスケールセット(VMSS)の違いをわかりやすく解説します
  • VMSSの自動スケーリング・手動スケーリングの仕組みを紹介します
  • VMSSの作成時に必要な主な設定項目を順番に説明します
  • スポットVM活用やクォータ制限など、実運用での注意点もカバーします
  • VMSSが特に威力を発揮するユースケースを整理します

仮想マシン(VM)と仮想マシンスケールセット(VMSS)の違い

通常の仮想マシン(VM)

通常の仮想マシンは、OSやディスク、CPU、メモリなどのリソースを1台単位で構成して利用します。CPUやメモリのスペックを後から増減することはできますが、台数自体は手動で増やす必要があります。

例えばWebサーバーを増やしたい場合、同じディスクイメージを使って新たな仮想マシンを手作業で立ち上げなければなりません。この作業は手間もかかり、運用負荷も高くなります。

仮想マシンスケールセット(VMSS)

一方、VMSSは「同じ構成の仮想マシンを自動的にスケール(増減)できる」機能を持っています。

  • 自動スケール: CPU使用率などのメトリックを監視し、負荷が高くなれば自動で台数を増やし、負荷が下がれば自動で台数を減らせます
  • 手動スケール: 管理者が任意のタイミングで台数を増減することも可能です

例えばWebサーバーの場合、アクセスが集中したら自動で複数台に増やし、アクセスが落ち着いたら減らすといったことが、人の手を介さずに実現できます。

また、複数台で運用する場合はロードバランサーやアプリケーションゲートウェイと組み合わせて、外部からの通信を各VMに分散させる運用も簡単に構成できます。


VMSSの作成手順と主な設定項目

1. 基本情報の入力

まず、通常の仮想マシン作成と同様に基本情報を入力します。

  • リソースグループ・サブスクリプション: いつも通り選択できます
  • 名前・リージョン: 任意の名前やリージョンを選びます

2. オーケストレーションモードの選択

VMSSには2種類のオーケストレーションモードがあります。

モード特徴
フレキシブルモード複数種類・サイズのVMが混在可能。後発でより柔軟性が高い
均一モードすべて同じ種類・サイズのVMで構成

フレキシブルモードのほうが後発で、より柔軟性が高いのが特徴です。

3. セキュリティ設定

セキュリティタイプとして、標準VMや機密VMなどを選択できます。

4. スケーリングモードの選択

スケーリングは「手動」と「自動」の2種類から選択します。

  • 手動スケーリング: 管理者が台数を都度調整します
  • 自動スケーリング: CPU使用率などの条件を設定し、Azureが自動で台数を調整します

注意: 自動スケーリングを利用する場合、Microsoft.Insights リソースプロバイダーの登録が必要です。登録は追加費用なく行え、サブスクリプションレベルで設定します。

5. 自動スケーリング条件の設定

自動スケーリングを選択した場合、以下の条件を細かく設定できます。

  • インスタンス数の最小/最大設定: 例として「2台から20台まで」といった範囲を指定します
  • スケールアウト条件: 例として「CPU使用率が80%を超えたら1台増やす」
  • スケールイン条件: 例として「CPU使用率が20%未満なら1台減らす」
  • 評価期間: 例として「過去10分間の平均値で判断する」

また、特定期間のスケジュール指定や、トラフィック予測に基づいたスケーリングも可能です。

6. イメージ・サイズ・その他の構成

  • 仮想マシンイメージ: Azureが提供する標準イメージも、自前で作成したカスタムイメージも利用できます
  • サイズ設定: 各VMのスペック(CPU/メモリ)を選択します
  • スポットVM利用: 余剰リソースを安価に利用する「スポットVM」も選択可能です。必ず1台は通常VM、残りはスポットVMといった構成も組めます

7. ディスク・ネットワーク設定

  • OSディスク/データディスク: 通常の仮想マシンと同様に選択します
  • 仮想ネットワーク・サブネット: 接続先ネットワークを指定します
  • ロードバランサー/アプリケーションゲートウェイ: 必要に応じて組み合わせて利用します

8. その他の管理・監視機能

  • スタンバイプール: VMの初期化に時間がかかる場合、あらかじめ待機状態のVMを用意できます(スポットVMは非対応)
  • OS更新ポリシーや自動修復: OSアップデートや障害発生時の自動修復設定も可能です
  • アプリケーションの正常性チェック: WebサーバーであればHTTP応答で正常性を判定するといった設定ができます

実際の動作と運用上の注意点

VMSSを作成すると、構成に応じて複数のVM、ディスク、ネットワークインターフェース等のリソースが自動で作成されます。例えばインスタンス数2で作成すると、2台の仮想マシンが同時に起動します。

台数変更はシンプル

インスタンス数を手動で変更すると、自動でVMが追加・削除されます。例えば1台から6台に変更すれば、差分の5台が自動的に起動します。

クォータ(上限)に注意

Azureサブスクリプションにはリソースの利用上限(クォータ)が設定されています。クォータを超える台数を指定するとエラーが発生します。例えば6台に増やそうとしても、クォータの都合で4台までしか増えないケースもあります。大規模なスケールアウトを計画する場合は、あらかじめクォータの設定を確認・申請しておく必要があります。

スポットVMの活用と注意点

一部のVMをスポットVMにするとコストを節約できますが、Azure側の都合で強制終了されることがある点に注意が必要です。複数台構成のVMSSではスポットVMを部分的に導入しやすく、コスト最適化に役立てられます。

マネージドIDの制約

VMSSでは、ユーザー割り当てのマネージドIDのみ利用可能です。通常の仮想マシンで使えるシステム割り当てマネージドIDは、VMSS上では1台ずつの割り当てはできない点に注意してください。


まとめ

VMSSは、同一構成の仮想マシンを手間なく大量に展開・自動管理できる強力なサービスです。負荷に応じた自動スケーリングや、ロードバランサーとの組み合わせによる高可用性構成が簡単に実現できます。

以下のようなニーズをお持ちの方に特に適しています。

  • 同じ仮想マシンを何台も手動で作成していて、運用負荷を下げたい方
  • アクセス増加時だけ台数を自動で増やし、コストを抑えたい方
  • スポットVMを活用してコストと可用性を柔軟に最適化したい方

クォータ上限やスポットVMの強制終了リスクなど、運用時の注意点もあわせて把握しておくことで、より安心してVMSSを活用できます。ぜひAzure VMSSを取り入れて、効率的なサーバー運用を実現してみてください。