Azure仮想マシン無料枠の上限と課金境界を把握|Azure CLIで使い過ぎを防ぐ設定手順

運営:リナックスマスター.JP(代表 宮崎智広)
HOME > Linux技術 リナックスマスター.JP(Linuxマスター.JP) > Azure > Azure仮想マシン無料枠の上限と課金境界を把握|Azure CLIで使い過ぎを防ぐ設定手順
Azureで仮想マシンを無料で使えると聞いて始めてみたら、翌月の請求に予想外の金額が載っていた——そういった経験をした人は少なくありません。

この記事では、Azure(Microsoft Azure)の仮想マシン無料枠の具体的な上限と、何をすると課金が始まるのか(課金境界)を整理します。想定環境はAzure無料アカウントまたはAzure Pay-As-You-Goサブスクリプション(B1ls・B1sサイズのVM)を使用しているケースです。

さらに、Azure CLIの az vm deallocate コマンドで課金を確実に止める方法と、az consumption budget で予算アラートを設定する手順を解説します。Azureの月額コストを自分でコントロールしたい方は、Azureの実践スキルを体系的に学べる講座も参考にしてください。

この記事のポイント

・Azure無料枠のVMは月750時間が上限(同時起動台数に比例して消費)
・「停止」と「割り当て解除」は別物。az deallocateで完全に止める
・az consumption usage listで使用量をCLIから即時確認できる
・az consumption budget createで予算超過アラートを事前に仕込む


「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら

Azure仮想マシン無料枠の種類と上限を整理する

Azureには「無料VM」と呼べる枠が2種類あります。混同しやすいため最初に整理します。

・Azure無料アカウント(12か月限定):新規アカウント開設から12か月間、B1sサイズ(vCPU 1個・メモリ1 GB)の仮想マシンを月750時間まで無料で利用できます。
・Always Free(恒久無料):B1lsサイズ(vCPU 1個・メモリ0.5 GB)のLinux VMを月750時間まで無料で利用できます(Windowsは対象外)。

どちらも「月750時間」という上限は同じです。1台を24時間動かし続けると1か月あたり約720時間になるため、1台だけならほぼ収まります。しかし2台を同時に起動すると使用量の消費ペースが2倍になるため、約15日で上限に達します。

また、無料枠が適用されるのはコンピューティング(CPU・メモリ)コストのみです。マネージドディスク(OSディスク)やパブリックIPアドレスは別途課金対象となります。ストレージは月32 GBまで無料枠がありますが、それを超えると費用が発生します。

「停止」と「割り当て解除」の課金の違い

Azureの課金トラブルで最も多いのが、VMを「停止」したつもりが「割り当て解除」になっておらず、コンピューティング費用が発生し続けるケースです。

1. 停止(Stopped)とは

OSをシャットダウンした状態です。VMは「停止済み」と表示されますが、Azureの物理ホスト上で仮想マシンのリソース(vCPU・メモリ)は確保されたままです。このためコンピューティング費用は課金され続けます。

この状態は az vm stop コマンドを実行したときに起こります。OSはシャットダウンされますが、Azureのコンピューティングリソースは確保されたままになります。

2. 割り当て解除(Deallocated)とは

VMが割り当て解除状態になると、Azureの物理ホスト上のリソース予約が完全に解放されます。この状態ではコンピューティング費用は発生しません。ただし、アタッチされたマネージドディスクと静的パブリックIPアドレスの費用は引き続き発生します。

Azureポータルの「停止」ボタンは、近年のポータル更新により割り当て解除も同時に行うよう変更されました。しかし確実に割り当て解除されているかどうかはCLIで確認するのが安全です。

Azure CLIで使用量を確認する手順

1. az loginで認証する

まずAzure CLIをインストールし、アカウントにログインします。

# Azure CLIのログイン(ブラウザが開きます) az login # サブスクリプション一覧を確認する az account list --output table # 使用するサブスクリプションを設定する az account set --subscription "サブスクリプションID"

2. az vm listでVMの電源状態を確認する

全VMの一覧と電源状態を確認します。ポイントは PowerState の列です。

# リソースグループ内の全VMと電源状態を一覧表示する az vm list --resource-group myResourceGroup --show-details --output table

出力例(環境により異なります)

Name ResourceGroup PowerState ------- ---------------- ---------------- myVM1 myResourceGroup VM running myVM2 myResourceGroup VM stopped myVM3 myResourceGroup VM deallocated

VM stopped は停止しているが割り当てが残った状態(課金継続)、VM deallocated が完全停止(コンピューティング課金停止)です。

