Azure VMはOSから停止するべき?Azure Portalから停止するべき?

Azure VMを停止する方法には、大きく分けて次の2つがあります。

  • WindowsやLinuxなど、OS上からシャットダウンする
  • Azure Portalから「停止」を実行する

一見すると同じように見えますが、Azure上では扱いが異なります。

結論

通常のAzure VMでは、Azure Portalから停止する運用に統一しても基本的に問題ありません。

大きな違いは、VMのコンピュート料金が停止するかどうかです。

操作OSコンピュート料金Azureホスト上の割り当て
OSからシャットダウン停止継続維持
Azure Portalから停止停止停止解除

Microsoftの公式ドキュメントでも、「停止済み(Stopped)」のVMではコンピュート料金が発生し、「割り当て解除済み(Deallocated)」ではコンピュート料金が発生しないことが説明されています。

公式ドキュメント:
Azure VMの電源状態と課金 – Microsoft Learn

OSからシャットダウンした場合

Windowsの「シャットダウン」やLinuxのshutdownコマンドなど、OS上から停止した場合、OS自体は停止します。

ただし、Azure側ではVMがAzureホストに割り当てられた状態のままとなるため、VMのコンピュート料金は継続して発生します。

つまり、

「OSは止まっているが、Azure上ではVMのコンピュートリソースを確保したまま」

という状態です。

Azure Portalから停止した場合

Azure PortalからVMの「停止」を実行すると、単純にVMの電源を強制的に切るわけではありません。

大まかな流れは次のとおりです。

  1. Azure側からVM内のOSへシャットダウンを要求する
  2. OSがシャットダウン処理を行う
  3. OS停止後、Azureホスト上のVM割り当てを解除する
  4. VMのコンピュート料金が停止する

そのため、OS上からシャットダウンした場合とAzure Portalから停止した場合で、OSとしてのシャットダウン処理に基本的な違いはありません。

では、どちらを使うべきか

通常のAzure VMであれば、Azure Portalから停止する運用に統一して問題ありません。

Azure Portalから停止すれば、

  • OSをシャットダウンできる
  • Azureホスト上のVM割り当ても解除される
  • VMのコンピュート料金も停止する

ためです。

特に「VMをしばらく利用しない」という場合は、OSからシャットダウンするだけではなく、Azure側で「割り当て解除済み」の状態になっていることを確認することが重要です。

なお、VMを割り当て解除しても、マネージドディスクなどの関連リソースについては料金が発生します。

例外:AD DSのドメインコントローラー

一方で、すべてのVMをAzure Portalから停止すればよいわけではありません。

代表的な例外が、Active Directory Domain Services(AD DS)のドメインコントローラーです。

Microsoftの公式ドキュメント「Azure Virtual NetworkにAD DSをデプロイする」の「管理の容易性」では、次のように記載されています。

「Azure ポータルを使用してドメイン コントローラー VM をシャットダウンすることはお勧めしません。代わりに、ゲスト オペレーティング システムをシャットダウンして再起動します。」

公式ドキュメント:
Azure Virtual NetworkにAD DSをデプロイする – Microsoft Learn

つまり、通常のAzure VMではAzure Portalからの停止で問題ありませんが、ドメインコントローラーのようにワークロード固有の停止方法が推奨されているケースもあります。

Azure VMの停止方法を決める際には、VM上で動作しているサービスに個別の推奨事項がないか確認しておくのが安全です。

まとめ

Azure VMの停止方法は、基本的には次のように整理できます。

  • OSからシャットダウン
    → OSは停止するが、Azureホストへの割り当ては維持され、VMのコンピュート料金も継続する
  • Azure Portalから停止
    → OSを停止した後、AzureホストからVMの割り当ても解除され、VMのコンピュート料金も停止する

通常のAzure VMであれば、Azure Portalから停止する運用に統一して問題ありません。

ただし、AD DSのドメインコントローラーのように、Microsoftが個別の停止方法を推奨しているワークロードもあります。

そのため、基本はAzure Portalから停止し、特殊な役割を持つVMについては各サービスの公式ドキュメントを確認する、という考え方が分かりやすいでしょう。

コメント

タイトルとURLをコピーしました