AWS Cost Explorerでコスト可視化|ムダを見つけて月額費用を削減する実践術

kento_morota 13分で読めます
社内のAI・IT活用、技術がわかる相手に無料相談。 相談 →
目次

AWSの利用料金が月々増え続けているのに、どこにコストがかかっているのか把握できていない――多くの企業が抱えるこの課題を解決するのがAWS Cost Explorerです。

この記事では、Cost Explorerを使ったコストの可視化方法から、無駄なリソースの特定、リザーブドインスタンスやSavings Plansの活用、予算アラートの設定まで、AWS費用を実際に削減するための実践的な手法を解説します。

AWS Cost Explorerとは?コスト管理の第一歩

AWS Cost Explorerは、AWSの利用コストと使用状況をグラフやレポートで可視化するサービスです。過去13か月分のデータを分析でき、将来12か月分のコスト予測も可能です。

Cost Explorerの主な機能は以下の通りです。

  • コストの時系列分析:日次・月次でのコスト推移をグラフ表示
  • サービス別・アカウント別の内訳:どのサービスにいくらかかっているかを分類
  • フィルタリングとグルーピング:タグ、リージョン、インスタンスタイプなどで絞り込み
  • コスト予測:過去の傾向から将来のコストを予測
  • リザーブドインスタンスのレコメンデーション:購入による節約額の試算

Cost Explorerの利用自体は無料です(Cost Explorer APIの呼び出しは有料)。まだ有効化していない場合は、AWSマネジメントコンソールの「請求ダッシュボード」からCost Explorerを有効化しましょう。

コスト配分タグの重要性

Cost Explorerの分析精度を高めるために、コスト配分タグの設定は必須です。タグを設定することで、プロジェクト別・環境別・チーム別のコスト分析が可能になります。

推奨するタグキーの例を示します。

タグキー 用途 値の例
Environment 環境の識別 production, staging, development
Project プロジェクトの識別 web-app, api-service, batch
Team チームの識別 backend, frontend, infra
CostCenter コストセンター engineering, marketing

タグはリソース作成時に必ず設定するルールを組織全体で徹底しましょう。IAMポリシーでタグなしのリソース作成を制限することも可能です。

Cost Explorerの実践的な使い方

Cost Explorerの画面構成と、実際の分析方法を解説します。

月次コストの推移を確認する

まず最初に確認すべきは、月次のコスト推移です。Cost Explorerを開き、以下の設定でレポートを表示します。

  1. 期間:過去6か月
  2. 粒度:月次(Monthly)
  3. グルーピング:サービス(Service)

このレポートから、以下の情報が読み取れます。

  • コストが増加傾向にあるサービスはどれか
  • 特定の月で急増しているサービスはないか
  • 全体のコスト推移と予算との乖離

コスト急増の原因を特定する

月次で急増が見つかった場合、日次レベルでドリルダウンして原因を特定します。

  1. 急増したサービスでフィルタリング
  2. 粒度を日次(Daily)に変更
  3. グルーピングを「使用タイプ」に変更

例えば、EC2のコストが急増している場合、使用タイプでグルーピングすると「BoxUsage:m5.xlarge」のようにインスタンスタイプ別のコストが見えます。「いつ、どのインスタンスタイプが増えたか」を特定することで、原因究明が容易になります。

環境別のコスト分析

コスト配分タグを設定していれば、フィルターでEnvironmentタグを指定して環境別のコストを確認できます。

よくある発見例として、開発環境やステージング環境のコストが本番環境に匹敵するケースがあります。開発環境で本番と同じインスタンスサイズを使っていたり、夜間・休日も稼働させ続けている場合に起こります。

無駄なリソースを見つけて削減する

AWSのコスト削減で最も即効性があるのは、使われていないリソースの特定と削除です。

よくある無駄リソースとその見つけ方

リソース 無駄の内容 確認方法
EBSボリューム EC2を削除してもEBSが残る 未アタッチのボリュームを検索
Elastic IP 未使用のEIPに課金が発生 未関連付けのEIPを確認
EBSスナップショット 古いスナップショットが蓄積 作成日が古いスナップショットを確認
RDSスナップショット 手動スナップショットの蓄積 手動スナップショットの一覧を確認
NATゲートウェイ 不要な環境のNATが稼働中 VPC設計を見直し不要なものを削除
ロードバランサー バックエンドのないALB/NLB ターゲットグループのヘルス状態を確認

