zenet_logo

-株式会社ゼネット技術ブログ-

CloudWatchで作るAWS請求額カスタムダッシュボード|サービス別・期間別に簡単可視化

はじめに

ゼネットシステム事業部の方です。

AWSを利用していると、請求額の確認は重要な業務の一つです。しかし、Billingコンソールへのアクセス権限がないIAMユーザーだと、請求情報の確認が難しいことがあります。
本記事では、CloudWatchダッシュボードを活用して、IAMユーザーでもAWS請求額を簡単に可視化する方法を紹介します。

課題

AWSのコスト管理には、以下のような課題があります。

  1. IAMユーザーの制限
    Billingコンソールにアクセスできないユーザーは、従来の方法では費用の確認が難しいです。

  2. サービス別の料金確認
    EC2、S3、RDSなど、サービスごとの費用を明細単位で確認したい場合、手作業で検索する必要があります。

  3. 期間の自由度
    月単位だけでなく、日単位や週単位で費用を把握したいケースがあります。

こうした課題を解決するために、CloudWatchのBillingメトリクスを利用したダッシュボードの作成が有効です。

CloudWatchのメリット

CloudWatchを利用することで、以下のメリットがあります。

  • IAM権限の制限を回避
    CloudWatchに必要なメトリクスを有効化してダッシュボード化することで、Billingコンソール権限がなくても費用情報を確認可能です。

  • サービス別・期間別の可視化
    メトリクスフィルターを使えば、サービスごとの費用をグラフ化し、期間指定も柔軟に対応できます。

  • 自動通知が可能
    CloudWatchアラームを設定すれば、一定の費用を超えた場合にSNS通知なども可能です。

  • 可視化の自由度
    ダッシュボードで複数のグラフを並べることができ、視覚的に理解しやすいUIを提供できます。

実装手順

1. CloudWatchでのメトリクス確認

  1. CloudWatchコンソール → 「すべてのメトリクス」 → 「Billing」 を選択

  2. EstimatedCharges メトリクスを確認

    • リージョンは米国(バージニア北部)に設定

      (Billingメトリクスはグローバルで米国リージョンに集約される)

    • サービスごとのフィルタも可能

CloudWatchメトリクス-EstimatedCharges

2. ダッシュボード作成

  • ダッシュボード作成画面に移動

    • CloudWatch → 「ダッシュボード」 → 「ダッシュボードの作成」

      1.CloudWatchダッシュボード作成画面
  • ウィジェットの追加

    • 「ウィジェットの追加」をクリックし、ウィジェットのタイプを選択

    • グラフ表示の場合: 「線」「スタックされたエリア」など

      2.ウィジェット追加画面

      3.EstimatedChargesメトリクス選択画面
    • 数字だけを表示したい場合

      1. ウィジェットタイプを「数値(Number)」に設定

      2. オプションタブで「スパークライン」のチェックを外す

      3. 対象メトリクス(例:EstimatedCharges)を設定

      4. ウィジェットを作成

        CloudWatchダッシュボード数値表示設定

      この設定を行うと、グラフではなく数値のみの表示となり、ダッシュボードをスッキリ見せられます。複数のサービスの請求額を並べて表示する場合にも便利です。

  • 完成イメージ

    • グラフと数字表示を組み合わせたダッシュボード

      CloudWatchダッシュボード

3. 閲覧ユーザー権限設定

  • IAMユーザーに以下のポリシーを付与
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cloudwatch:GetMetricData",
        "cloudwatch:GetMetricStatistics",
        "cloudwatch:ListMetrics",
        "cloudwatch:DescribeAlarms",
        "cloudwatch:ListDashboards",
        "cloudwatch:GetDashboard"
      ],
      "Resource": "*"
    }
  ]
}

注意点

  • リアルタイム性の制限
    Billingメトリクスは数時間遅れて反映されるため、即時の正確な請求額確認には向きません。

  • サービス単位の精度
    一部サービスでは、詳細な課金情報がCloudWatchに表示されないことがあります。

まとめ

CloudWatchダッシュボードを利用することで、以下を実現できます。

  • Billingコンソール権限がないIAMユーザーでも請求額を可視化

  • サービス別、期間別に費用を把握

  • 必要に応じてアラーム通知も可能

CloudWatchを活用すれば、AWSコスト管理がより簡単かつ柔軟になります。

参照資料

docs.aws.amazon.com