Datadogで無駄にAWS CloudWatchのコストが掛かってるかも？

レバレジーズ株式会社 SREチームリーダーの竹下です。

弊社では、監視周りにDatadogを使用しているのですが、最近なぜかAWS CloudWatchの使用料金が月$100ほど増えていたので調査したところDatadogが原因だったので、調査方法と対処方法を記載しておきたいと思います。


# 現象、調査方法

弊社ではある日から突然、下のスクリーンショットのように、全く使っていないregionのCloudWatchの料金が発生し、月当たり$100ほど使用料が増加していました。


![スクリーンショット 2023-01-18 17.30.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2708474/0fd6867e-609a-c2d8-901a-77f4b3030843.png)
※CloudWatchのリージョン別の使用料金です。横軸は日付です。

上図の取得方法はAWS Consoleの[Cost Explorer](https://us-east-1.console.aws.amazon.com/cost-management/home?region=us-east-2#/cost-explorer?chartStyle=STACK&costAggregate=unBlendedCost&excludeForecasting=false&filter=%5B%7B%22dimension%22:%7B%22id%22:%22RecordTypeV2%22,%22displayValue%22:%22%E6%96%99%E9%87%91%E3%82%BF%E3%82%A4%E3%83%97%22%7D,%22operator%22:%22EXCLUDES%22,%22values%22:%5B%7B%22value%22:%22Refund%22,%22displayValue%22:%22Refund%22%7D,%7B%22value%22:%22Credit%22,%22displayValue%22:%22Credit%22%7D%5D%7D,%7B%22dimension%22:%7B%22id%22:%22Service%22,%22displayValue%22:%22%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%22%7D,%22operator%22:%22INCLUDES%22,%22values%22:%5B%7B%22value%22:%22AmazonCloudWatch%22,%22displayValue%22:%22CloudWatch%22%7D%5D%7D%5D&futureRelativeRange=CUSTOM&granularity=Daily&groupBy=%5B%22Region%22%5D&historicalRelativeRange=CUSTOM&isDefault=true&reportName=&showOnlyUncategorized=false&showOnlyUntagged=false&usageAggregate=undefined&useNormalizedUnits=false)から、
```
日付:適当な期間(料金が増加した日がわかるならその前後)
粒度:日別
グループ化の条件:リージョン
フィルター - サービス: CloudWatch
```

にしてレポートを出してみてください。
使っていないリージョンにも＄0.09〜＄0.16の少額ですがコストが発生している場合、同じ現象が発生しているかもしれません。

ちなみに1リージョンだけなら大したこと無いですが、この少額が20リージョン弱分発生するので、日あたり＄2~＄3、月当りだと＄70~＄80ものコスト増になっていました。


# 原因

原因はDatadogがメトリックス収集のために10分毎にCloudWatchのMetrics取得などを行っているためでした。
[Cost Explore](https://us-east-1.console.aws.amazon.com/cost-management/home?region=us-east-2#/cost-explorer?chartStyle=STACK&costAggregate=unBlendedCost&excludeForecasting=false&filter=%5B%7B%22dimension%22:%7B%22id%22:%22RecordTypeV2%22,%22displayValue%22:%22%E6%96%99%E9%87%91%E3%82%BF%E3%82%A4%E3%83%97%22%7D,%22operator%22:%22EXCLUDES%22,%22values%22:%5B%7B%22value%22:%22Refund%22,%22displayValue%22:%22Refund%22%7D,%7B%22value%22:%22Credit%22,%22displayValue%22:%22Credit%22%7D%5D%7D,%7B%22dimension%22:%7B%22id%22:%22Service%22,%22displayValue%22:%22%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%22%7D,%22operator%22:%22INCLUDES%22,%22values%22:%5B%7B%22value%22:%22AmazonCloudWatch%22,%22displayValue%22:%22CloudWatch%22%7D%5D%7D,%7B%22dimension%22:%7B%22id%22:%22Region%22,%22displayValue%22:%22%E3%83%AA%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%22%7D,%22operator%22:%22INCLUDES%22,%22values%22:%5B%7B%22value%22:%22sa-east-1%22,%22displayValue%22:%22%E5%8D%97%E7%B1%B3%20(%E3%82%B5%E3%83%B3%E3%83%91%E3%82%A6%E3%83%AD)%22%7D%5D%7D%5D&futureRelativeRange=CUSTOM&granularity=Daily&groupBy=%5B%22UsageType%22%5D&historicalRelativeRange=CUSTOM&isDefault=true&reportName=&showOnlyUncategorized=false&showOnlyUntagged=false&usageAggregate=undefined&useNormalizedUnits=false)で
```
日付:適当な期間(料金が増加した日がわかるならその前後)
粒度:日別
グループ化の条件:使用量のタイプ
フィルター - サービス: CloudWatch
        - リージョン: アジアパシフィック(シンガポール)などの特に使っていないリージョン
```

のようにしたときに`CW:Requests`と`CW:GMD-Metrics`に料金が発生していた場合、ほぼDatadogが原因だと思われます。

![スクリーンショット 2023-01-18 17.57.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2708474/18fb5649-a341-6cc6-e592-77fcead9406b.png)



# 修正方法

犯人はDatadogのため、修正はAWS側ではなくDatadog側で行うことになります。
下図のスクリーンショットの、Datadogのダッシュボードの左のメニューから
```
Integrations > Amazon Web Service > {対象のアカウント} > General
```
にアクセスし、Regionsの`Includes all regions`をOffにして、使用しているregionのチェックのみを残してください。(赤丸部分)


![スクリーンショット 2023-01-24 21.10.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2708474/fae4e74a-b519-dc0f-3c95-78fa16a1916b.png)


# 修正されたことの確認

１０分ほど経過したら、CloudWatchのメトリックスで、Cloud Watchの`ListMetrics`と`GetMetricData`を選択したグラフを表示してください。
下図のように、Datadogを設定した後に、無効化したRegionで、`ListMetrics`と`GetMetricData`の取得が途絶えていれば、修正されています。

![スクリーンショット 2023-01-24 21.20.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2708474/b99bc23b-9c9b-43e5-f4ca-2f0255b79b00.png)


# 最後に

$100/月ぐらいの増加なので、大規模なアカウントでは気付きにくいし、AWSアカウント内にはリソースが増えているわけではないのでかなり発見が困難な事象だと思います。使っていないリージョンでの料金発生しているともったいないので、もし同じような状況になっている人の一助になれれば光栄です。