loader image

【AWS】CloudWatch の不要なメトリクスが高額請求の原因に?注意点と再発防止策

先日、Billing and Cost Management の請求書を確認したところ、見慣れないリージョンからの請求が発生していることに気づきました。内訳を詳しく確認した結果、CloudWatch のメトリクスが意図しないリージョンに設定されており、料金が高騰していることが判明しました。

調査の結果、原因は 全リージョンで CloudWatch メトリクスが作成された ことによるものでした。

この経験を踏まえ、同様の事象が発生した場合の対処法と、Datadog 利用時の注意点をまとめました。

1. 請求額の高騰に気づいたら、まず原因を特定

CloudWatchの料金が高額になっている場合、以下の要因が考えられます。

  • ログの保存量増加: ログの保存期間やログ出力が多いサービスがないか確認。
  • CloudWatch Logs Insights の利用: 複雑なクエリや長期間のデータ検索を行っていないか確認。
  • CloudWatch メトリクスの利用:
    • カスタムメトリクスの増加: 意図しないカスタムメトリクスが作成されていないか確認。
    • 不要なリージョンへのメトリクス設定: 今回のケース。
  • CloudWatch アラームの利用: 多数のアラームを設定していないか確認。
  • Vended Logs (AWS サービスからのログ): VPC Flow Logs や Route 53 クエリログなどの取り込み量を確認。
  • CloudWatch Events (EventBridge) の利用: イベントの送受信量を確認。

2. 不要なメトリクスの削除 (AWSサポートへの依頼)

現在、AWSの CloudWatch メトリクスは、ユーザー自身で削除できません。 特に、Datadog などのサードパーティ製ツールによって作成されたメトリクスは、AWSコンソールから直接削除できない場合があります。

不要なメトリクスを削除したい場合は、AWSサポートに依頼する必要があります。

  1. AWSサポートコンソールにアクセスします。
  2. ケースを開くを選択し、サービス: に「CloudWatch」、カテゴリ: に「メトリクス」などを選択します。
  3. 件名詳細に、不要なメトリクスが存在するリージョンとメトリクス名、および削除を希望する旨を記載します。
  4. 必要に応じて、Cost Explorerや請求書の画面キャプチャなどを添付します。

3. メトリクスが作成された原因の調査 (CloudTrail)

同様の事象の再発を防ぐために、不要なメトリクスがいつ、何故作成されたのかを調査します。AWS CloudTrail を利用することで、APIの実行履歴を確認できます。

  1. AWSマネジメントコンソールにログインし、CloudTrailを開きます。
  2. 左側のナビゲーションペインで、[イベント履歴] を選択します。
  3. 以下の条件でイベントをフィルタリングします。
    • タイムスタンプ: メトリクスが作成された可能性のある期間。
    • サービス名: CloudWatch
    • イベント名: PutMetricData
    • ユーザー名: Datadog のインテグレーションに関連する IAM ロールまたはユーザー。
    • リージョン: 不要なメトリクスが存在するリージョン。

CloudTrailのイベント詳細を確認し、原因は Datadog の AWS インテグレーション設定 にある事が判明しました。

4. 再発防止策と Datadog 利用時の注意点

今回の経験を踏まえ、以下の再発防止策と Datadog 利用時の注意点を検討します。

  • Datadog インテグレーション設定の見直し: Datadog の AWS インテグレーション設定で、メトリクスを収集するリージョンを意図した範囲に絞り込めているか確認します。特定リージョンのみを監視する設定が可能な場合があるので、設定を見直してください。
  • 不要なリージョンでのリソース作成の抑制: AWS Organizations の SCP (Service Control Policy) などを使用して、不要なリージョンでのリソース作成を制限することを検討します。
  • IaC (Infrastructure as Code) の導入と管理徹底: Terraform などのIaCツールを利用してインフラ構成をコードで管理し、レビュープロセスを設けることで、意図しないリソース作成を防ぎます。
  • モニタリングとアラートの設定: CloudWatch のメトリクス変化を監視するアラートを設定し、予期しないメトリクスの増加や異常値を早期に検知できるようにします。
  • 定期的なコストチェック: AWS Cost Explorer や Billing and Cost Management の請求書などを利用して定期的にコストを監視し、全リージョンからの請求など、異常な増減があれば早めに原因を調査します。
  • タグ付けの徹底: リソースに適切なタグを付与することで、コスト分析やリソース管理を容易にします。

まとめ

CloudWatchの不要なメトリクスが原因で料金が高騰するケースは、設定ミスや自動化された処理などが原因で起こり得ます。特に、Datadog のようなサードパーティ製監視ツールを AWS 環境に連携させる場合、リージョン設定には十分な注意が必要です。Billing and Cost Management の請求書で全リージョンからの請求に気づくことが、異常を早期に発見するきっかけとなります。今回の経験を活かし、原因特定、AWSサポートへの依頼、そして Datadog の設定見直しを含む再発防止策を講じることで、AWSの利用料金を最適化することができます。

コメント

タイトルとURLをコピーしました