AWSの料金爆弾を防ぐ:無料利用枠の確認・予算アラート・EC2課金の整理
AI_Manager
実習用のEC2を停止したのに、翌日も料金が増え続けている。無料利用枠(フリーティア)を選択したはずなのに、請求画面には金額が表示されている。この時、インスタンスを再起動して調べる必要はありません。まず確認すべき場所は、請求ダッシュボードのサービス・リージョン・使用タイプです。
AWSの料金爆弾を防ぐには、アカウントの無料特典を確認し、コストアラートを設定し、実習が終わったリソースを整理することから始めます。EC2の停止ボタン一つでこれらすべてが解決するわけではありません。以下の内容は、個人の実習アカウントおよび小規模なオンデマンド環境を基準に作成しています。料金および無料利用枠ポリシーの確認日は2026年9月20日です。
現在コストが増加している場合、最初に行うべきこと
- Billing and Cost Managementの「請求書(Bills)」を開きます。今月の料金をサービスごとに展開し、課金されたリージョンと使用タイプを記録します。
- 該当リージョンでリソースを探します。東京リージョンにサーバーがなくても、他のリージョンに実習用のリソースが残っている可能性があります。
- 使用していないリソースの課金原因を取り除きます。EC2を停止するだけでなく、EBS、Elastic IP、NAT Gatewayなど、接続されているリソースまで確認します。削除前には、データやサービス間の接続関係を検討してください。
- コストアラートを作成します。すでに発生した金額を取り消す機能ではありませんが、次回の実習で問題を早期に発見するのに役立ちます。
請求画面の読み方は、AWSの請求書確認ドキュメントで確認できます。対処直後でも以前の使用量が反映されるまでに時間がかかることがあるため、合計金額が一時的に増えたという理由だけで整理に失敗したと判断しないでください。
AWSの無料利用枠、登録日によって確認すべき条件が異なります
検索で見つけた「EC2月750時間、12ヶ月無料」という案内を、今作成したアカウントにそのまま適用すると計算がずれてしまいます。AWSは2025年7月15日より、新規顧客向けの無料利用枠をクレジットベースに変更しました。
| アカウント区分 | 確認すべき条件 | 見落としがちな部分 |
|---|---|---|
| 2025年7月15日以前に作成 | 従来のサービスごとの無料枠と、登録後の経過期間 | 12ヶ月の特典は毎年更新されません。本記事の確認日時点では、該当アカウントの12ヶ月期間はすでに終了しています。 |
| 2025年7月15日以降に作成、Free plan | 残りのクレジットと最大6ヶ月の利用期間 | 期間満了またはクレジット消費のうち、先に到達した時点で無料プランは終了します。 |
| Paid plan | クレジットの適用対象・残高・有効期限と実際の使用量 | クレジットで賄えない費用は請求される可能性があります。 |
新規顧客は登録時に100ドルのクレジットを受け取り、指定されたアクティビティを完了すると最大100ドルを追加で受け取ることができます。登録するだけで無条件に200ドルが付与されるわけではありません。Free planでは有料プランに切り替えない限り料金は請求されませんが、利用できるサービスに制限があります。無料プラン終了後に運用を継続する場合は、切り替え条件を確認してください。AWS Free Tier FAQ
コンソールから自分のプラン、クレジット残高、有効期限をまず確認しましょう。以前のアカウントの12ヶ月特典が終了したからといって、すべてのサービスの無料枠まで消滅するわけではありません。サービスごとに適用条件が異なるため、新規クレジットと従来の無料枠を合算して計算しない方が正確です。EC2無料利用枠の適用基準
AWS Budgetsのアラート設定:月10ドルの実習予算例
個人の実習で月10ドルまでと決めた場合、その金額に到達する前にメールを受け取るように設定します。以下の金額は説明用の例です。すでに運用中のサービスには、普段の使用額に合わせた基準が必要です。
- Billing and Cost Management → Budgets → Create budgetへ移動します。
- Customize (advanced) → Cost budgetを選択します。
- 期間はMonthly、更新はRecurring、金額設定はFixedに指定し、予算に10 USDを入力します。
- 最初は特定のサービスやリージョンのフィルターを入れず、アカウント全体のコストを対象にします。フィルターを絞りすぎると、他のサービスで発生した金額を見逃す可能性があります。
- 実際のコスト通知を10%・50%・100%に分けて設定します。この例では1ドル・5ドル・10ドルが基準となります。予測コストの100%通知も追加しておくと、月末の超過可能性を確認するのに役立ちます。
- 実際に確認できるメールアドレスを入力して保存します。SNSを選択した場合は、サブスクリプションの確認と送信権限の設定も必要です。
クレジット適用後の予想請求額を見るのか、クレジット差し引き前のリソース使用コストを見るのかも区別する必要があります。実習リソースがどれだけコストを使っているかを検知するには、予算の高度なオプションでクレジットを含めるかどうかを確認します。残高が十分にあるという理由で使用量の増加が隠れてしまわないようにするための設定です。コスト予算の作成手順 · 予算に含めるコスト項目
予算10ドルは決済の上限ではありません。通知を設定しただけでは、10ドルを超えてもリソースは実行され続けます。使用量の集計と通知の間には遅延もあります。別途Budgets Actionsを構成することも可能ですが、対象と権限を指定する必要があり、アカウントのすべての課金をリアルタイムで止める装置として考えてはいけません。AWS Budgetsの動作と通知の遅延
実際のAWS画面での入力場所の確認
以下はAWS公式ハンズオンガイドのコンソール画面に赤い枠と番号を追加した画像です。原文は2025年10月8日に更新された資料であり、現在のコンソールの配置や文言は異なる場合があります。画面は簡易テンプレートの100ドル例であり、上記で説明した高度な設定の10ドル予算とは区別して見てください。

