オブザーバビリティコスト管理
関連イベント
概要
オブザーバビリティスタックが拡大するにつれて、オブザーバビリティプロダクト自体のコストを監視することが重要になります。このソリューションは、Amazon CloudWatch、Amazon Managed Service for Prometheus(AMP)、Amazon Managed Grafana(AMG)、および AWS X-Ray 全体の支出を追跡するためのガイダンスを統合します。また、通常最大のオブザーバビリティ費用項目である CloudWatch のコスト削減と、EKS 上の GPU ワークロードを含む Kubernetes コスト配分のための Kubecost の使用についても説明します。
このアプローチは、AWS Cost and Usage Reports(CUR)をデータ基盤として使用し、サービスごとの Athena ビューと QuickSight または Grafana のダッシュボードで可視化します。Kubernetes 環境では、Kubecost がスケーラブルなメトリクスストレージとして AMP を使用したポッドレベルのコスト配分を提供します。
前提条件
- Cost and Usage Report(CUR)が有効化され、S3 に配信されている AWS Organizations
- CUR CloudFormation テンプレートがデプロイされた Amazon Athena の設定
- Amazon Managed Grafana ワークスペース(Grafana ベースのダッシュボード用)または Amazon QuickSight(QuickSight ダッシュボード用)
- Kubecost の場合:Helm がインストールされた Amazon EKS ク ラスター
- GPU コスト配分の場合:NVIDIA GPU Operator と MIG 対応インスタンス(例:p4d.24xlarge)を備えた EKS クラスター
- Athena、S3(CUR バケット)、CloudWatch、およびオプションで AMP リモートライト/クエリの IAM 権限
アーキテクチャ

アーキテクチャは、CUR データを S3 から Athena ビュー(オブザーバビリティサービスごとに 1 つ)を通じてダッシュボードに流します。Kubernetes コスト配分では、Kubecost が Prometheus 経由でクラスターメトリクスをスクレイプし、配分データを AMP に書き込みます。

デプロイ
CloudWatch コストの可視化
-
CUR が S3 に配信されており、Athena 統合 CloudFormation テンプレートがデプロイされていることを確認します。
-
CloudWatch コスト用の Athena ビューを作成します:
CREATE OR REPLACE VIEW "cloudwatch_cost" AS
SELECT
line_item_usage_type,
line_item_resource_id,
line_item_operation,
line_item_usage_account_id,
month,
year,
sum(line_item_usage_amount) "Usage",
sum(line_item_unblended_cost) cost
FROM database.tablename
WHERE line_item_product_code = 'AmazonCloudWatch'
GROUP BY 1, 2, 3, 4, 5, 6
- この Athena ビューをデータソースとして QuickSight または Grafana ダッシュボードを構築します。
line_item_operationでフィルタリングして、GetMetricData、PutLogEvents、MetricStorage、およびその他のオペレーションのコストを確認します。
Amazon Managed Service for Prometheus コストの可視化
- Athena ビューを作成します:
CREATE OR REPLACE VIEW "prometheus_cost" AS
SELECT
line_item_usage_type,
line_item_resource_id,
line_item_operation,
line_item_usage_account_id,
month,
year,
sum(line_item_usage_amount) "Usage",
sum(line_item_unblended_cost) cost
FROM database.tablename
WHERE line_item_product_code = 'AmazonPrometheus'
GROUP BY 1, 2, 3, 4, 5, 6
- Athena をデータソースとして Grafana で可視化します。ワークスペースごとの RemoteWrite、Query、HourlyStorageMetering などのオペレーションを確認します。

- リアルタイムの取り込みレートモニタリングには、CloudWatch の AMP 提供メトリクス(
AWS/Prometheus名前空間)を Grafana の CloudWatch データソースとして使用します:
