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の電源を強制的に切るわけではありません。
大まかな流れは次のとおりです。
- Azure側からVM内のOSへシャットダウンを要求する
- OSがシャットダウン処理を行う
- OS停止後、Azureホスト上のVM割り当てを解除する
- 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については各サービスの公式ドキュメントを確認する、という考え方が分かりやすいでしょう。


コメント