- ① Customize (advanced):本文の10%・50%・100%通知を直接指定するにはこのパスを選択します。選択後は画面構成が変わります。
- ② 予算金額:簡易テンプレートを使う場合は、この欄に月間予算を入力します。本記事の実習基準は10.00 USDです。画面の100.00をそのままコピーしないでください。
- ③ メール:例のアドレスの代わりに、通知を受け取る自分のアドレスを入力します。
- ④ 基本通知:このテンプレートは実際のコスト85%・100%、予測コスト100%を案内します。前述の提案したユーザー指定基準とは異なります。
- ⑤ Create budget:金額・宛先・通知条件を確認した後に作成します。

作成完了は課金停止完了を意味しません。保存した予算で宛先と通知条件を再度確認してください。
EC2停止後も料金が発生する理由
一般的なEBSベースのオンデマンドEC2はstopped状態になると、インスタンス実行使用料が停止します。しかし、ディスクとIPアドレスは別個のリソースです。サーバーを再起動したときにデータをそのまま使用できるのは、EBSボリュームが保持され続けるためです。EC2状態別の課金基準
| リソース | EC2のみ停止したとき | 実習終了後の確認 |
|---|---|---|
| EC2インスタンス | 一般的なオンデマンド実行使用料が停止 | 一時停止なのか、もう不要なインスタンスなのかを区別 |
| EBSボリューム | ストレージ課金が継続 | 未接続ボリュームと終了時の削除設定を確認 |
| EBSスナップショット | 保管コストが別途発生 | 復元に必要な時点のみ保存し、不要なスナップショットを検討 |
| Elastic IP | アカウントに割り当てられたアドレスの課金維持 | 使用していないアドレスは、関連付けの解除だけでなく、割り当ての解除まで確認すること |
| NAT Gateway | EC2の状態に関係なく別途課金 | 経路の依存関係を確認した後、不要なゲートウェイの削除を検討 |
インスタンスを終了(terminate)したからといって、EBSがすべて削除されると想定してはならない。ボリュームごとに DeleteOnTermination 設定が異なる場合がある。スナップショットも別途残る。データを再利用する予定であれば、保存コストを受け入れるか、必要なバックアップのみを残すか決定した上で整理する。EC2の終了とボリュームの保持 · EBSボリューム・スナップショット料金
リザーブドインスタンスやSavings Plansの契約費用は別である。インスタンスを停止しても契約までなくなるわけではない。使用パターンが決まっていない短い実習で、割引率だけを見て長期契約を選択すると、使わない時間にも費用負担が残る可能性がある。リザーブドインスタンスの支払いオプション
EBSボリュームの確認:停止したサーバーのディスクを探す
- 課金されたリージョンに切り替えた後、EC2 → Elastic Block Store → Volumes(ボリューム)を開く。インスタンスに付いているディスクから探すには、Instancesでサーバーを選択し、Storageのブロックデバイスに表示されたボリュームIDをクリックする。
- ボリューム一覧で 状態、サイズ、タイプ、接続されたインスタンス を確認する。
in-useは接続された状態であり、サーバーを停止してもボリュームは残る。availableは接続されていない状態という意味であり、無料という意味ではない。 - 接続されていないボリュームは、名前・タグ・所有者を確認する。必要なデータか、復旧可能なバックアップがあるかを確認した上で整理する。追加のIOPSやスループットを設定した場合は、その項目も確認する。

状態別の意味と照会方法は EBSボリューム情報の確認ドキュメント で確認できる。現在のリージョンで一覧が空であっても、他のリージョンまで整理されたという意味ではない。
EBSスナップショットの確認:削除したサーバーのバックアップも調べる
- EC2 → Elastic Block Store → Snapshots(スナップショット)を開き、照会範囲を Owned by me(自分所有) に選択する。
- スナップショットを選択し、元のボリュームID、作成時刻、説明・タグと Storage tier(ストレージ階層) を確認する。元のサーバーやボリュームを削除していても、スナップショットは残っている可能性がある。
- 保管ポリシーとAMI・バックアップの復旧用途を確認する。Completedは作成完了、Archiveは保管階層 を表す。どちらも無料保管を意味しない。

