次の方法で共有


Virtual Machine Scale Sets の MaxSurge でのローリング アップグレード (プレビュー)

Note

Virtual Machine Scale Sets の MaxSurge でのローリング アップグレードは現在、プレビュー段階です。

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

MaxSurge でのローリング アップグレードは、アップグレード イベント中のサービスのアップタイムを向上するのに役立ちます。 MaxSurge を有効にすると、最新のスケール モデルを使用して新しいインスタンスがバッチで作成されます。 新しいインスタンスが完全に作成され、正常になると、トラフィックの取得が開始されます。 この後、スケール セットによって、古いスケール セット モデルと一致するインスタンスがバッチで削除されます。 このプロセスは、すべてのインスタンスが最新の状態になるまで続けられます。

前提条件

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

機能の登録

Register-AzProviderFeature -FeatureName VMSSFlexRollingUpgrade -ProviderNameSpace Microsoft.Compute

Register-AzProviderFeature -FeatureName ImageReferenceUpgradeForVmoVMs -ProviderNamespace Microsoft.Compute

Register-AzProviderFeature -FeatureName MaxSurgeRollingUpgrade -ProviderNamespace Microsoft.Compute

概念

Note

OS イメージの自動アップグレード拡張機能の自動アップグレードでは、ローリング アップグレード ポリシーが自動的に継承され、それがアップグレードを実行するために使用されます。 ローリング アップグレード ポリシーで MaxSurge が有効になっている場合は、MaxSurge アップグレード方法を使用して、OS イメージの自動アップグレードと拡張機能の自動アップグレードも適用されます。

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

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

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

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

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

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

例: MaxSurge アップグレードの開始時にスケール セット内の一部のインスタンスが失敗したか異常である場合、スケール セットによってそれらのインスタンスが最初に置き換えられます。
ゾーン間アップグレードを有効にする バッチを決定するときに、スケール セットが可用性ゾーンの境界を無視できるようにします。 つまり、バッチ サイズとスケール セットのサイズに応じて、バッチに複数の可用性ゾーン内のインスタンスが同時に含まれる可能性があります。

考慮事項

  • MaxSurge でローリング アップグレードを使う場合、古いスケール セット モデルを使用する仮想マシンを置き換えるために最新のスケール セット モデルを使って新しい仮想マシンが作成されます。 これらの新しく作成された仮想マシンは、コア クォータ全体にカウントされます。 さらに、これらの新しい仮想マシンには新しい IP アドレスがあり、既存のサブネットに配置されます。 また、これらの新しく作成された仮想マシンをデプロイするのに十分な IP アドレス クォータとサブネット領域が必要です。
  • MaxSurge ローリング アップグレード プロセス中に、Azure によって、新しい各バッチの前にクォータ チェックが実行されます。 そのクォータ チェックが失敗した場合、アップグレードは既定で MaxSurge 以外のアップグレードに設定され、インプレース アップグレードが行われます。
  • 均一オーケストレーションを使用する Virtual Machine Scale Sets 上の MaxSurge でローリング アップグレードを使うと、古いモデルを含む仮想マシンを置き換えるために、更新されたモデルで作成された新しい仮想マシンが、以前の仮想マシンとは異なる更新ドメインに配置される可能性があります。

MaxSurge とインプレース アップグレード

MaxSurge アップグレード

MaxSurge でのローリング アップグレードでは、古いモデルで実行されているインスタンスを置き換えるために、最新のスケール セット モデルで新しいインスタンスが作成されます。 新しいインスタンスを作成することで、アップグレード プロセス中にスケール セットの容量が設定されたインスタンス数を下回らないようにすることができます。

MaxSurge でローリング アップグレードを実行するプロセスを示す図。

インプレース アップグレード

MaxSurge を無効にしたローリング アップグレードでは、インプレース アップグレードが実行されます。 アップグレードの種類によっては、アップグレード プロセス中に仮想マシンをトラフィックに使用できない場合があります。 これにより、アップグレード プロセス中にスケール セットの容量が減る可能性がありますが、追加のクォータは消費されません。

MaxSurge を使用せずにローリング アップグレードを実行するプロセスを示す図。

MaxSurge でのローリング アップグレードを構成する

MaxSurge の有効化または無効化は、スケール セットのプロビジョニング中またはプロビジョニング後に行うことができます。 ローリング アップグレード ポリシーを使用する場合、スケール セットでは、アプリケーション正常性拡張機能または正常性プローブも使用する必要があります。 手動アップグレード ポリシーを使用してスケール セットを作成し、アプリケーションの正常性が正しく報告されていることを正常に確認した後に、ポリシーをローリングに更新することをお勧めします。

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

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

次のステップ

Virtual Machine Scale Sets のアップグレードの詳細については、「ローリング アップグレード ポリシーを構成する」を参照してください。