次の方法で共有


Virtual Machine Scale Sets でローリング アップグレードを構成する

ローリング アップグレード ポリシーの使用は、Virtual Machine Scale Set 内のインスタンスに更新プログラムを適用する最も安全な方法です。 更新をバッチで実行すると、スケール セットで、トラフィックを受け入れるために使用できる設定された数のインスタンスが確実に維持されます。つまり、変更を加えるためにワークロード全体を停止する必要がありません。

ローリング アップグレード ポリシーは、運用ワークロードに最適です。

要件

  • フレキシブル オーケストレーションを使用した Virtual Machine Scale Sets でローリング アップグレード ポリシーを使用する場合は、そのスケール セットでアプリケーション正常性拡張機能を使用して、アプリケーションの正常性を監視する必要もあります。

  • 均一オーケストレーションを使用した Virtual Machine Scale Sets でローリング アップグレード ポリシーを使用する場合は、そのスケール セットで正常性プローブを設定するか、アプリケーション正常性拡張機能を使用して、アプリケーションの正常性を監視する必要もあります。

  • 仮想マシンを仮想マシン スケール セットにアタッチする場合は、アタッチされた仮想マシンにもアプリケーション正常性拡張機能が必要です。 アタッチされた仮想マシンに正常性拡張機能が構成されておらず、アプリケーションの正常性が報告されない場合、ローリング アップグレードが影響を受ける可能性があります。

概念

アップグレード ポリシー モードとローリング アップグレード ポリシー

アップグレード ポリシー モードローリング アップグレード ポリシーは入れ子の関係になっていますが、アップグレード ポリシーの別個の設定です。 つまり、スケール セットでは自動または手動のアップグレード ポリシー モードを使用できますが、関連するローリング アップグレード ポリシーがまだ存在します。 このローリング アップグレード ポリシーは既定の設定を備えていますが、ビジネス ニーズに合わせて構成することもできます。

"properties": {
        "upgradePolicy": {
            "mode": "<Automatic, Manual, Rolling>",
            "rollingUpgradePolicy": {
            "maxBatchInstancePercent": 20,
            "maxUnhealthyInstancePercent": 20,
            "maxUnhealthyUpgradedInstancePercent": 20,
            "pauseTimeBetweenBatches": "PT2S",
            "MaxSurge": "false"
            }
        }
    }

スケール セット モデルの更新では、アップグレード ポリシー モードによって、スケール セット内のインスタンスを最新の状態する方法が決まります。

重要

OS イメージの自動アップグレードまたは拡張機能の自動アップグレードを使用している場合、これらの機能ではアップグレード ポリシー モードは使用されません。. 代わりに、これらの機能はローリング アップグレード ポリシーの構成設定を使用して、ローリング アップグレードを実行します。

ローリング アップグレード ポリシーの構成設定

設定 説明
ローリング アップグレードのバッチ サイズの割合 (%) スケール セット内のインスタンスのうち一度にアップグレードするインスタンスの合計数を指定します。

例: スケール セット内に 10 個のインスタンスがある場合、バッチ サイズを 20% にすると、アップグレード バッチにはそれぞれ 2 つのインスタンスが含まれます。
バッチ間の一時停止時間 (秒) アップグレード バッチが完了してから新しいバッチが開始されるまでのスケール セットの待機時間を指定します。

例: 10 秒の一時停止時間は、バッチが正常に完了した後、スケール セットは 10 秒待ってから次のバッチに進むことを意味します。
異常インスタンスの最大数の割合 (%) ローリング アップグレード前およびローリング アップグレード中に許容される、異常としてマークされたインスタンスの合計数を指定します。

例: 異常インスタンスの最大数の割合 (%) として 20 を指定すると、スケール セット内に 10 個のインスタンスがある場合、異常として報告されるインスタンスがスケール セット全体で 2 つを超えたとき、ローリング アップグレードが停止することを意味します。
異常アップグレードの最大の割合 (%) アップグレード後に許容される、異常としてマークされたインスタンスの合計数を指定します。