AWS Trusted Advisorの活用

AWS Trusted Advisorは、コスト最適化の推奨事項を自動で提示してくれるサービスです。Business Support以上のサポートプランで全チェック項目が利用可能ですが、ベーシックプランでも以下のチェックは無料で利用できます。

  • 使用率の低いEC2インスタンス:CPU使用率が常に低いインスタンスを検出
  • 未使用のEBSボリューム:アタッチされていないボリュームを検出
  • 未関連付けのElastic IP:使われていないEIPを検出

開発環境の自動停止でコスト削減

開発環境やステージング環境を夜間・休日に自動停止することで、最大70%のコスト削減が可能です。

AWS Instance Schedulerや、Lambda関数によるスケジュール停止を設定します。

# Lambda関数でEC2を夜間停止する例(Python)
import boto3

def lambda_handler(event, context):
    ec2 = boto3.client('ec2', region_name='ap-northeast-1')

    # Environmentタグがdevelopmentのインスタンスを取得
    response = ec2.describe_instances(
        Filters=[
            {'Name': 'tag:Environment', 'Values': ['development']},
            {'Name': 'instance-state-name', 'Values': ['running']}
        ]
    )

    instance_ids = []
    for reservation in response['Reservations']:
        for instance in reservation['Instances']:
            instance_ids.append(instance['InstanceId'])

    if instance_ids:
        ec2.stop_instances(InstanceIds=instance_ids)
        print(f"Stopped instances: {instance_ids}")

    return {'statusCode': 200, 'body': f'Stopped {len(instance_ids)} instances'}

EventBridgeで平日19時に停止、翌朝9時に起動するスケジュールを設定します。

リザーブドインスタンスとSavings Plansの活用

継続利用が確実なリソースには、リザーブドインスタンス(RI)Savings Plansを適用することで、大幅なコスト削減が可能です。

リザーブドインスタンスとは

リザーブドインスタンスは、1年または3年の利用を約束することで最大72%の割引を受けられる購入オプションです。

支払いオプション 割引率の目安 初期費用
全額前払い(1年) 約40% あり
一部前払い(1年) 約35% 一部
前払いなし(1年) 約30% なし
全額前払い(3年) 約60-72% あり

Savings Plansの柔軟性

Savings Plansは、RIより柔軟性が高い割引プランです。1時間あたりの一定額のコミットメントで割引を受けられます。

  • Compute Savings Plans:EC2、Fargate、Lambdaに適用可能。インスタンスファミリーやリージョンの変更が自由
  • EC2 Instance Savings Plans:特定のインスタンスファミリーとリージョンに限定。より高い割引率

初めてRI/Savings Plansを購入する場合は、Compute Savings Plansから始めることを推奨します。柔軟性が高いため、将来のリソース変更に対応しやすく、リスクが低いためです。

Cost Explorerのレコメンデーション機能

Cost Explorerには、過去の利用パターンを分析して最適なRI/Savings Plansを提案する機能があります。

  1. Cost Explorerの左メニューから「Savings Plans」→「Recommendations」を選択
  2. 期間(1年/3年)と支払いオプションを選択
  3. 推奨コミットメント額と予想節約額を確認

この機能を定期的に確認し、3か月以上安定して稼働しているリソースはRI/Savings Plansの適用を検討しましょう。

AWS Budgetsで予算管理とアラートを設定する

コストの可視化だけでなく、予算を設定して超過時に自動通知する仕組みも重要です。AWS Budgetsを使えば、コストが予算に近づいた時点でアラートを受け取れます。

予算アラートの設定手順

# AWS CLIでの予算作成例
aws budgets create-budget \
  --account-id 123456789012 \
  --budget '{
    "BudgetName": "Monthly-Total-Budget",
    "BudgetLimit": {
      "Amount": "500000",
      "Unit": "JPY"
    },
    "TimeUnit": "MONTHLY",
    "BudgetType": "COST"
  }' \
  --notifications-with-subscribers '[
    {
      "Notification": {
        "NotificationType": "ACTUAL",
        "ComparisonOperator": "GREATER_THAN",
        "Threshold": 80,
        "ThresholdType": "PERCENTAGE"
      },
      "Subscribers": [
        {
          "SubscriptionType": "EMAIL",
          "Address": "ops-team@example.com"
        }
      ]
    },
    {
      "Notification": {
        "NotificationType": "FORECASTED",
        "ComparisonOperator": "GREATER_THAN",
        "Threshold": 100,
        "ThresholdType": "PERCENTAGE"
      },
      "Subscribers": [
        {
          "SubscriptionType": "EMAIL",
          "Address": "ops-team@example.com"
        }
      ]
    }
  ]'