一覧の Volume sizeは復旧するボリュームのサイズ である。これをそのままスナップショット課金容量として計算してはならない。全体のスナップショットサイズも、増分保存による実際の請求量と区別する必要がある。画面の情報は スナップショット照会ドキュメント、実際の費用はBillsでそれぞれ確認する。
パブリックIPv4とNAT Gateway費用は別途計算する
AWSが提供するパブリックIPv4アドレスの基本料金は アドレス1つあたり1時間0.005ドル である。30日間ずっと1つを使用すると仮定すると 0.005 × 24 × 30 = 3.60 USD である。この金額はIPアドレスのみ計算した例示であり、EC2・ディスク・トラフィック・税金は含まない。クレジットや無料特典適用前の基準である。使用中のアドレスも課金対象であるため、Elastic IPを実行中のサーバーに接続すれば無料という古い案内は、現在の基準では正しくない。Amazon VPCパブリックIPv4料金
自動割り当てされたパブリックIPv4はEC2停止時に返却されるが、Elastic IPは維持される。2つのアドレスを同じものだと考えると、整理後も費用が残る理由を見つけるのが難しい。EC2停止時に維持・解除されるリソース
NAT Gatewayは作成した時間と処理したデータに応じて費用が発生する。接続されたEC2にアクセスしなかったからといって費用が0円になる構造ではない。VPC作成ウィザードで複数のアベイラビリティーゾーンにNAT Gatewayを作成した場合は、ゲートウェイの数も確認する。時間あたりの単価はリージョンごとに異なるため、ソウルリージョンの実習に他のリージョンの例示金額をそのまま代入してはならない。Amazon VPC NAT Gateway料金
小さな実習環境でNAT Gatewayが必要かどうかは、ネットワーク設計段階で判断すべき問題である。費用を減らそうとしてデータベースを無暗にパブリックに変更したり、インバウンドを全体開放する方式は避ける。
パブリックIPv4の確認:どのサービスが使っているアドレスか追跡する
- VPC IPAMコンソール → Public IP insights を開く。下の図の ① がメニューである。② Unassociated Elastic IP addresses 通知と ③ EIP usage で、関連付けられていないElastic IPがあるか確認する。
- ④ Public IP addresses 一覧で、アドレスごとのサービス、ネットワークインターフェースID、インスタンスIDと接続状態を調べる。インスタンスIDが空であっても、NAT Gatewayやロードバランサーが使用するアドレスである可能性がある。Associatedは接続されたという意味であり、トラフィック発生の有無を意味しない。
- Elastic IPのみ直接確認するには EC2 → Network & Security → Elastic IPs に移動する。アドレスを選択し、Allocation ID、Association IDと接続されたネットワークインターフェース・インスタンスを確認する。自動割り当てされたパブリックIPは、EC2のInstancesでインスタンスを選択し、NetworkingのPublic IPv4 addressを確認する。
- 不要なElastic IPは接続用途を確認した後、Release Elastic IP addresses(Elastic IPアドレスの解放) で返却する。Disassociate(関連付け解除)だけではアドレスがアカウントに残って課金される可能性がある。 解放したアドレスは同じアドレスで再び受け取れるとは限らないため、DNSや外部許可リストで使用しているか先に確認する。

Public IP insightsは 探索対象のアカウント・リージョンと権限、データ収集時点 の影響を受ける。一覧が空であれば、照会範囲と更新時点を確認し、EC2コンソールでもクロスチェックする。詳細な範囲は Public IP insightsドキュメント、返却手順は Elastic IP解放ドキュメント を参照する。
NAT Gatewayの確認:状態・接続IP・トラフィック・ルーティングの確認
- VPCコンソール → NAT gatewaysから、課金されているリージョンのゲートウェイを選択します。NAT Gateway IDとVPCを記録し、下の図の① Availability modeとConnectivity type、② Stateを確認します。PublicとPrivate、ZonalとRegionalによって表示される項目が異なります。
- パブリックNATの場合、IPアドレス情報から接続されたアドレスとAllocation IDを確認します。図の④ Associated IP addressesが該当する領域です。アドレスが複数ある可能性があるため、最初のアドレスだけを確認して終了しないでください。プライベートNATにはElastic IPはありません。
- ③ MonitoringまたはCloudWatchで、バイト転送量と接続数を確認します。定期的なタスクが実行される時間を含め、最近の使用履歴を確認します。トラフィックが0であってもゲートウェイが存在すれば時間料金が発生する可能性があり、データなしは使用量0とは異なります。
- VPC → Route tables → Routesから、記録した
nat-…IDを対象とするルートを確認します。例えば、0.0.0.0/0 → nat-…ルートがあるサブネットは、該当するNATを通じて外部へ通信できます。Subnet associationsも確認し、影響を受けるサーバーやタスクを探します。

