AWSコストの無駄をゼロへ!
~AWSコスト管理のアプローチ~

AWSコストの無駄をゼロへ! AWSコスト管理のアプローチ

【はじめに】

「AWSのコストがいつの間にか膨らんでいた・・・・」、そのような経験はありませんか?
近年、AWSをはじめとしたクラウドサービスは、私たちの生活や業務のあらゆる場面で欠かせない存在となっています。
必要なときに迅速に環境を構築でき、柔軟なスケーリングが可能である点は大きな魅力です。
一方で、クラウドサービスは従量課金が基本となるため、日々の小さな利用が積み重なり、「気づいたときには予算を大きく超過していた」という経験をお持ちの方も少なくないのではないでしょうか?
組織で複数アカウント・複数サービスを運用していると、コスト監視の運用設計そのものが負担になります。クラウド活用が当たり前になった今こそ、「どれだけ効率よく、ムダなく利用するか」= コスト管理 は、極めて重要なテーマです。
本記事では、当社における AWSのコスト管理の取り組みについてご紹介します。


【AWSに標準搭載されているコスト管理の仕組み】

AWSには、標準で利用できるコスト管理サービスが複数用意されています。
ここでは、代表的な3つの機能を紹介します。

scroll

No. サービス 概要
1 AWS Cost Explorer
(コストの可視化と分析)
サービス別・アカウント別の費用や使用量をグラフで分かりやすく可視化し、過去の利用傾向や将来の支出予測を確認できる
2 AWS Budgets
(予算設定とアラート)
利用者は事前に予算や使用量のしきい値を設定し、超過が予測された時点でメールや「Amazon SNS」によるアラートを受け取ることができ、リソース停止などの自動アクションによるコストコントロールも可能
3 AWS Cost Anomaly Detection
(異常コストの自動検出)
機械学習を用いて通常の利用パターンから外れた支出を自動で検知し、急激なコスト増加が発生した際にサービスやアカウント単位で原因を分析し通知する

これらの機能を組み合わせることで、「可視化」、「予算管理」、「異常検知」という3つの観点から、基本的なコスト管理が可能となります。


【AWSコスト管理における運用上の課題】

AWSには便利なコスト管理機能が備わっていますが、実際の運用においてコストが異常に増加していても、気づくタイミングが遅れる場合があります。
クラウド利用が拡大する中、わずかな設定ミスや想定外の利用が積み重なることで、予期せぬコスト増加につながります。
こうした「“見落としがちなコスト”を、いかに早期に検知するか?」は、多くの企業に共通する課題です。

①コストの無駄は、より早く気づきたい

請求情報の反映にはタイムラグが存在するため、リアルタイムに近い検知が難しいという課題があります。
その結果、「前日からコストが急増していたことに翌日になって気づく」というケースも少なくありません。

コストの無駄はより早く気づきたい

②新しく使い始めたサービスは、10日間“ブラインド状態”

「AWS Cost Anomaly Detection」は有用な異常検知サービスですが、新たに利用を開始したサービスについては、最低10日分の利用履歴が蓄積されるまで検知が動作しません。
そのため、利用開始直後の誤設定によるコスト増加を見逃すリスクがあります。

新しく使い始めたサービスは10日間ブラインド状態

【当社のアプローチ】

クラウド利用が進む中で、当社では以下の2点をコスト管理における重要なポイントと考えています。

  • 「高額サービスの利用開始や急な増加に早く気づけること」
  • 「運用担当者だけでなく、誰が見ても理解しやすいレポートで、迅速に状況を把握できること」

これらの課題に対し、当社では次のようなアプローチを採用しています。

①高額サービスの新規利用や急なコストの増加を早めにキャッチ!

AWSでは、高額なサービスを新たに起動しただけで、その日から急激にコストが増加するケースがあります。

当社の仕組みでは、

  • 1日2回(朝・夕)、自動でコストを収集する(Cost Explorer反映のタイムラグを考慮したスケジュール設計)
  • 過去の傾向と比較し「通常とは異なる増加パターン」を自動でチェックする
  • 異常を検知した場合は、即座に通知する

という一連の処理を自動化し、高額請求の発生を未然に防ぎます。

②見やすくて理解しやすいレポートにて通知

日々変動するクラウドコストを正しく把握するため、当社では必要な指標のみに絞ったレポートを自動生成しています。増減要因・傾向・異常ポイントをシンプルに整理することで、迅速に判断・対応できる設計としています。

見やすくて理解しやすいレポートにて通知

【システム全体図と処理フロー】

本システムは、AWSの主要サービスを組み合わせたシンプルな構成で、コスト収集からレポート通知までを自動化しています。シンプルな構成でありながら、毎日の変化をしっかり捉えられる点が特長です。

主要なコンポーネントは以下の通りです。

  • Amazon EventBridge:定刻(9:00/17:00)に起動トリガーを発行
  • AWS Lambda:Cost Explorer API からコストデータを取得/比較/異常判定/レポート生成
  • Amazon S3:コストデータと分析データを保管
  • DynamoDB:閾値や異常検知判断の情報を管理
  • Amazon SES:レポートをメール通知
主要なコンポーネント

● 処理フロー

  1. 起動(EventBridge)
    9:00/17:00 にトリガー → Lambdaが処理開始
  2. コスト取得(Lambda)
    Cost Explorer APIから直近の確定コストと日次/月次累計を取得
  3. 比較・判定(Lambda)
    過去データとの比較
    直近30日間の平均値を基準とした差分比較or管理者が設定した閾値
  4. レポート生成(Lambda)
    当月累計/前日比/平均比
    対象サービスと影響額(異常時のみ)
  5. 通知(SES)
    通常レポート:標準件名
    異常時レポート:件名先頭に【重要】を付与(【重要】+標準件名)

【レポート内容】

本システムでは、毎日のコストを分かりやすく確認できるよう、必要なポイントだけをまとめたレポートを自動生成しています。ここでは、実際のレポート例と、その内容についてご紹介します。
なお、掲載しているレポート例では、各サービスの「過去1ヵ月の平均増加額」を基準とし、この基準を上回った場合に異常として判定する設定を用いています。

■ ポイント1

異常検知(閾値)

当日を含む過去1ヵ月の平均コストと比較して増加幅が大きい場合、異常と判断
(平均コスト=デイリーコスト合計 /過去1ヵ月)

異常検知(閾値)

■ ポイント2

本システムでは、1日2回(9時/17時)のデータ差分をもとにコストの増減を判断

  • 9時の収集
    ▶ 過去コスト:前日17時時点
    ▶ 最新コスト:当日9時時点
  • 17時の収集
    ▶ 過去コスト:当日9時時点
    ▶ 最新コスト:当日17時時点
本システムでは、1日2回(9時と17時)のデータ差分をもとにコストの増減を判断

【さいごに】

クラウドを安心して活用するためには、日々のコストをしっかり把握することが欠かせません。
ただし、コスト管理を必要以上に複雑にする必要はありません。今回ご紹介したようにAWSのサービスを組み合わせたシンプルな構成でも、十分に便利で実用的な仕組みを構築することが可能です。
本記事が、皆さまのクラウド運用における「気づき」や「改善のヒント」となれば幸いです。
今後も、日々の運用に役立つ技術や仕組みを発信していければと思っています。

Edge IoT事業部 第2システム部
東 光則

※本ページに記載されている製品名、サービス名、会社名などは、それぞれの企業の登録商標または商標です。

【公式X(旧Twitter)】

株式会社NTTデータSBCX(旧Twitter)でシェア