この設定では、以下の2つのアラートが発動します。

  • 実績が予算の80%に到達した時点でメール通知
  • 予測値が予算の100%を超過しそうな場合にメール通知

予測ベースのアラートは特に有用で、月末を待たずにコスト超過の可能性を早期に検知できます。CloudWatchの監視設定と組み合わせることで、コスト異常を多角的に監視できます。

サービス別のコスト最適化チェックリスト

主要サービスごとの具体的なコスト最適化ポイントをまとめます。

EC2のコスト最適化

  • インスタンスの適正サイズ化:CPU使用率が常に20%以下なら、1サイズ小さいインスタンスに変更
  • スポットインスタンスの活用:中断許容のバッチ処理にはスポットで最大90%削減
  • Graviton(ARM)インスタンスへの移行:同等性能で約20%のコスト削減
  • 前世代インスタンスの移行:m4からm6iへの移行で性能向上とコスト削減を両立

S3のコスト最適化

  • ストレージクラスの最適化:アクセス頻度に応じてS3 Intelligent-Tieringを活用
  • ライフサイクルポリシー:古いオブジェクトをGlacierに自動移行
  • 不完全なマルチパートアップロードの削除:放置すると無駄なストレージコストが発生

S3の実践ガイドでストレージクラスの詳細を確認してください。

データ転送コストの最適化

AWSのコストで見落としがちなのがデータ転送コストです。

  • VPCエンドポイントの活用でNATゲートウェイ経由の転送コストを削減(VPC設計ガイド参照)
  • CloudFrontの活用でオリジンからのデータ転送量を削減(CloudFront CDNガイド参照)
  • リージョン間データ転送の最小化

コスト最適化を継続するための運用体制

コスト最適化は一度行って終わりではなく、継続的な取り組みが必要です。

月次コストレビューの実施

月に1回、以下の内容でコストレビューを実施することを推奨します。

  1. 前月比のコスト変動:10%以上増加したサービスの原因特定
  2. 無駄リソースの棚卸し:未使用リソースの確認と削除
  3. RI/Savings Plansのカバー率:利用率が低下していないかの確認
  4. コスト予測の確認:来月以降のコスト予測と予算の比較
  5. 新規最適化の検討:Trusted Advisorの推奨事項の確認

AWS Well-Architected Frameworkとの連携

コスト最適化はAWS Well-Architected Frameworkの5本柱の1つです。Well-Architected Frameworkの実践ガイドで、コスト最適化を含む包括的な設計原則を確認し、全体的なアーキテクチャ改善の一環としてコスト最適化に取り組みましょう。

また、クラウド全般のコスト管理についてはクラウドコスト削減の方法も参考になります。

まとめ:可視化から始めて着実にコストを削減する

AWS Cost Explorerを活用したコスト最適化の実践方法を解説しました。

  • Cost Explorerでまずコストを可視化し、現状を正確に把握する
  • コスト配分タグを設定して、プロジェクト・環境別の分析を可能にする
  • 無駄リソースの特定と削除で即効性のある削減を実現する
  • RI/Savings Plansで安定稼働リソースの割引を適用する
  • AWS Budgetsで予算アラートを設定し、コスト超過を早期に検知する
  • 月次レビューで継続的にコスト最適化を推進する

コスト最適化の第一歩は「知ること」です。まずはCost Explorerを開いて、自社のAWSコストの全体像を確認するところから始めてみてください。

#AWS#コスト最適化#Cost Explorer
ManageAI 先行モニター企業 募集中|先着5社・2026年11月末まで

生成AIの利用費、「誰が・何のために・いくら」まで見えていますか?

株式会社カイダンと共同開発したAI利用ガバナンスSaaS「ManageAI」は、OpenAI・Azure OpenAI・Claude・AWS Bedrock・Google Vertex AIの費用と利用状況を、部署・利用者・プロジェクト別に可視化します。導入は読み取り専用キーの登録だけ。初期費用0円・月額5万円(税別)で先行モニター企業を募集しています。

ニュースリリースを読む
共有:
無料メルマガ

週1回、最新の技術記事をお届け

AI・クラウド・開発の最新記事を毎週月曜にメールでお届けします。登録は無料、いつでも解除できます。

