この記事は、ひまプロ談話室 Advent Calendar 2025 の12日目の記事です。
この記事では、AWSでの高額請求を恐れていた過去の私に向けて「こういう防御策があるよ~」というお話をしていきます。
初学者の方や、個人開発を行っている方の助けになれば幸いです。
はじめに
こんにちは。ひるげです。
AWSでの高額請求、怖いですよね。
今回は、AWSを利用する初学者が必ずと言っていいほど抱える「高額請求への恐怖」を技術的に解決し、効率的にリソースを管理する方法についてまとめました。
「高額請求への不安」は、開発時の集中力を削ぐ大きな要因になります。
コスト管理を仕組み化し、安心して開発に没頭できる環境を作りましょう。
今回は、よく使うAWSサービスであるEC2を各所で例として取り上げていますが、他のAWSサービスを使う際にも、同様の手法でコスト削減を図れるかと思います。
概要
以下の3つによって、コストの監視と無駄なリソースの削減が可能です。
- AWS Budgetsで予算アラートを設定し、監視を自動化する
- Compute Optimizerで、インスタンススペックが過剰でないかデータに基づいて判断する
- Trusted Advisorで、意図せず残り続けている「未使用リソース」を検出する(※補足あり)
基本:AWS Budgetsでコスト状況を監視
まず最初に行うべきは、AWS Budgetsによる予算管理です。 これは、設定した予算額(または使用量)を超えそうになった段階でアラート(メール等)を飛ばしてくれるサービスです。
AWS Budgetの使用料金
無料(条件あり)
以前は有料でしたが、現在は「コストを監視して通知するだけの予算であれば無料でいくつでも作成できます(アクションを設定しない場合)」。個人開発であれば設定しない理由はありません。
効率化のポイント
-
自動化: 毎日管理画面を見に行く手間をゼロにします
-
安心: 「何かあれば通知が来る」状態を作ることで、安心して開発に集中できます
アクション(設定例)
個人のちょっとした確認用であれば、以下のような設定がいいかと思います。
予算タイプ: コスト予算
期間: 毎月
予算額: $10(あるいは想定する許容額)
アラート閾値:
- 実績値が80%に達した時
- 予測値が100%に達すると予測された時
これで、意図しないリソースの切り忘れなどによる想定以上の課金を早期に検知できます。
正直、これだけで不安はだいぶ解消されることかと思います。
コスト削減のための2つの方法
より根本的にコストを削減したい時には、「Trusted Adviser」や「Compute Optimizer」が役に立つかと思います。
以下では、これらを用いてコスト削減の余地がないか探る方法を説明していきます。
1. Compute Optimizer:リソースのスペックが過剰でないか探る
まず、「稼働しているリソースが過剰スペックでないか」を調べましょう。
開発初期は確実に動く環境が最優先ですので、少し余裕のあるインスタンスタイプを選定することになるかと思います。
しかし、実際にはCPUが数%しか使われていないケースも多々あります。
AWS Compute Optimizerは、リソースの使用履歴(メトリクス)を分析し、最適なリソースタイプを提案してくれます。
Compute Optimizerの使用料金
基本無料
デフォルト設定(過去14日間のメトリクス分析)であれば、追加料金なしで利用可能です。
アクション
Compute Optimizerの推奨事項を確認します。
例:現在のインスタンスタイプ t3.medium → 推奨 t3.micro
このように「スペックダウンしても問題ない」という根拠をAWS側が提示してくれます。
「なんとなく不安だからハイスペックにする」のではなく、「実績値(データ)に基づいて適正スペックを選ぶ」 ことが重要です。
※注意:Compute Optimizerが有効な推奨を出すには、一定期間(通常は数十時間以上)の稼働データが必要です。
2. Trusted Advisor:使われていないリソースがないか探す(※補足あり)
次に、「使っていないのに課金されているリソース」の削除です。
AWS Trusted Advisorは、AWS環境をスキャンし、コスト最適化、セキュリティ、耐障害性などの観点から推奨事項を提示してくれるサービスです。
まずはこれを使って、無駄なリソースがないかを確認してみてください。
Trusted Adviserの使用料金
コスト機能は有料(要注意)
Trusted Advisor自体は無料プランでも利用できますが、「コスト最適化(未使用リソースの検出)」機能を利用するには、月額$100〜のビジネスサポート契約が必要です。
そのため、初学者や個人開発者がこれをいきなり試すことはないかと思います。
無料プランの方は、Trusted Advisorを「セキュリティ問題の確認用途」に留め、コスト削減に関しては以下の「ターゲットとなるリソース」を参考に、自分の目でチェック を行ってください。
ターゲットとなるリソースの例
特に以下のリソースは、EC2インスタンスなどを停止・削除しても残り続ける場合があり、注意が必要です。
これらはTrusted Advisorのチェック項目で確認可能です。
-
Elastic IP: EC2に関連付けられていないIPアドレスは課金対象になります
-
EBSボリューム: EC2を削除しても、設定によってはボリュームだけが残り、ストレージ料金が発生し続けます
-
Idle Load Balancers: トラフィックのないロードバランサー
アクション
定期的に請求ダッシュボードの詳細を確認し、使用していないEIPやEBSがあれば即座に解放・削除します。
有料サポートに入っている場合は、Trusted Advisorがこれらを自動検知してくれるため、非常に効率的です。
発展:リソースの監視もしてみよう (CloudWatch)
Compute Optimizerの提案を受動的に受け取るだけでなく、自分自身でリソース状況を把握することも大切です。
Amazon CloudWatchを使用して、以下のメトリクスを定期的に確認してみましょう。
CloudWatchには無料利用枠があり、基本的なメトリクスであれば無料で監視できます。
(※詳細モニタリングやカスタムメトリクスを利用すると課金される場合があります)
確認すべき代表的な項目は以下の2つです。
-
CPUUtilization: CPU使用率
-
MemoryUtilization: メモリ使用率(※カスタムメトリクスの設定が必要な場合あり)
「CPU使用率が張り付いているからスペックを上げる」「余裕がありすぎるから下げる」といった判断を、可視化されたグラフを見て行います。これはコスト削減だけでなく、アプリケーションのパフォーマンス維持にも直結します。
まとめ
以下の3つによって、コストの監視と無駄なリソースの削減が可能です。
- AWS Budgetsで予算アラートを設定し、監視を自動化する
- Compute Optimizerで、インスタンススペックが過剰でないかデータに基づいて判断する
- Trusted Advisorを使う、あるいは手動で無駄なリソースを検出し、削除する
これらを適切に設定し、安心して開発に取り組める環境を作りましょう!
さいごに、1つ注意してほしいポイントがあります。
上で示した料金体系は、あくまで「2025/12/08現在の料金体系を私が調査した結果」であり、今後変更される場合があります。
ですので、導入の際は改めて公式ドキュメントを確認してください。
自分で調べ、納得した上でこういったサービスを利用できるようになること。
それがクラウド破産への不安を解消する何よりの近道かと思います。
宣伝
最後に少しだけ宣伝をさせてください。
現在、個人開発にてコーヒー好きのためのWebアプリを運営しています!
概要としては「コーヒーの味を維持しながら、出来上がり量を変えられる変換器」となっています。
普段ハンドドリップコーヒーを淹れる方で、「美味しいレシピはあるんだけど、200mlじゃなくて300ml作りたいんだよな...」というような経験がある方、是非お試しください!
レシピ共有機能を付けたり、「今月のおすすめレシピ」システムを取り入れたりもしているので、ぜひチェックしていただけるとありがたいです!