メイン コンテンツにスキップ

 Subscribe

先日、マイクロソフトは、Azure Virtual Machine Scale Sets の 3 つの機能の一般提供開始を発表しました。インスタンスの保護、カスタム スケールイン ポリシー、および終了通知の 3 機能を使用することで、スケールイン時の仮想マシン インスタンスの管理を簡素化できます。

Azure Virtual Machine Scale Sets は、多くの仮想マシン (VM) インスタンスをグループでまとめて展開し、簡単に管理する手段です。スケール セットの自動スケール ルールの構成も可能です。これにより、ワークロードの需要に基づいて、インスタンス数を動的に増減できます。

これらの新機能で、スケールイン時のインスタンスの削除の正常な処理をより細かく制御が可能になり、アプリケーションやサービスのユーザー エクスペリエンスが向上します。これらの新機能は、パブリック クラウドとソブリン クラウド向けにすべての Azure リージョンで提供されます。Azure Virtual Machine Scale Sets でのご利用には追加料金はかかりません。

それでは、これらの機能がスケールイン時のより細かい制御を実現する仕組みについて見ていきましょう。

インスタンスの保護 - 1 つまたは複数のインスタンスをスケールインから保護

スケールイン時に 1 つまたは複数のインスタンスを削除したくない場合、スケール セットの当該インスタンスにスケールインから保護ポリシーを適用できます。これは、スケール セットの他のインスタンスを動的にスケールイン/スケールアウトしながら、特殊なインスタンスを少し保持したい場合に便利です。たとえば、これらのインスタンスがスケール セットの他のインスタンスと異なる特殊なタスクを実行しており、当該インスタンスをスケール セットから削除したくないといったケースが考えられます。インスタンスの保護は、お客様のワークロードでこのようなシナリオを実現する機能を提供します。

1 つまたは複数のインスタンスをスケール セットのアクションから保護

インスタンスの保護では、再イメージ化やアップグレードなどの他のスケール セットの操作時に 1 つまたは複数のインスタンスを変更されないよう保護することもできます。これを行うには、スケール セットのアクションから保護ポリシーを特定のインスタンスに適用します。このポリシーをインスタンスに適用すると、スケールインからも自動的に保護されます。

カスタム スケールイン ポリシー - スケールイン時のインスタンスの削除の順序を構成

スケールイン時にスケール セットから 1 つまたは複数のインスタンスを削除する必要がある場合、可用性ゾーンおよび障害ドメイン (該当する場合) 間でスケール セットのバランスが維持されるように削除されるインスタンスが選択されます。カスタム スケールイン ポリシーを使用することで、スケールイン時のインスタンスの削除の選択順序をより細かく指定および制御できます。OldestVM スケールイン ポリシーを使用すると、最初に作成されたインスタンスが最初に削除され、NewestVM スケールイン ポリシーを使用すると、最後に作成されたインスタンスが最初に削除されます。どちらのシナリオでも、可用性ゾーン間のバランスが優先されます。いずれかの保護ポリシーをインスタンスに適用している場合、そのインスタンスはスケールイン時の削除対象となりません。

以下の図は、可用性ゾーン数が 3 および初期インスタンス数が 9 のスケール セットのスケールインの順序例を示しています。これらの例は、インスタンス ID 値が最小の VM が最初に作成され、インスタンス ID 値が最大の VM が最後に作成されていることを前提としています。点線の正方形に囲まれた VM インスタンスは、いずれかのインスタンスの保護ポリシーで保護されていることを示しています。×は、VM インスタンスがスケールイン時の削除の選択対象になることを示しています。

NewestVM スケールイン ポリシーの例最後に作成された ID 値が 9 の VM がスケールイン時に最初に削除されます。次に、ID 値が 7 の VM がスケールイン時に削除されます。ID 値が 8 の VM は保護されているためです。

 

OldestVM スケールイン ポリシーの例最初に作成された ID 値が 1 の VM がスケールイン時に最初に削除されます。次に、ID 値が 3 の VM がスケールイン時に削除されます。ID 値が 2 の VM は保護されているためです。

終了通知 - インスタンスの削除に関する VM 内の通知の受信

インスタンスがスケール セットから削除されそうな場合、インスタンスで特定のカスタム アクションを実行したい時があります。その例として、ロード バランサーからの登録解除やログのコピーなどがあります。たとえば、スケールインによってプラットフォームがインスタンスの削除をトリガーした際、これらのアクションをプログラムで実行して、アプリケーションの中断を防いだり、有用なログを適切に保持したりする必要があります。終了通知機能を使用して、もうすぐインスタンスが削除されることを知らせる VM 内の通知を受信できるようインスタンスを構成することで、削除操作を 5 ~ 15 分中断させ、インスタンスでこれらのアクションを実行できます。

終了通知は、Azure Metadata Service の スケジュールされたイベント を通して送信され、VM インスタンス内からアクセス可能な REST エンドポイントを使用して受信できます。また、特定のアクションまたはスクリプトを、インスタンスが構成済みのエンドポイントで終了通知を受信した際に実行されるよう構成が可能です。これらのアクションの完了後、事前構成済みの中断タイムアウトの終了を待ちたくない場合は、メタデータ サービスに対する POST 呼び出しによって削除を承認できます。これにより、インスタンスの削除を続行できます。

利用開始

お客様は、REST API、Azure CLI、Azure PowerShell、または Azure portal を使用してスケール セットでこれらの機能を有効にできます。詳しい説明については、以下のドキュメント ページを参照してください。

  • Explore

     

    Let us know what you think of Azure and what you would like to see in the future.

     

    Provide feedback

  • Build your cloud computing and Azure skills with free courses by Microsoft Learn.

     

    Explore Azure learning


Join the conversation