CloudWatch で不必要な請求を削減したり、回避したりする方法を教えてください。

所要時間2分
0

Amazon CloudWatch で発生する不要な請求を削減し、回避したいです。

簡単な説明

CloudWatch の使用料金を確認するには、AWS のコストと使用状況レポートを確認します。不要な料金を削減および回避するには、次の CloudWatch サービスを確認し、費用対効果の高い方法を導入します。

  • CloudWatch カスタムメトリクス
  • CloudWatch メトリクスの API 呼び出し
  • CloudWatch アラーム
  • CloudWatch ダッシュボード
  • CloudWatch Logs
  • CloudWatch Contributor Insights
  • CloudWatch Synthetics
  • CloudWatch Internet Monitor
  • CloudWatch Container Insights
  • CloudWatch Application Signals
  • CloudWatch RUM
  • CloudWatch Evidently

注: 将来の AWS コストをモニタリングするには、請求アラートをオンにするのがベストプラクティスです。

解決策

CloudWatch カスタムメトリクス

CloudWatch の詳細なモニタリングとカスタムメトリクスはすべて、時間単位で日割り計算され、メトリクスが CloudWatch に送信されるときに計測されます。

CloudWatch メトリクスの料金を削減するには、次のいずれかの操作を行います。

  • インスタンスや、Auto Scaling グループの起動設定や、API ゲートウェイに対する詳細な監視を無効にします。
  • カスタムメトリクスの監視を適宜オフにします。Amazon Simple Storage Service (Amazon S3) と Amazon Simple Email Service (Amazon SES) のイベントのメトリクスリクエストは CloudWatch に送信され、料金が発生します。統合 CloudWatch エージェントは、PutMetricData API コールを使用して公開します。カスタムメトリクスの PutMetricData を呼び出すと、料金が発生します。また、Amazon Kinesis Data Streams のディメンションとメトリクスおよび AWS Elastic Beanstalk の拡張ヘルスレポートのメトリクスも CloudWatch に送られて、料金が発生します。

注: カスタムメトリクスのみを表示するには、CloudWatch コンソール[任意のメトリクス、ディメンション、またはリソース ID を検索する] ボックスに「NOT AWS」と入力します。

CloudWatch メトリクスの API 呼び出し

料金は CloudWatch メトリクスの API ごとに異なります。AWS 無料利用枠の上限を超える API 呼び出しには料金が発生します。GetMetricDataGetMetricWidgetImage など、サードパーティの監視ツールが作成するメトリクスは、AWS 無料利用枠には含まれません。詳細については、「CloudWatch メトリクスには GetMetricData と GetMetricStatistics のどちらを使用するべきですか?」を参照してください。

CloudWatch API コールとサードパーティ監視ツールによる料金を削減するには、以下のベストプラクティスを使用します。

  • ListMetrics の呼び出しを、AWS コマンドラインインターフェイス (AWS CLI) からではなく、AWS マネジメントコンソールから無料で行います。
  • API コールの量と関連する料金を削減するには、複数の PutMetricData リクエストを 1 つの API コールにまとめ、メトリクスデータを事前に集計して StatisticSet に格納します。
  • サードパーティの監視ツールの場合は、監視しているメトリクス、またはワークロードで使用されるメトリクスのみを取得します。メトリックスストリームを使用して、より費用対効果の高いデプロイを判別することもできます。お使いのサードパーティ製の監視ツールで発生するコストを必ず確認してください。

CloudWatch アラーム

CloudWatch アラームに関連付けられたメトリクスの数が多いと、コストが発生する可能性があります。例えば、1 つのアラームに複数のメトリクスが関連付けられている場合、メトリクスごとに課金されます。CloudWatch アラームの料金を削減するには、不要なアラームを削除します。

詳細については、「Automating Amazon CloudWatch alarm cleanup at scale」を参照してください。

CloudWatch ダッシュボード

CloudWatch ダッシュボードの使用料金が発生する状況は次のとおりです。

  • AWS 無料利用枠の上限である 3 つのダッシュボード (各ダッシュボードのメトリクスは 50 個まで) を超えている。
  • AWS 無料利用枠の上限を超える、ダッシュボード API の GetDashboardListDashboardsPutDashboardDeleteDashboards の呼び出しを行う。
  • Exception: GetMetricWidgetImage API を使用する。

料金を削減するには、次のいずれかの操作を行います。

  • 不要なダッシュボードを削除します。
  • AWS 無料利用枠を使用している場合は、ダッシュボードの総数を 3 つに制限します。
  • AWS マネジメントコンソールからダッシュボード API コールを行います。

CloudWatch Logs

Amazon CloudWatch Logs では、取り込み、アーカイブの保存、分析を行うことで料金が発生します。料金を削減するには、次のいずれかの操作を行います。

  • 取り込み: ワークロードで生成されるログの量を監視するには、CloudWatch のグラフまたはダッシュボードでこのメトリクスを視覚化します。取り込みの料金が高額になっている場合は、「CloudWatch Logs の請求額が急に増加しているのはどのロググループですか?」を参照してください。取り込みの料金を削減するには、ログ記録レベルを確認し、不要なログの取り込みを削除します。また、ログをコスト効率よく保存するには、使用頻度の低いアクセスログを使用するのがベストプラクティスです。
  • アーカイブ: CloudWatch Logs がデータを保守する期間は、保持ポリシーによって決まります。アーカイブの料金を削減するには、保持ポリシーを変更して保持期間を短縮し、長期間保存されるデータを制限します。
  • 分析: Log Insights を使用してログをクエリしたり、ライブテールを使用してログをリアルタイムで分析したりすると、分析の料金が発生します。Logs Insights で発生する料金を削減するには、クエリをより短い時間枠で実行するように設定して、スキャンされるデータを減らします。ライブテールで発生する料金を削減するには、セッションの使用時間を最小限に抑えます。

CloudWatch Contributor Insights

1 か月につき 1 つの Contributor Insights ルールに収まらなかった場合や、1 か月につきルールに一致するログイベントが 100 万件を超える場合、料金が発生します。料金を削減するには、Contributor Insights レポートを確認して、不要なルールを削除してください。

CloudWatch Synthetics

CloudWatch Synthetics では、1 か月あたりの Canary の実行数が 100 回を超えると料金が発生します。Canary 実行ごとに、AWS LambdaAmazon S3CloudWatch ログCloudWatch メトリクスなどの使用する他の AWS サービスについて、追加料金が発生する可能性があります。 料金を削減するには、不要な Canary を削除してください。

CloudWatch Internet Monitor

CloudWatch Internet Monitor では、監視対象の各リソースとすべての都市ネットワークに対して料金が発生します。CloudWatch Logs に公開する診断ログに対しても、追加料金が発生する可能性があります。料金を削減するには、監視する都市ネットワークの最大数に制限を設定してください。

Container Insights

Container Insights では、収集されたメトリクスと取り込まれたログデータに基づいて料金が発生します。Amazon Elastic Kubernetes Service (Amazon EKS) 向けに強化されたオブザーバビリティを使用する場合、Container Insights のメトリクスとログについては観測ごとに料金が発生します。料金を削減するには、Amazon Elastic Container Service (Amazon ECS) または Amazon EKS クラスター向けに強化されたオブザーバビリティを無効にしてください。

関連情報

CloudWatch の請求とコスト

AWS によるコスト最適化

イベントシリーズ: AWS コスト最適化