NAT GatewayにはEC2のように停止しておく方法はありません。不要だと判断した場合は削除を検討しますが、その前にこれを使用しているサブネットの通信経路を整理する必要があります。NATを削除しても関連するルーティングが自動的に消去されることはなく、手動で割り当てたElastic IPは別途リリースする必要がある場合があります。NAT Gatewayの管理と削除動作のドキュメントで条件を確認してください。
最後にBillsで、PublicIPv4またはNatGatewayが含まれる使用タイプとリージョンを再確認します。コンソールリストは残っているリソースを探すために、請求明細はどの項目に費用が発生したかを確認するために使用します。ロードバランサー、RDS、VPCエンドポイントの費用が見える場合は、それぞれEC2のLoad Balancers、RDSのDatabases、VPCのEndpointsでも残っているリソースを確認します。
実習を終えたら、この順序で整理します。
削除ボタンを押す前に、リソース名、ID、リージョン、接続されたサービスを書き留めておくと、同じ名前の運用リソースを誤って操作するリスクを減らせます。TerraformやCloudFormationで作成した環境は、デプロイツールの削除計画から確認します。
- 必要なデータから確保します。DBダンプ、アップロードファイル、設定ファイルなど、再作成できないデータを優先的に確認します。バックアップを残すと、その保存費用も発生し続ける点に留意してください。
- 再生成される構成を確認します。Auto Scalingやデプロイツールが管理するEC2をコンソールからのみ終了すると、再作成される可能性があります。希望するインスタンス数とスタックのリソース関係を先に確認します。
- 使用したリージョンごとにEC2・ボリューム・スナップショット・Elastic IPを確認します。インスタンスリストが空であるという事実だけで整理が終わったわけではありません。
- VPCと接続サービスを確認します。NAT Gateway、ロードバランサー、有料のVPCエンドポイントのように、サーバー外の構成要素を検討します。
- RDSと保存データを確認します。DBインスタンス、最終スナップショット、S3保存データ、ログのように別途残る項目を確認します。
- 請求明細を再確認します。整理した時刻を記録し、その後の集計でどの使用タイプが継続して増加しているかを比較します。費用の合計ではなく、リソースごとの増加の有無を見ることで原因を絞り込めます。
ここでRDSはEC2とは別に考える必要があります。停止をサポートするRDS DBインスタンスは最大7日間連続で停止でき、その後は自動的に再起動されます。停止中もストレージと該当するバックアップ費用は発生します。「DBをオフにしたから来月も大丈夫だろう」という想定で実習用アカウントを放置してはいけません。RDS一時停止の条件
サーバー運用を継続する計画であれば、Linuxのディスク・inode使用量の診断も併せて確認しておきましょう。ディスク不足の問題を増設だけで処理する前に、どのデータが増えたのかを把握すれば、不必要なストレージ拡大を減らせます。
AWS課金に関するよくある質問
無料利用枠(フリーティア)なのに請求画面に金額が表示されている場合、決済されますか?
画面の金額だけで断定できません。リソース使用費用とクレジット適用後の請求額を区別し、Free planかPaid planかを確認する必要があります。無料枠・クレジット適用対象・残高・有効期限を併せて見れば、実際に負担する金額を判断できます。
予算を1ドルに設定すれば、1ドルまでしか決済されませんか?
いいえ。一般的なBudgetsアラートは、指定した費用基準を超えた、または超えると予想される際に通知する機能です。リソースの実行を自動的にブロックするものではなく、集計の遅延中に追加費用が発生する可能性があります。
EC2を削除したのに翌日費用が増えた場合、何を確認すべきですか?
まず使用量の反映遅延かどうかを確認します。次に、残っているEBSボリューム・スナップショット・Elastic IP・NAT Gatewayと、他のリーのリソースを確認します。請求書のサービス名から使用タイプまで展開しないと、確認対象を絞り込めません。
予期せぬ料金は返金してもらえますか?
返金を前提にリソースを放置してはいけません。課金の原因を先に整理し、請求期間・サービス・リージョン・発見時刻・措置内容を準備して、AWS Supportのアカウントおよび請求に関する問い合わせから確認します。調整の可否は個別の検討対象です。AWS Supportの問い合わせタイプと受付方法
次の実習を開始する前に、3つのことを確認すれば十分です。自分のプランとクレジットの終了条件、費用アラートの受信先、実習後に削除するリソースリスト。サーバーの作成と整理を一つの作業としてまとめておけば、数日後に請求書で忘れていたリソースを発見する可能性も減らせます。