
はじめに
ゼネットシステム事業部の方です。
AWSを利用していると、請求額の確認は重要な業務の一つです。しかし、Billingコンソールへのアクセス権限がないIAMユーザーだと、請求情報の確認が難しいことがあります。
本記事では、CloudWatchダッシュボードを活用して、IAMユーザーでもAWS請求額を簡単に可視化する方法を紹介します。
課題
AWSのコスト管理には、以下のような課題があります。
-
IAMユーザーの制限
Billingコンソールにアクセスできないユーザーは、従来の方法では費用の確認が難しいです。 -
サービス別の料金確認
EC2、S3、RDSなど、サービスごとの費用を明細単位で確認したい場合、手作業で検索する必要があります。 -
期間の自由度
月単位だけでなく、日単位や週単位で費用を把握したいケースがあります。
こうした課題を解決するために、CloudWatchのBillingメトリクスを利用したダッシュボードの作成が有効です。
CloudWatchのメリット
CloudWatchを利用することで、以下のメリットがあります。
-
IAM権限の制限を回避
CloudWatchに必要なメトリクスを有効化してダッシュボード化することで、Billingコンソール権限がなくても費用情報を確認可能です。 -
サービス別・期間別の可視化
メトリクスフィルターを使えば、サービスごとの費用をグラフ化し、期間指定も柔軟に対応できます。 -
自動通知が可能
CloudWatchアラームを設定すれば、一定の費用を超えた場合にSNS通知なども可能です。 -
可視化の自由度
ダッシュボードで複数のグラフを並べることができ、視覚的に理解しやすいUIを提供できます。
実装手順
1. CloudWatchでのメトリクス確認
-
CloudWatchコンソール → 「すべてのメトリクス」 → 「Billing」 を選択
-
EstimatedChargesメトリクスを確認-
リージョンは米国(バージニア北部)に設定
(Billingメトリクスはグローバルで米国リージョンに集約される)
-
サービスごとのフィルタも可能
-

2. ダッシュボード作成
-
ダッシュボード作成画面に移動
-
CloudWatch → 「ダッシュボード」 → 「ダッシュボードの作成」

1.CloudWatchダッシュボード作成画面
-
-
ウィジェットの追加
-
「ウィジェットの追加」をクリックし、ウィジェットのタイプを選択
-
グラフ表示の場合: 「線」「スタックされたエリア」など

2.ウィジェット追加画面 
3.EstimatedChargesメトリクス選択画面 -
数字だけを表示したい場合
-
ウィジェットタイプを「数値(Number)」に設定
-
オプションタブで「スパークライン」のチェックを外す
-
対象メトリクス(例:
EstimatedCharges)を設定 -
ウィジェットを作成

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コスト管理がより簡単かつ柔軟になります。
