Virtual Machine Scale Sets の MaxSurge でのローリング アップグレード
MaxSurge でのローリング アップグレードは、アップグレード イベント中のサービスのアップタイムを向上するのに役立ちます。 MaxSurge を有効にすると、最新のスケール モデルを使用して新しいインスタンスがバッチで作成されます。 新しいインスタンスが完全に作成され、正常な状態になると、スケール セットによって、古いスケール セット モデルと一致するインスタンスがバッチで削除されます。 このプロセスは、すべてのインスタンスが最新の状態になるまで続けられます。
Note
MaxSurge アップグレードを構成するには、次の機能フラグを登録します。
Register-AzProviderFeature -FeatureName MaxSurgeRollingUpgrade -ProviderNamespace Microsoft.Compute
アップグレード中にイメージ参照バージョンを更新するには、次の機能フラグを登録します。
Register-AzProviderFeature -FeatureName ImageReferenceUpgradeForVmoVMs -ProviderNamespace Microsoft.Compute
概念
設定 | 説明 |
---|---|
ローリング アップグレードのバッチ サイズの割合 (%) | スケール セット内のインスタンスのうち一度にアップグレードするインスタンスの合計数を指定します。 例: スケール セット内に 10 個のインスタンスがある場合、バッチ サイズを 20% にすると、アップグレード バッチにはそれぞれ 2 つのインスタンスが含まれます。 |
バッチ間の一時停止時間 (秒) | アップグレード バッチが完了してから新しいバッチが開始されるまでのスケール セットの待機時間を指定します。 例: 10 秒の一時停止時間は、バッチが正常に完了した後、スケール セットは 10 秒待ってから次のバッチに進むことを意味します。 |
異常インスタンスの最大数の割合 (%) | ローリング アップグレード前およびローリング アップグレード中に許容される、異常としてマークされたインスタンスの合計数を指定します。 例: 異常インスタンスの最大数の割合 (%) として 20 を指定すると、スケール セット内に 10 個のインスタンスがある場合、異常として報告されるインスタンスがスケール セット全体で 2 つを超えたとき、ローリング アップグレードが停止することを意味します。 |
異常アップグレードの最大の割合 (%) | アップグレード後に許容される、異常としてマークされたインスタンスの合計数を指定します。 例: 異常アップグレードの最大の割合 (%) として 20 を指定すると、スケール セット内に 10 個のインスタンスがあり、アップグレード後に異常として報告されるインスタンスがスケール セット全体で 2 つを超える場合、ローリング アップグレードがキャンセルされることを意味します。 |
異常インスタンスを優先する | 正常と報告されたインスタンスをアップグレードする前に、異常と報告されたインスタンスをアップグレードするようにスケール セットに指示します。 例: ローリング アップグレードの開始時にスケール内の一部のインスタンスが失敗または異常な状態である場合、スケール セットはそれらのインスタンスを最初に更新します。 |
ゾーン間アップグレードを有効にする | バッチを決定するときに、スケール セットが可用性ゾーンの境界を無視できるようにします。 これにより、ローリング アップグレードでは基本的に、スケール セットをゾーン展開ではなくリージョン展開として扱うことができます。 |
考慮事項
- OS イメージの自動アップグレードと拡張機能の自動アップグレードでは、ローリング アップグレード ポリシーが自動的に継承され、それがアップグレードを実行するために使用されます。 均一オーケストレーションを使用する Virtual Machine Scale Sets で、MaxSurge が
true
に設定されている場合は、MaxSurge のアップグレード メソッドを使用して、OS イメージの自動アップグレードと拡張機能の自動アップグレードも適用されます。 フレキシブル オーケストレーションを使用する Virtual Machine Scale Sets では、OS イメージの自動アップグレードと MaxSurge の同時有効化はまだサポートされていません。 - MaxSurge でローリング アップグレードを使う場合、古いスケール セット モデルを使用する仮想マシンを置き換えるために最新のスケール セット モデルを使って新しい仮想マシンが作成されます。 これらの新しく作成された仮想マシンは、コア クォータ全体にカウントされます。 さらに、これらの新しい仮想マシンには新しい IP アドレスがあり、既存のサブネットに配置されます。 また、これらの新しく作成された仮想マシンをデプロイするのに十分な IP アドレス クォータとサブネット領域が必要です。
- MaxSurge ローリング アップグレード プロセス中に、Azure によって、新しい各バッチの前にクォータ チェックが実行されます。 そのクォータ チェックが失敗した場合、アップグレードは既定で MaxSurge 以外のアップグレードに設定され、インプレース アップグレードが行われます。
- 均一オーケストレーションを使用する Virtual Machine Scale Sets 上の MaxSurge でローリング アップグレードを使うと、古いモデルを含む仮想マシンを置き換えるために、更新されたモデルで作成された新しい仮想マシンが、以前の仮想マシンとは異なる更新ドメインに配置される可能性があります。
- 仮想マシンを仮想マシン スケール セットにアタッチする場合は、アタッチされた仮想マシンにもアプリケーション正常性拡張機能が必要です。 アタッチされた仮想マシンに正常性拡張機能が構成されておらず、アプリケーションの正常性が報告されない場合、ローリング アップグレードが影響を受ける可能性があります。
MaxSurge とインプレース アップグレード
MaxSurge アップグレード
MaxSurge でのローリング アップグレードでは、古いモデルで実行されているインスタンスを置き換えるために、最新のスケール セット モデルで新しいインスタンスが作成されます。 新しいインスタンスを作成することで、アップグレード プロセス中にスケール セットの容量が設定されたインスタンス数を下回らないようにすることができます。
インプレース アップグレード
MaxSurge を無効にしたローリング アップグレードでは、インプレース アップグレードが実行されます。 アップグレードの種類によっては、アップグレード プロセス中に仮想マシンをトラフィックに使用できない場合があります。 これにより、アップグレード プロセス中にスケール セットの容量が減る可能性がありますが、追加のクォータは消費されません。
MaxSurge でのローリング アップグレードを構成する
MaxSurge の有効化または無効化は、スケール セットのプロビジョニング中またはプロビジョニング後に行うことができます。 ローリング アップグレード ポリシーを使用する場合、スケール セットでは、アプリケーション正常性拡張機能または正常性プローブも使用する必要があります。 手動アップグレード ポリシーを使用してスケール セットを作成し、アプリケーションの正常性が正しく報告されていることを正常に確認した後に、ポリシーをローリングに更新することをお勧めします。
アップグレード ポリシーを変更する仮想マシン スケール セットを選択します。 [設定] の下のメニューで [アップグレード ポリシー] を選択し、ドロップ ダウン メニューから、[ローリング - 一時停止を任意で指定し、アップグレードをバッチでロールアウトする]を選択します。
次のステップ
Virtual Machine Scale Sets のアップグレードの詳細については、「ローリング アップグレード ポリシーを構成する」を参照してください。