CloudWatch の使用に対して課金された理由を理解し、今後の請求額を減らすにはどうすればいいですか?
最終更新日: 2022 年 08 月 05 日
AWS 請求書での Amazon CloudWatch の料金が高額です。CloudWatch の使用に料金が請求された理由をどこで確認できますか? また、どうすれば今後の料金を抑えることができますか?
簡単な説明
CloudWatch の料金を理解するには、AWS のコストと使用状況レポートを確認します。以下のサービスに対する料金を見つけてください。
注: 太字の項目は、レポートに表示されていると思われる項目に類似するものです。レポートでは、 region は AWS リージョンの略語を表します。
カスタムメトリクス: MetricStorage region-CW:MetricMonitorUsage
CloudWatch メトリクスの API 呼び出し:
- API 名リージョン CW: リクエスト
- GetMetricData region-CW:GMD-Requests/Metrics
CloudWatch アラーム:
- Unknown region-CW:AlarmMonitorUsage
- Unknown region-CW:HighResAlarmMonitorUsage
CloudWatch ダッシュボード: DashboardHour DashboardsUsageHour(-Basic)
CloudWatch Logs:
- PutLogEvents region-DataProcessing-Bytes
- PutLogEvents region-VendedLog-Bytes
- HourlyStorageMetering region-TimedStorage-ByteHrs
CloudWatch Contributor Insights:
- Contributor Insights Rules: region-CW:ContributorInsightRules
- Contributor Insights の一致したログイベント: region-CW:ContributorInsightEvents
CloudWatch Synthetics Canary の実行: region-CW:Canary-runs
請求された料金とその理由を理解したら、以下の推奨事項に従って、CloudWatch の設定を調整することによって今後のコストを削減します。
今後 AWS のコストを簡単にモニタリングするには、請求アラートを有効化してください。
解決方法
注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください。
詳細モニタリング
- Amazon Elastic Compute Cloud (Amazon EC2) インスタンス、Auto Scaling グループの起動設定、または API ゲートウェイに対する詳細な CloudWatch モニタリングにより、料金が発生します。
- コストを削減するには、必要に応じてインスタンス、Auto Scaling グループの起動設定、または API ゲートウェイの詳細モニタリングをオフにします。
カスタムメトリクス
- 10 個を超えるカスタムメトリクスをモニタリングすることによって料金が発生します。カスタムメトリックスには、作成したメトリックスや、CloudWatch エージェントや EC2 インスタンスからのアプリケーションまたは OS データなどのツールで使用されるメトリックスが含まれます。
- CloudWatch に送信された Amazon Simple Storage Service (Amazon S3) および Amazon Simple Email Service (Amazon SES) イベントのリクエストメトリクスには料金が発生します。
- カスタムメトリクスの PutMetricData 呼び出しにも料金が発生する場合があります。
- CloudWatch に送信された Amazon Kinesis Data Streams の拡張 (シャードレベル) メトリクスおよび AWS Elastic Beanstalk の拡張正常性レポートメトリクスには料金が発生します。
- コストを削減するには、必要に応じてカスタムメトリクスのモニタリングをオフにしてください。カスタムメトリクスのみを表示するには、CloudWatch コンソールの [Search for any metric, dimension or resource ID] (任意のメトリクス、ディメンション、またはリソース ID を検索する) ボックスに NOT AWS と入力します。
CloudWatch メトリクスの API コール
- 料金は CloudWatch メトリクスの API によって異なります。AWS 無料利用枠の上限を超える API 呼び出しについては、料金が発生します。GetMetricData および GetMetricWidgetImage は AWS 無料利用枠には含まれていません。
- サードパーティーのモニタリングツールは、API 呼び出しを頻繁に行うため、コストを増加させる場合があります。
- コストを削減するため
ListMetrics の呼び出しは AWS CLI で行うのではなく、コンソールから無料で実行できます。
複数の PutMetricData リクエストを 1 つの API コールにバッチ処理しますまた、メトリクスデータを StatisticSet に事前に集約することも検討してください。これらのベストプラクティスを使用すると、API 呼び出し量が減り、対応する料金が削減されます。
サードパーティの監視ツールが関係するユースケースでは、アクティブに監視されているメトリック、またはワークロードによって使用されているメトリクスのみを取得するようにしてください。取得したメトリクスを減らすと、課金される金額が減ります。また、メトリックスストリームを代替ソリューションとして使用することを検討し、どの展開が最も費用対効果が高いかを評価することもできます。
詳細については、「CloudWatch のメトリクスとして GetMetricData と GetMetricStatistics のどちらを使用すればよいですか?」をご参照ください。 また、サードパーティーのモニタリングツールで発生するコストも確認してください。
CloudWatch アラーム
- 請求は、CloudWatch アラームに関連付けられたメトリクスの数によって発生します。例えば、複数のメトリクスを持つ 1 つのアラームがある場合、メトリクスごとに課金されます。
- コストを削減するには、不要なアラームを削除します。
CloudWatch ダッシュボード
- ダッシュボード (最大 50 個のメトリクス) の数が 3 つを超えると、料金が発生します。
- AWS CLI または SDK 経由でのダッシュボード関連 API の呼び出しは、リクエストが AWS 無料利用枠の上限を超えると料金が発生します。
例外: GetMetricWidgetImage には常に料金が発生します。 - コストを削減するには、不要なダッシュボードを削除します。AWS 無料利用枠を使用している場合は、ダッシュボードの総数を 3 以下にしてください。また、すべてのダッシュボードのメトリクスの合計数を 50 未満に保つようにしてください。ダッシュボード関連の API 呼び出しは、AWS CLI または SDK 経由ではなく、コンソールから無料で実行します。
CloudWatch ログ
- Amazon CloudWatch ログの取り込み、アーカイブストレージ、分析によって料金が発生します。
- 取り込み料金には、CloudWatch Logs サービスによって取り込まれたログデータの量が反映されます。CloudWatch メトリクス IncomingBytes は、サービスによって処理されたログデータの量を報告します。このメトリクスを CloudWatch グラフまたはダッシュボードで視覚化することで、さまざまなワークロードによって生成されるログの量をモニタリングできます。CloudWatch Logs の取り込み料金が高額になった場合は、「CloudWatch Logs の請求が急に増加したのですが、どのロググループが原因でしょうか?」のガイダンスに従ってください。
- 取り込みコストを削減するために、ログ記録のレベルを再評価し、不要なログの取り込みをなくすことができます。
- アーカイブ料金は、時間の経過に伴うログストレージコストに関連しています。保持ポリシーによって、CloudWatch Logs がデータを保持する期間が決まります。CloudWatch が設定した保持期間より古いデータを自動的に削除するように指示する保持ポリシーを作成できます。これにより、長期にわたって保持されるデータが制限されます。ロググループの既定の保持ポリシーは [無期限] に設定されています。この設定は、CloudWatch がデータを無期限に保持することを意味します。ストレージコストを削減するには、保持ポリシーの変更を検討してください (例えば、データ保持期間を 1 週間、1 か月間などに設定できます)。
- Log Insights を使用してログをクエリすると、分析料金が発生します。この料金は、クエリ結果を提供するためにスキャンされたデータの量に基づきます。Log Insights コンソールには、以前に実行されたクエリの履歴が表示されます。分析料金を削減するために、 Log Insights のクエリ履歴を確認し、クエリをより短い時間枠で実行するように設定できます。これにより、スキャンされるデータ量が削減されます。
CloudWatch Contributor Insights
- 1 か月あたり 1 つの Contributor Insights ルールを超えた場合、または 1 か月あたり 100 万を超えるログイベントがルールに一致した場合、料金が発生します。
- コストを削減するには、Contributor Insights レポートを表示し、不要なルールを削除します。
CloudWatch Synthetics
- CloudWatch Synthetics を使用した 1 か月あたりの Canary 実行が 100 を超えると、料金が発生します。
- コストを削減するには、不要な Canary をすべて削除します。