プライバシーポリシーに基づき管理します

関連記事

Related / 9 articles

  1. プログラミング

    DDoS攻撃の仕組みと対策入門|レイヤー別の防御とCDN・クラウドの活用

    DDoS攻撃をボリューム型・プロトコル型・アプリ層に分けて仕組みを解説し、自前サーバーで防げない理由、CloudflareやAWS Shieldの標準防御、オリジンIPの隠し方、レートリミットとBot対策、攻撃を受けたときの初動、費用が跳ね上がるDenial of Walletへの備えまでわかります。

  2. プログラミング

    WAFとは?仕組み・導入パターン・誤検知対策|Webアプリを攻撃から守る実践ガイド

    WAFがファイアウォールやIDSと何が違うのか、シグネチャとマネージドルールの仕組み、Cloudflare WAF・AWS WAF・ModSecurityの比較、フォーム送信がブロックされる誤検知の調査と例外設定、ログ監視、WAFが代替できないことまで実践的に解説します。

  3. プログラミング

    セキュリティヘッダー入門|CSP・HSTS・X-Frame-Optionsの設定と効果を実践解説

    CSP・HSTS・X-Frame-Options・X-Content-Type-Optionsなど主要セキュリティヘッダーが防ぐ攻撃と、CSPのReport-Onlyからの段階導入、nonce/hash、HSTS preloadの不可逆リスク、Nginx・Next.js・Astroでの設定例、確認方法を解説します。

  4. プログラミング

    クラウドの通信費(Egress)入門|データ転送量課金の仕組みと転送コストを抑える設計

    クラウドの「受信無料・送信有料」の原則、AZ間・リージョン間・インターネット向けの単価差、NATゲートウェイ処理料の罠、CDNで転送量を減らす方法、バックアップやログ転送の見落とし、請求書で転送料を特定する手順を解説。想定外の請求を防げます。

  5. プログラミング

    秘密情報をGitに入れない仕組み|.gitignore・git-secrets・履歴から漏れた鍵の削除

    APIキーや.envをGitにコミットしてしまう典型経路と、.gitignore・.env.exampleの運用、pre-commitでのgitleaks検知、GitHub secret scanningの活用、漏れた鍵の無効化と履歴書き換え(git filter-repo)の手順を解説。仕組みで再発を防げます。

  6. プログラミング

    開発・ステージング・本番環境の分離設計|環境差分をなくす構成とアクセス制御

    開発・ステージング・本番それぞれの目的と、構成をコードで揃える方法、環境別の設定注入、本番データを使わないテストデータ戦略、ステージングの保護(Basic認証・IP制限・noindex)、コストを抑える運用までを解説。環境差分による本番障害を防げます。

  7. プログラミング

    ngrok・Cloudflare Tunnelでローカルを公開|Webhook開発とデモ環境の作り方

    NAT内のローカル環境にStripeやLINEのWebhookを届けるトンネリングの仕組みを解説。ngrok・Cloudflare Tunnel・localtunnelの比較、固定ドメインと認証、リクエスト検査、公開時のセキュリティ、自宅サーバー公開への応用までわかります。

  8. プログラミング

    ローカル開発環境のHTTPS化|mkcert・hostsファイル・自己署名証明書の正しい使い方

    ローカル開発をHTTPS前提にすべき理由(Secure Cookie・Service Worker・OAuth)と、mkcertでローカルCAを作りhostsで独自ドメインを割り当ててVite・Next.js・Dockerで使う手順を解説。証明書警告を無視する癖の危険も理解できます。

  9. プログラミング

    localhost・0.0.0.0・127.0.0.1の違い|ポートとUnixソケットを理解して「つながらない」を解決

    localhost・127.0.0.1・0.0.0.0の意味の違い、Dockerで外から接続できない原因、host.docker.internal、ポート競合の調べ方、Unixソケットの利点と権限、1024未満ポートの制約を解説。「つながらない」を仕組みから解決できます。

ManageAI

先行モニター企業 募集中

生成AIのコストを「部署別」に、請求書より先に。

先着5社限定・2026年11月末まで。初期費用0円・月額5万円(税別)で、正式版と同等の機能に加え、開発者と伴走者による導入支援を追加費用なしで提供します。プロンプト原文は一切取得しません。

株式会社カイダン × Harmonic Society株式会社の共同事業|読み取り専用キーの登録だけで導入できます