検証用に作ったAzureの仮想マシン(VM)を、使い終わったのでWindowsのスタートメニューからシャットダウンした。翌月、請求を見たら、止めたはずの期間もVMの料金が付いていた。あるいは、ポータルの停止ボタンで止めてVMの料金は止まったのに、ディスクやIPアドレスの料金がまだ付いている。
Azure VMの「止めたのに課金される」は、ほとんどが次の2つのどちらかです。
- VMを止めたつもりで、Azureから見ると止まっていない。 OSの中からシャットダウンした状態は「停止済み」と表示されますが、VMの料金はかかり続けます。料金が止まるのは「停止済み (割り当て解除)」になってから
- VMの料金は止まっていても、VMの周りのリソースの料金は止まらない。 Azure VMは、ディスク・ネットワークインターフェイス・パブリックIPなど、別々のリソースの組み合わせです。止めても消しても、残ったものにはそれぞれ料金がかかります
この記事では、2種類の「停止」の見分け方、割り当て解除しても残る料金、スナップショットとディスクの溜め込み、ネットワークの転送料金、そして止め忘れと使いすぎに気づく仕組みを、順に整理します。もとにしたのは、Azureを初めて触るチーム向けに、VMの停止・スナップショット・転送量と課金を実画面で説明した無料動画です(料金と仕様は2026年10月時点の公式ドキュメントで確かめました)。
「停止済み」と「停止済み (割り当て解除)」は別の状態
Microsoft Learnの「Azure Virtual Machines の状態と課金状態」には、VMの電源状態ごとに課金されるかどうかの表があります。必要なところだけ抜き出すとこうです。
| ポータルの表示 | 中で起きていること | VMの料金 |
|---|---|---|
| 実行中 | 起動している | かかる |
| 停止済み | OSは止まっているが、VMは物理ホストの上に割り当てられたまま | かかる |
| 割り当て解除中 | 物理ホストを手放している途中 | かからない |
| 停止済み (割り当て解除) | 物理ホストへの割り当てを解放した | かからない |
表のとおり、「停止済み」になるのは、ゲストOSの中からシャットダウンしたときです。Windowsの「電源」→「シャットダウン」でも、Linuxの shutdown でも同じです。OSは止まっていても、Azureから見るとそのVMのためにCPUとメモリを確保し続けているので、VMの料金がかかります。
動画の12分4秒あたり(無料)から、まさにこの落とし穴を実演しています。踏み台経由で入ったWindowsの中からシャットダウンすると、ポータルの表示はしばらく「実行中」のまま、やがて「停止済み」に変わります。14分27秒あたりでは、その「停止済み」の画面で停止ボタンがまだ押せることを見せています。止まっているように見えるのに停止ボタンが押せる、というのが「まだ止まりきっていない」の目印です。押すと「割り当て解除中」を経て「停止済み (割り当て解除)」になり、停止ボタンが押せなくなります。
見分けるのは表示の「(割り当て解除)」の有無
確かめ方は単純で、VMの概要に「停止済み (割り当て解除)」と出ているかを見ます。「停止済み」だけで終わっていたら、まだ料金がかかっています。英語表示では Stopped と Stopped (deallocated) です。
台数が多いときは、Azure CLIでまとめて確かめられます。az vm list -d の powerState 列が VM stopped なら料金がかかっている状態、VM deallocated なら止まっている状態です。
az vm list -d --query "[].{name:name, rg:resourceGroup, power:powerState}" -o table
止めるときも、ポータルの停止ボタンか、CLIの az vm deallocate を使います。CLIには az vm stop というコマンドもありますが、こちらは「停止済み」止まりで料金は止まりません。名前が紛らわしいので、止めるときは deallocate と覚えておくと安全です。
ポータルの停止ボタンと、中からのシャットダウンの順番
ポータルの停止ボタンを押すと、OSにはシャットダウンの指示が届きます。電源コードを抜くような止まり方ではありません。ただ、動画の19分34秒あたり(無料)の質疑で答えているとおり、OSのシャットダウン処理が終わりきるのを丁寧に待ってから割り当て解除する、という作りまでは期待しないほうがよいです。データベースなど止め方に気を遣うソフトが動いているなら、中のOSを先に自分でシャットダウンし、その後でポータルの停止ボタンを押すのがいちばん丁寧です。中から止めただけで終わらせないことが大事なので、順番が逆になるわけではありません。
割り当て解除すると、何が残り、何が消えるか
割り当て解除は「VMを物理ホストから下ろす」操作です。メンバー限定の「AZ-104試験対策 第5回」では、46分21秒あたり(メンバー限定)から、割り当て解除したVMは物理ホストの上から一度いなくなり、次に起動すると別のホストに置き直されることを、ホスト群の図で説明しています。だからこそVMの料金が止まり、サイズ変更の選択肢が増えたり、調子の悪いVMが直ったりすることもあります。記事で文字にすると一行ですが、「なぜ止めるとサイズが変えられるのか」を図で理解したいなら、ここは動画のほうが速い部分です。
物理ホストから下ろすので、ホストの側に置いてあったものは残りません。整理するとこうなります。
| もの | 割り当て解除した後 |
|---|---|
| OSディスク・データディスクの中身 | 残る(別のストレージにあるため) |
| プライベートIPアドレス | 既定では残る |
| パブリックIPアドレス(Standard SKU) | 残る(静的なので変わらない) |
| 一時ディスク(WindowsならDドライブ) | 中身が消えることがある |
一時ディスクについて、Microsoft Learnの「Azure Disk Storage の概要」は、ページファイルやSQL Serverの tempdb のような一時的なデータを置く場所で、VMの停止時などにデータが失われる可能性がある、と書いています。動画の18分48秒あたり(無料)でも、消えて困るものはDドライブに置かないこと、逆に消えてよい作業用のファイルは積極的にDに置いてよいことを話しています。止めてから起動したら作業ファイルが無い、という事故の原因は、たいていこれです。
パブリックIPについては、動画の中で「動的に割り当てたものは割り当て解除で解放され、次の起動で変わる」と説明している箇所があります。これはBasic SKUの話です。Microsoft Learn「Azure でのパブリック IP アドレス」のとおり、Basic SKUのパブリックIPは2025年9月30日に廃止され、今作れるStandard SKUは静的割り当てだけです。アドレスが変わらなくなった代わりに、次の節の料金がかかり続けます。
VMを止めても料金がかかる周りのリソース
Azure VMは1つのリソースではありません。動画の7分13秒あたり(無料)で、典型的なVM 1台が 仮想マシン本体・OSディスク・ネットワークインターフェイス(NIC)・パブリックIP・ネットワークセキュリティグループ(NSG) の5つのリソースに分かれている図を見せています。ポータルのリソースグループを開くと、VMを1台作っただけなのに、いくつもの項目が並ぶのはこのためです。
そして10分7秒あたり(無料)で強調しているとおり、料金はリソースごとに付きます。
- マネージドディスク: 割り当て解除しても料金がかかります。ディスクの料金は使った量ではなく、作ったディスクのサイズと種類で決まります。止めているだけの検証VMでも、Premium SSDの大きなディスクを付けていれば、それなりの金額になります
- パブリックIP(Standard SKU): IPアドレスの料金ページのよくある質問では、静的なパブリックIPは、VMが割り当て解除されていても、IPリソースを削除するまで時間単位で課金されるとしています
- NIC・NSG: これ自体には料金がかかりません
ディスクの種類による値段の違いは、メンバー限定の「AZ-104試験対策 第5回」の55分47秒あたり(メンバー限定)から、Standard HDDからUltra Diskまでの比較表を見ながら、容量・IOPS・スループットのどれにお金を払っているのかを説明しています。止めている間もディスクの料金が気になるなら、検証用のディスクの種類を見直すのが一番効きます。
VMを削除しても残るもの
「止めても料金がかかるなら消そう」となったときも同じことが起きます。VMを削除しても、ディスクやパブリックIPが別のリソースとして残ることがあります。Microsoft Learn「VM とアタッチされたリソースを削除する」によると、ポータルで作ったVMはOSディスクが既定で「VMと一緒に削除」になっていますが、Azure CLIやPowerShellで作ったVMは、既定ではOSディスクを残して切り離すだけです。どの方法で作ったVMか覚えていないなら、削除した後にリソースグループを開き、名前にそのVM名を含むディスク・NIC・パブリックIPが残っていないかを見てください。検証環境なら、リソースグループごと削除するのがいちばん取りこぼしがありません。
スナップショットとディスクは、溜めるほど料金になる
検証では「壊す前にスナップショットを取っておいて、だめなら戻す」をよくやります。ここにも料金の落とし穴があります。
Azureのスナップショットは、Hyper-VやVMwareのチェックポイントとは違い、その時点のディスクの独立したコピーです。メモリの状態は含まれず、親子関係でつながった履歴として管理されるわけでもありません。そのため「戻す」ボタンもありません。戻すときは、スナップショットから新しいディスクを作り、VMのOSディスクをそのディスクに差し替えます。動画の24分37秒あたり(無料)でこの流れを説明し、26分46秒あたりから実際にスナップショットを取り、34分10秒あたりでOSディスクのスワップを実行しています。ボタンの場所と確認画面の文言は、画面で一度見ておくと迷いません。
料金の話に戻ると、この手順を繰り返すたびに、スナップショットが1つ、スナップショットから作ったディスクが1つ、差し替えで外れた古いディスクが1つ増えます。リソースグループの一覧には同じような名前で並ぶだけで、どれがどのVMのいつのものかは画面からは分かりません。37分52秒あたり(無料)で話しているとおり、ディスクは存在するだけで料金の対象になり、念のため取っておいた分が2世代・3世代と残っていくと、思った以上の金額になります。
対策は3つです。
- 命名規則を先に決める: VM名・取得日・目的を名前に入れる。正常な状態として残す1つには
goldenのような目印を付ける - 差し替えで外れたディスクはすぐ消す: 戻した後の古いディスクは、もう使いません
- スナップショットは定期的に棚卸しする: 残す世代数を決め、超えた分を消す
なお、スナップショットで戻るのはディスクの中身だけです。NIC・IPアドレス・NSGなど周りのリソースの設定は戻りません。周りの構成も記録しておきたいなら、リソースグループのテンプレートを書き出しておく方法があります。テンプレートの書き出しと、それをBicepに書き写す考え方は「Bicepは白紙から書かない。ポータルで1回作った結果を書き写す」で扱っています。
スナップショットと、VM全体を対象にするイメージの違いは、メンバー限定の「AZ-104試験対策 第5回」の54分42秒あたり(メンバー限定)で、試験で問われる区別として整理しています。
ネットワークの転送料金:外へ出る通信に料金がかかる
VMを止めても止めなくても、別にかかるのがデータ転送の料金です。帯域幅の料金ページのとおり、Azureへ入ってくる通信は無料で、Azureからインターネットへ出ていく通信は、月の最初の100GBを超えた分に料金がかかります。単価は送信元の地域と量で変わります。
普段使いの検証VMなら気にならない量ですが、通信速度の検証のように大量のデータを流し続ける作業では、すぐに桁が変わります。動画の51分53秒あたり(無料)で、毎秒数百Mbitを10分流す試験を何十回と繰り返すと、転送料金だけでいくらになるかを、実際に見積もりながら注意しています。大量に流す試験をするなら、始める前に「1回あたりの転送量 × 回数」で金額を出し、関係者がその金額を分かったうえで始めるのが筋です。VMのサイズごとにネットワーク帯域の上限も決まっているので、帯域を出すために大きいサイズが要る場合は、VMの料金にも跳ねます。
どれだけ流れたかは、VMの「メトリック」でネットワーク入力・出力の合計を見ます。動画の47分14秒あたり(無料)から、事前に流しておいたトラフィックをメトリックのグラフで確かめる画面を見せています。集計を「平均」ではなく「合計」にすること、単位がビットではなくバイトであること(速度のMbpsとは8倍違う)に注意してください。
止め忘れと使いすぎに気づく仕組みを先に入れる
ここまでの落とし穴は、知っていても人は忘れます。最後に、忘れても大きな請求にならないための仕組みを2つ入れておきます。
自動シャットダウン
VMの「操作」→「自動シャットダウン」で、毎日決まった時刻にVMを止められます(Microsoft Learn「仮想マシンの自動シャットダウン」)。タイムゾーンを日本に合わせ、たとえば毎日18時に止める、という設定です。動画の16分52秒あたり(無料)で設定画面を見せています。
気になるのは「この自動シャットダウンはOSを止めるだけなのか、割り当て解除までするのか」ですが、動画の19分20秒あたり(無料)の質疑のとおり、割り当て解除まで行うので、VMの料金は止まります。設定した翌日に一度、VMの表示が「停止済み (割り当て解除)」になっているかを確かめておくと安心です。使うときだけ起動するVMなら、作った直後に入れておく価値があります。
予算アラートとコスト分析
「コスト管理」から予算を作り、月の予算額に対して50%・80%などのしきい値でメール通知を受け取れます。動画の58分7秒あたり(無料)で紹介しています。
ただし、Microsoft Learn「チュートリアル: 予算を作成して管理する」にあるとおり、予算のしきい値を超えても通知が来るだけで、リソースは止まりません。しかも、コストのデータが出てくるまで通常8〜24時間かかり、予算の評価は24時間ごとです。予算アラートは「その日のうちに止める」仕組みではなく、「止め忘れを翌日には気づける」仕組みだと考えてください。だから、止めること自体は自動シャットダウンに任せ、予算アラートはその保険にする、という役割分担になります。
予算の作り方は、メンバー限定の「AZ-104試験対策 第2回」で、18分26秒あたり(メンバー限定)のコスト分析の画面から、20分5秒あたりの予算の作成、アクショングループで通知先を決めるところまで、ポータルの操作を通しで見られます。22分39秒あたりでは、CPUをほとんど使っていない大きすぎるVMを見つけて小さいサイズへの変更を勧めてくれる、Advisorの推奨事項にも触れています(収録した検証環境では推奨が出ていないため、仕組みの説明です)。止め忘れだけでなく「動かしているけれど大きすぎる」VMの料金を下げる入口になります。
まとめ
- OSの中からシャットダウンしたVMは「停止済み」で、VMの料金はかかり続ける。料金が止まるのは「停止済み (割り当て解除)」。止めるときはポータルの停止ボタンか
az vm deallocate(az vm stopではない) - 「停止済み」の画面で停止ボタンが押せるなら、まだ止まりきっていない
- 割り当て解除しても、ディスクとパブリックIPの料金は続く。一時ディスク(Dドライブ)の中身は消えることがある
- VMを削除しても、作り方によってはディスクなどが残る。検証環境はリソースグループごと消す
- スナップショットは戻すたびにスナップショットとディスクが増える。命名規則を決め、外れたディスクはすぐ消す
- Azureから外へ出る通信は、月100GBを超えた分に料金がかかる。大量に流す試験は先に金額を見積もる
- 自動シャットダウンで止め忘れを防ぎ、予算アラートで翌日には気づけるようにする。予算アラートはリソースを止めない