例: 異常アップグレードの最大の割合 (%) として 20 を指定すると、スケール セット内に 10 個のインスタンスがあり、アップグレード後に異常として報告されるインスタンスがスケール セット全体で 2 つを超える場合、ローリング アップグレードがキャンセルされることを意味します。
異常インスタンスを優先する 正常と報告されたインスタンスをアップグレードする前に、異常と報告されたインスタンスをアップグレードするようにスケール セットに指示します。

例: ローリング アップグレードの開始時にスケール内の一部のインスタンスが失敗または異常な状態である場合、スケール セットはそれらのインスタンスを最初に更新します。
ゾーン間アップグレードを有効にする バッチを決定するときに、スケール セットが可用性ゾーンの境界を無視できるようにします。 これにより、ローリング アップグレードでは基本的に、スケール セットをゾーン展開ではなくリージョン展開として扱うことができます。
MaxSurge 最新のスケール モデルを使用して新しいインスタンスがバッチで作成されます。 新しいインスタンスのバッチが正常に作成され、正常とマークされると、スケール セットによって、古いスケール セット モデルに一致するインスタンスがバッチで削除されます。 これは、すべてのインスタンスが最新の状態になるまで続けられます。 MaxSurge を使用したローリング アップグレードは、アップグレード イベント中のサービスのアップタイムを向上するのに役立ちます。

詳細については、「MaxSurge のローリング アップグレード」を参照してください。

ローリング アップグレード ポリシーの設定または更新

ローリング アップグレード ポリシーは、スケール セットの作成時に構成できます。 ローリング アップグレード ポリシーでは、アプリケーションの正常性を適切に監視する必要があり、アップグレードの実行方法を決定する特定の設定があるため、最初に手動アップグレード モードを使用してスケール セットを作成することをお勧めします。 アプリケーションの正常性が正常に報告されていることが確認できたら、アップグレード ポリシーを手動からローリングに更新します。

アップグレード ポリシーを変更する仮想マシン スケール セットを選択します。 [設定] の下のメニューで [アップグレード ポリシー] を選択し、ドロップ ダウン メニューから、[ローリング - 一時停止を任意で指定し、アップグレードをバッチでロールアウトする]を選択します。

Azure portal でのアップグレード ポリシーの変更と MaxSurge の有効化のスクリーンショット。

ローリング アップグレードの状態を取得する

Azure portal でローリング アップグレードがトリガーされると、スケール セット リソースの上部に、ローリング アップグレードが進行中であることを通知するバナーが表示されます。 ローリング アップグレードの状態を確認するには、[詳細の表示] をクリックします。 このバナーは、すべての更新が完了すると消えます。

ローリング アップグレードが実行されているときのバナーを示すスクリーンショット。

Azure portal で表示されるローリング アップグレードの詳細を示すスクリーンショット。

さらに、アクティビティ ログでは、ロールアウトされている変更内容を正確に確認できます。 ローリング アップグレード イベントは、[仮想マシン スケール セットの作成または更新] に表示されます。 更新内容を確認するには、[変更履歴] を選択します。

アクティビティ ログに表示されるローリング アップグレードの詳細を示すスクリーンショット。

ローリング アップグレードをキャンセルする

Azure portal を使用して進行中のローリング アップグレードをキャンセルするには、スケール セットの上部にあるバナーで [詳細の表示] を選択します。 ポップアップ ウィンドウに現在の状態が表示され、下部に [アップグレードのキャンセル] オプションが表示されます。

アクティビティ ログに表示されるローリング アップグレードの詳細を示すスクリーンショット。

ローリング アップグレードを再起動する

ローリング アップグレードのキャンセルを決定した場合、またはポリシー違反が原因でアップグレードが停止した場合、スケール セット モデルの別の変更を引き起こすさらなる変更により、新しいローリング アップグレードがトリガーされます。 ローリング アップグレードを再起動する場合は、汎用モデルの更新をトリガーします。 これにより、すべてのインスタンスが最新モデルで更新されているかどうかを確認するようにスケール セットに指示されます。

ローリング アップグレードをキャンセルした後に再開するには、スケール セット内のインスタンスが最新のスケール セット モデルで更新されているかどうかを確認するようにスケール セットをトリガーします。 これを行うには、az vmss update を実行します。

az vmss update \
    --name myScaleSet \
    --resource-group myResourceGroup

次のステップ

Virtual Machine Scale Sets で手動アップグレードを実行する方法について説明します。