「気づかぬうちにAWSの請求額が増えている…」
AWSの利用が進むほど、気づかないうちにコストが膨らみがちです。
とくに見落とされやすいのが、「誰も使っていないEC2インスタンスが稼働し続けている」という状態です。
開発用やテスト用など、いったん作って放置されがちなリソースを洗い出すだけでも、AWSコストの大幅な見直しが可能です。
この記事では、放置インスタンスの見つけ方と、常時稼働の必要のないインスタンスの起動・停止の自動化について、実際に使える手順や考え方を紹介します。
この記事はこんな人にオススメ!
- AWSの開発・検証環境が夜間や休日も常時起動している
- 社内で「止めていいリソースがどれか分からない」と困っている
- 手動での停止が面倒になり、自動化を検討中
背景:見えない浪費が請求を押し上げる
AWSでは、EC2インスタンスを起動した瞬間から課金が発生します。
それにもかかわらず、テストに使っただけのインスタンスが放置されたり、誰が作ったか分からないリソースが稼働し続けていたりすることは、意外と多くあります。
また、開発・検証用の環境が夜間や休日もそのまま動いているケースも珍しくありません。
こうした「気づかぬうちに発生する課金」が、静かに、確実に、請求額を押し上げています。
Step1:放置インスタンスを検出する
1. CloudWatchでCPU使用率をチェック

まず確認したいのは、各インスタンスの「使用実態」です。
その際、より一般的で信頼できる方法は、Amazon CloudWatchを使ったモニタリングです。
CloudWatchでは、EC2インスタンスごとのCPU使用率やネットワークトラフィック、ディスクI/Oなどをグラフで可視化できます。
おおよその目安として、1週間以上CPU使用率が5%未満で推移しているインスタンスは、使われていない可能性が高いと判断できます。
補足:マネジメントコンソール上の「モニタリング」タブでも一部のデータは見られますが、CloudWatchの方が履歴表示やアラーム設定など機能が豊富で、日常的な監視にも適しています。
2. Trusted Advisorを使って効率的に確認

Trusted Advisorは、AWSアカウント内のリソースに対してコスト最適化や運用改善のアドバイスを提供してくれるサービスです。
「コスト最適化」カテゴリ内にある「使用率の低いAmazon EC2インスタンス」の項目では、CPU使用率が一定未満のインスタンスを自動抽出してくれます。
ただし、精度の高いアドバイスを受けるには、インスタンスに「タグ」を適切に設定しておくことが前提です。
たとえば「 Environment=Dev」や「Owner=田中」などのタグがないと、運用上の意味づけができず、止めてよいかどうかの判断に迷いが生じます。
また、Trusted Advisorには無料プランと有料プランの違いがあります。AWSビジネスサポートプラン以上に加入することでTrusted Advisorの全てのプランが利用可能になります。

コスト最適化に関するレポート機能を本格的に使いたいなら、ビジネスサポート以上の契約が必要になります。
💡SunnyPayなら? SunnyPay経由でAWSを利用すれば、ビジネスサポートをそのまま継続して使える上に、契約時に5%の割引も適用されます。 つまり、Trusted Advisorの高度なコスト最適化レポートを活用しつつ、コストそのものも抑えられるというのがSunnyPayの大きな強みです。
Step2:EventBridge Schedulerで稼働時間をカンタン制御
稼働時間を制御する方法はいくつかありますが、今回取り上げるのはその中でも汎用的で比較的簡単に扱えるEventBridge Schedulerです。複雑な設定やLambdaを組み合わせる必要はなく、Schedulerを使えばEC2やRDSの「起動」「停止」を直接スケジューリングできます。
実際の画面を見ながら、平日だけ自動で起動・停止させる設定をやってみましょう。
1.AWSコンソールで EventBridge Schedulerを選択

2.「スケジュールを作成」→名前・説明を入れる

↓

3.「定期的なスケジュール」を選択。スケジュール種別は基本 cron または rate を指定

4.対象のターゲットを選択

↓

問題がなければ「次へ」。
5.「スケジュール完了後のアクション」を選択

「DELETE」を選ぶと、ターゲットの呼び出しが完了した後、スケジュール自体が自動的に削除されてしまいます。
6.実行ロールの作成



“Service”: “scheduler.amazonaws.com”
を入力し、「次へ」を押してください。
EC2の起動・停止のみを与えた許可ポリシーをアタッチします。

7.作成したロールを指定し内容を確認する

内容を確認し問題なければ「スケジュールを作成」で完成です。
お疲れ様でした!
効果:数字でわかる稼働時間のインパクト
では、どのくらいのコスト差が生まれるのか?
汎用的でよく使われるインスタンスタイプ「m5.large」を例に、常時稼働と「平日昼間のみ稼働」を比較してみましょう。以下の条件のもと、簡単に比較してみました。
リージョン | OS | インスタンスタイプ | 為替レート |
東京リージョン | Linux | m5.large | 150円/ドル |
項目 | 稼働時間 | 計算内容 (オンデマンド料金×時間×レート) | 概算 |
常時稼働 | 毎日24時間 (約720時間/月) | USD 0.124 × 720h × ¥150/USD | 約13,392円 |
平日9時~18時のみ稼働 | 毎日9時間 (約200時間/月) | USD 0.124 × 200h × ¥150/USD | 約3,720円 |
実際には、インスタンスの台数や利用パターンによって効果は異なりますが、このように稼働時間を見直すだけでも、明確なコスト差が生まれることがわかります。
「止められる時間帯を止める」というシンプルな工夫が、大きなコストカットにつながります。
注意点:必ず確認プロセスを挟む
CPU使用率が低くても、監視や自動タスクで最低限稼働している可能性があります。
ステージング環境、本番に影響する依存リソースなど、停止の前に目的と関係者の確認を必ず行いましょう。
自動化する場合も、祝日やメンテナンス日など例外処理の設計を忘れずに。
まとめ:まずは「止められる時間」を仕組みで止める
いかがでしたか?
クラウドのコスト最適化は、難しい仕組みから始める必要はございません。
まずは放置されたインスタンスを洗い出し、開発・検証環境の起動・停止をEventBridge Schedulerで自動化してみてください。
それだけでも月額コストには明確な差が生まれます。
手作業や注意喚起に頼る運用から卒業し、「止められる時間を確実に止める」仕組みを今日から取り入れていただくことをおすすめいたします。
以上、最後までお読みいただきありがとうございました!
SunnyPayなら?
SunnyPayのダッシュボード「SunnyView」では、インスタンスごとの利用状況やコストを視覚的に把握できます。
「誰が何のために使っているか分からない…」というケースでも、SunnyCloudのコスト最適化チームが第三者の視点で“止められるリソース”をリストアップし、見つかったリスクのご提示などをさせていただいております。
「気になっていたけど止められなかった」インスタンスを、今こそ見直してみませんか?