3. az vm deallocateでVMを完全停止する

VMを割り当て解除して課金を止めます。

# VMを割り当て解除する(コンピューティング課金が止まる) az vm deallocate --resource-group myResourceGroup --name myVM1 # 割り当て解除の完了を確認する az vm show --resource-group myResourceGroup --name myVM1 --query "provisioningState"

"Succeeded" と返ってくれば割り当て解除が完了しています。次に az vm list --show-details で PowerState が VM deallocated になっていることを確認してください。

4. az consumption usage listで使用量を確認する

今月の使用量を請求期間ベースで確認します。

# 今月の使用コストをサービス別に確認する az consumption usage list --start-date 2026-10-01 --end-date 2026-10-31 --output table # 仮想マシン関連の費用だけを絞り込む az consumption usage list --start-date 2026-10-01 --end-date 2026-10-31 --query "[?contains(consumedService, 'Microsoft.Compute')]" --output table

az consumption usage list コマンドには課金閲覧の権限(Billing Reader)が必要です。権限がない場合は AuthorizationFailed エラーが返ります。その場合はAzureポータルの「コストの管理と請求」画面でも同等の情報を確認できます。

az consumption budgetで予算アラートを設定する手順

無料枠の上限に近づいたときにメール通知を受け取るには予算アラートを使います。

1. アクショングループを作成する(通知先の設定)

# メール通知用のアクショングループを作成する az monitor action-group create --resource-group myResourceGroup --name "budget-alert-group" --short-name "bdgtgrp" --email-receivers name=adminMail emailAddress=your-email@example.com

2. 予算とアラートを作成する

# 月3USD(約450円)の予算を設定する # 無料枠オーバー初期検知用の低い閾値を設定する例 az consumption budget create --budget-name "monthly-free-tier-watch" --amount 3 --category Cost --time-grain Monthly --start-date 2026-10-01 --end-date 2027-09-30 # 作成した予算の一覧を確認する az consumption budget list --output table

予算の通知閾値(80%・100%など)はAzureポータルの「予算」画面からアクショングループと組み合わせて設定します。CLIの budget create コマンドで作成した予算は、ポータル上で通知ルールを追加できます。

無料枠超過に気づいたときのトラブルシュート

【確認ポイント1】VMが「VM stopped」になっていないか確認する

課金が止まっていると思っていても、az vm list --show-details の PowerState が VM stopped になっている場合はコンピューティング課金が継続しています。az vm deallocate を再実行して VM deallocated に変えてください。

【確認ポイント2】残存パブリックIPアドレスを確認する

VMを削除してもパブリックIPアドレスリソースが残っている場合、Static(静的)設定のIPは課金が続きます。

# 残っているパブリックIPアドレスを一覧で確認する az network public-ip list --output table # 不要なパブリックIPを削除する az network public-ip delete --resource-group myResourceGroup --name myPublicIP

【確認ポイント3】無料枠の適用期間(12か月)が切れていないか確認する

Azure無料アカウントの12か月限定特典は期間終了後、自動的にPay-As-You-Go料金に切り替わります。アカウント作成日をAzureポータルの「サブスクリプション」画面で確認し、期間内かどうかをチェックしてください。

本記事のまとめ

やりたいこと コマンド
VMの電源状態を確認する az vm list --show-details --output table
VMを完全停止(課金停止)する az vm deallocate --resource-group <rg> --name <vm>
今月の使用コストを確認する az consumption usage list --start-date <date> --end-date <date>
予算アラートを設定する az consumption budget create --budget-name <name> --amount <n>
余分なパブリックIPを削除する az network public-ip delete --resource-group <rg> --name <ip>
Azure仮想マシンの無料枠は月750時間ですが、停止の仕方を間違えると課金が発生し続けます。az vm deallocate コマンドで確実に割り当て解除し、az consumption budget create で予算アラートを設定しておくことで、想定外の請求を未然に防ぐことができます。
現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、AzureやAWSを含むクラウド実践スキルを2日間で習得できる「Linux Master Pro Seminar」をご用意しています。Azure実践スキルの詳細はこちら>>

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は30秒、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

姓・名・メールの3つだけ/30秒/解除は3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録

運営

リナックスマスター.JP(代表 宮崎智広)

株式会社イーネットマーキュリーが運営するLinux教育サイトです。代表の宮崎智広は現役のLinuxサーバー管理者として20年以上の実務経験を持ち、累計3,100名以上のエンジニアを指導してきました。実践型のLinuxセミナーや無料マニュアルの配布を通じてLinux人材の育成に取り組んでいます。