Azure VMスケールセット 自動修復機能の設定手順

このブログシリーズ 「クラウドセキュリティ 実践集」 では、一般的なセキュリティ課題を取り上げ、「なぜ危険なのか?」 というリスクの解説から、 「どうやって直すのか?」 という具体的な修復手順(コンソール、Azure CLI、Terraformなど)まで、分かりやすく解説します。

この記事では、Azure VM スケールセット 自動修復機能の有効化について、リスクと対策を解説します。

ポリシーの説明

Azure Virtual Machine Scale Sets(VMSS)の自動修復機能は、異常なインスタンスを自動的に検出し、正常なインスタンスに置き換える重要な高可用性機能です。この機能により、アプリケーションの健全性を継続的に監視し、問題のあるインスタンスを自動的に修復することで、サービスの可用性と信頼性を大幅に向上させます。

自動修復機能は以下の2つの方法でヘルス監視を実現できます:

  • Load Balancerヘルスプローブ: ネットワークレベルでのヘルスチェック(推奨)
  • Application Health拡張機能: VMエージェントを通じた内部ヘルスチェック

修復方法

コンソールでの修復手順

Azure コンソールを使用して、VMスケールセットの自動修復を有効化します。

1. 既存のスケールセットに自動修復を有効化

  1. Azure Portalにログインし、対象のVMスケールセットを選択
  2. 左メニューから「正常性と修復」を選択
  3. 「自動修復」セクションで以下を設定:
    • 自動修復を有効にする: オン
    • 猶予期間: PT30M(30分を推奨、アプリケーションの起動時間に応じて調整)
    猶予期間の設定ガイドライン:
    • 単純なWebアプリケーション: PT10M~PT20M
    • データベース接続を含むアプリケーション: PT20M~PT30M
    • 複雑なエンタープライズアプリケーション: PT30M~PT90M

2. ヘルスプローブの設定(Load Balancer使用の場合)

  1. スケールセットに関連付けられているLoad Balancerを開く
  2. 「正常性プローブ」を選択し、「+ 追加」をクリック
  3. プローブの設定:
  • 名前: 例「health-probe-http」
  • プロトコル: HTTP/HTTPS/TCP(アプリケーションに応じて選択)
  • ポート: アプリケーションのポート(例:80、443)
  • パス: /health(HTTPプロトコルの場合のみ)
  • 間隔: 5秒(最小値)
  • 異常しきい値: 2(2回連続失敗で異常と判定)
  1. 「追加」をクリック

注意: TCPプローブはポートの開放状態のみを確認します。アプリケーションレベルの健全性を確認するにはHTTP/HTTPSプローブを推奨します。

3. スケールセットへのヘルスプローブの関連付け

  1. VMスケールセットの「ネットワーク」設定に移動
  2. 「ロード バランサー」タブを選択
  3. 作成したヘルスプローブを選択
  4. 「保存」をクリック

4. Application Gateway使用の場合の設定

重要: Application Gatewayのヘルスプローブは、VMSSの自動修復機能と直接連携できません。以下の代替方法を使用してください:

推奨方法 – Application Health拡張機能の使用:

  1. VMスケールセットの「拡張機能」セクションを開く
  2. 「+ 追加」をクリック
  3. 「ApplicationHealthLinux」または「ApplicationHealthWindows」を選択
  4. 以下の設定を行う:
    • プロトコル: http/https/tcp
    • ポート: アプリケーションポート
    • パス: /health(HTTP/HTTPSの場合)
    • 間隔: 5秒
    • プローブ数: 1

代替方法 – 内部Load Balancerの併用:

  1. 内部Load Balancerを作成(ヘルスチェック専用)
  2. Application Gatewayをインバウンドトラフィック用に使用
  3. 内部Load Balancerのヘルスプローブを自動修復に使用

5. 自動修復ポリシーの確認と調整

  1. VMスケールセットの「正常性と修復」に戻る
  2. 自動修復ポリシーの詳細設定:
    • 修復アクション: 「再イメージ化」(インスタンスを初期状態に戻す)
  3. 「保存」をクリック

修復アクションの選択基準:

  • Reimage: ステートレスアプリケーション向け(推奨)
  • Restart: 一時的な問題の解決に有効
  • Replace: データの完全なリセットが必要な場合

最後に

この記事では、Azure VMスケールセット自動修復機能の有効化について、リスクと対策を解説しました。

自動修復機能は、VMスケールセットの高可用性を実現する上で不可欠な機能です。適切に設定されたヘルスプローブ(Load BalancerまたはApplication Health拡張機能)と組み合わせることで、インスタンスレベルの障害から自動的に回復し、サービスの継続性を確保できます。これにより、運用負荷を削減しながら、ビジネスクリティカルなアプリケーションの信頼性を大幅に向上させることができます。

特に重要なポイント:

  • 適切な猶予期間の設定(アプリケーション起動時間の考慮)
  • ヘルスエンドポイントの適切な実装
  • Application Gateway使用時は Application Health拡張機能を活用
  • ゾーン冗長性との組み合わせで99.99%の可用性を実現

この問題の検出は弊社が提供するSecurifyのCSPM機能で簡単に検出及び管理する事が可能です。 運用が非常に楽に出来る製品になっていますので、ぜひ興味がある方はお問い合わせお待ちしております。 最後までお読みいただきありがとうございました。この記事が皆さんの役に立てば幸いです。

参考情報

この記事をシェアする

クラウドセキュリティ対策実践集一覧へ戻る

貴社の利用状況に合わせた見積もりを作成します。

料金プランを詳しく見る