仮想マシン スケール セットでのゾーン分散

ゾーンにまたがるスケール セットは、仮想マシン (VM) インスタンスを複数の可用性ゾーンに分散し、ゾーン分散を使用して、選択したゾーン間でインスタンスを均等に分散しようとします。 この記事では、ゾーン スパン スケール セットでゾーン分散を使用する方法について説明します。これには、バランスの取れたスケール セットと不均衡なスケール セットの違い、分散モード、スケール セットの再調整方法が含まれます。

均等なスケールセットと不均等なスケールセット

各ゾーンに同じ数の VM ± 1 VM がある場合、スケール セットは バランスが取れている と見なされます。 1 の偏差を使用すると、スケール セットが使用するゾーンの数の倍数だけでなく、任意の数のインスタンスにスケーリングできます。

スケール セットのバランスが取れているかどうかを判断するときに、これらの条件のいずれかを満たす VM は引き続きカウントされます。

  • VM は正常に作成されましたが、VM 上の拡張機能はデプロイに失敗します。
  • VM の割り当てが解除されます。

次に示すのは、3 つのゾーンを使用するように構成されたゾーンにまたがるスケール セットのゾーン分散を仮想マシン スケール セットが決定する方法の例です。

  • 例 1: ゾーン 1 に 2 つの VM、ゾーン 2 に 2 つの VM、ゾーン 3 の 2 つの VM を持つスケール セットは 、バランスが取れていると見なされます。 各ゾーンには、まったく同じ数のインスタンスがあります。

    バランスの取れたスケール セットを示す図。各ゾーンに 2 つのインスタンスがあります。

  • 例 2: ゾーン 1 に 2 つの VM、ゾーン 2 に 3 つの VM、ゾーン 3 の 3 つの VM を持つスケール セットは 、バランスが取れていると見なされます。 VM の数が異なるゾーンは 1 つだけで、その数も他のゾーンより 1 つ少ないだけです。

    ゾーン 1 に 2 つのインスタンス、ゾーン 2 とゾーン 3 に 3 つのインスタンスを含む、バランスの取れたスケール セットを示す図。

  • 例 3: ゾーン 1 に 1 つの VM、ゾーン 2 に 3 つの VM、ゾーン 3 の 3 つの VM を持つスケール セットは不均衡と見な されます。 ゾーン 1 の VM 数はゾーン 2 と 3 よりも 2 少なく、±1 VM の許可されたしきい値を超えています。

    ゾーン 1 に 1 つのインスタンス、ゾーン 2 とゾーン 3 に 3 つのインスタンスを含む、不均衡なスケール セットを示す図。

  • 例 4: ゾーン 1 の VM が 2 つ、ゾーン 2 の VM が 2 つ、ゾーン 3 に 2 つの VM が含まれるスケール セットは、ゾーン 1 ですべての拡張機能が失敗し、ゾーン 2 ですべての拡張機能が成功し、ゾーン 3 内の VM が割り当て解除された場合でも、 バランスが取れていると見なされます。

    一部のインスタンスが失敗し、一部が割り当て解除された場合でも、バランスの取れたスケール セットを示す図。

ゾーンバランスモード

ゾーン バランス モードを設定するには、スケール セットで複数のゾーンを使用する必要があります。 ゾーンを使用しないスケール セットまたは 1 つのゾーンのみを使用するスケール セットでは、分散は必要ないため、分散モードはありません。

複数のゾーンを使用するスケール セットでは、次の 2 つのゾーン バランス モードから選択できます。

  • ベスト エフォート ゾーン分散 (既定モード): スケール セットは、スケーリング操作中にゾーン間のバランスを維持することを目的としていますが、バランスが維持されるとは限りません。

    1 つのゾーンが使用できない場合、スケール セットは引き続き使用可能なゾーンへのスケールアウトを試み、一時的な不均衡を許容します。 ただし、この不均衡は、単一のゾーンが使用できない場合にのみ許可されます。 ゾーンが使用可能になると、後続のスケール操作中に、スケール セットは次の方法でバランスを確保しようとします。

    • スケールイン時に、過剰にプロビジョニングされたゾーンから VM を削除する
    • スケールアウト時に VM をプロビジョニング不足のゾーンに追加する

    2 つ以上のゾーンが使用できない場合、スケール セットはスケーリング操作を続行できず、スケーリング操作はブロックされます。

  • 厳密なゾーン分散: スケール セットは常にバランスを取る必要があります。 1 つ以上のゾーンがダウンしている場合でも、不均衡なスケール セットになるスケーリング操作はブロックされます。

スケール セットのバランスを手動で調整する方法

既存のスケール セットに可用性ゾーンを追加しても、既存の VM は変更されず、移動や再配布は行われません。 さらに、ゾーンを追加しても、再調整操作はトリガーされません。 ゾーンの分散は、スケール セットに新しいインスタンスが追加された場合にのみ、スケールアウト操作中に行われます。 ゾーンバランスは、既存のインスタンスを置き換えるわけではありません。

次の一連の操作を実行して、スケール セットを手動で再調整できます。

  1. スケールアウトします。スケール セットの容量を更新して、インスタンスをさらに追加します。 新しい容量は、元の容量 と 新しいインスタンスの数に設定する必要があります。

    スケール セットは、スケール セットで構成されたゾーンに新しいインスタンスの作成を試みます。

  2. スケール イン。 新しいインスタンスの準備ができたら、スケール セットをスケールインして、古いインスタンスを削除します。 このプロセスでは、スケール セットはバランスの取れた状態になります。

    特定のインスタンスを手動で削除するか、スケール セットの容量を減らすことでスケールインできます。 スケール セットの容量を減らしてスケール インする場合、プラットフォームでは常に非ゾーン インスタンスの削除が優先され、スケール セットの スケールイン ポリシーに従います。

    注

    フレキシブル オーケストレーション モードを使用し、個々の VM をアタッチ、デタッチ、または削除する場合は、VM が存在するゾーンを確認する必要があります。 VM がすべて 1 つのゾーンにある場合、スケール セットはそのゾーンの停止に対する回復性を持っていません。

さまざまな状況でスケール セットを手動で再調整する方法の例を次に示します。

5 つのインスタンスを持つ非ゾーン スケール セットがあるとします。

5 つの非ゾーン インスタンスを含むスケール セットを示す図。

3 つのゾーンにまたがるゾーン スパン スケール セットにアップグレードします。 スケール セットのゾーン構成を更新した直後に、既存のインスタンスは非ゾーン状態のままになります。

  1. スケールアウト: スケール セットには現在、5 つの非ゾーン インスタンスがあり、5 つのインスタンスが 3 つのゾーンに分散するようにスケールアウトする必要があるため、容量を 10 (5 + 5) に設定する必要があります。 新しいインスタンスはゾーン間で作成され、古いインスタンスは次の場所に残ります。

    ゾーン 1 に 2 つのインスタンス、ゾーン 2 に 2 つのインスタンス、ゾーン 3 に 1 つのインスタンス、および 5 つの非ゾーン インスタンスを含むスケール セットを示す図。

  2. スケールイン: 容量を 5 に減らします。 Azure では非ゾーン インスタンスが削除され、5 つのインスタンスがゾーン全体に分散されます。

    ゾーン 1 に 2 つのインスタンス、ゾーン 2 に 2 つのインスタンス、ゾーン 3 に 1 つのインスタンスを含むスケール セットを示す図。

次のステップ

仮想マシン スケール セットの自動ゾーン バランスについて説明します。