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

Note

均一オーケストレーションを使用した Virtual Machine Scale Sets のローリング アップグレード ポリシーは一般提供 (GA) 段階です。

フレキシブル オーケストレーションを使用した Virtual Machine Scale Sets のローリング アップグレード ポリシーは現在、プレビュー段階です。

フレキシブル オーケストレーションと均一オーケストレーションを使用した Virtual Machine Scale Sets の MaxSurge は現在、プレビュー段階です。

プレビュー版は、追加使用条件に同意することを条件に使用できます。 このような機能の一部の側面は、一般公開 (GA) 前に変更される可能性があります。

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

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

前提条件

フレキシブル オーケストレーションを使用して仮想マシン スケール セットにローリング アップグレード ポリシーを構成するか、フレキシブルまたは均一オーケストレーション デプロイで MaxSurge を有効にする前に、機能プロバイダーをサブスクリプションに登録します。

機能の登録

Register-AzProviderFeature -FeatureName VMSSFlexRollingUpgrade -ProviderNameSpace Microsoft.Compute

Register-AzProviderFeature -FeatureName MaxSurgeRollingUpgrade -ProviderNamespace Microsoft.Compute

要件

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

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

  • MaxSurge でローリング アップグレードを使用する場合、古いスケール セット モデルを使用する VM を置き換えるために最新のスケール セット モデルを使用して新しい VM が作成されます。 この新しく作成された VM には、新しいインスタンス ID と IP アドレスが割り当てられます。 MaxSurge を有効にする前に、この新しい VM に対応できる十分なクォータとアドレス スペースがサブネット内にあることを確認します。 クォータと制限の詳細については、Azure サブスクリプションとサービスの制限に関する記事を参照してください。

概念

設定 説明
アップグレード ポリシー モード Virtual Machine Scale Sets で使用できるアップグレード ポリシー モードは、自動手動ローリングです。
ローリング アップグレードのバッチ サイズの割合 (%) スケール セット内のインスタンスのうち一度にアップグレードするインスタンスの合計数を指定します。

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

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

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

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

異常アップグレードの最大の割合 (%) を指定すると、スケール セット全体にロールアウトする前に、スケール セットで不安定または不適切な更新を検出できるため、これは重要な設定です。
異常インスタンスを優先する 正常としてマークされたインスタンスをアップグレードする前に、異常としてマークされたインスタンスをアップグレードするようにスケール セットに指示します。

例: ローリング アップグレードの開始時にスケール セット内の一部のインスタンスが失敗または異常として表示される場合、スケール セットによってそれらのインスタンスが最初に更新されます。
ゾーン間アップグレードを有効にする バッチを決定するときに、スケール セットが可用性ゾーンの境界を無視できるようにします。
MaxSurge (プレビュー) 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 で手動アップグレードを実行する方法について説明します。