レバレジーズ株式会社 SREチームリーダーの竹下です。
弊社では、監視周りにDatadogを使用しているのですが、最近なぜかAWS CloudWatchの使用料金が月$100ほど増えていたので調査したところDatadogが原因だったので、調査方法と対処方法を記載しておきたいと思います。
現象、調査方法
弊社ではある日から突然、下のスクリーンショットのように、全く使っていないregionのCloudWatchの料金が発生し、月当たり$100ほど使用料が増加していました。
※CloudWatchのリージョン別の使用料金です。横軸は日付です。
上図の取得方法はAWS ConsoleのCost Explorerから、
日付:適当な期間(料金が増加した日がわかるならその前後)
粒度:日別
グループ化の条件:リージョン
フィルター - サービス: CloudWatch
にしてレポートを出してみてください。
使っていないリージョンにも$0.09〜$0.16の少額ですがコストが発生している場合、同じ現象が発生しているかもしれません。
ちなみに1リージョンだけなら大したこと無いですが、この少額が20リージョン弱分発生するので、日あたり$2~$3、月当りだと$70~$80ものコスト増になっていました。
原因
原因はDatadogがメトリックス収集のために10分毎にCloudWatchのMetrics取得などを行っているためでした。
Cost Exploreで
日付:適当な期間(料金が増加した日がわかるならその前後)
粒度:日別
グループ化の条件:使用量のタイプ
フィルター - サービス: CloudWatch
- リージョン: アジアパシフィック(シンガポール)などの特に使っていないリージョン
のようにしたときにCW:Requests
とCW:GMD-Metrics
に料金が発生していた場合、ほぼDatadogが原因だと思われます。
修正方法
犯人はDatadogのため、修正はAWS側ではなくDatadog側で行うことになります。
下図のスクリーンショットの、Datadogのダッシュボードの左のメニューから
Integrations > Amazon Web Service > {対象のアカウント} > General
にアクセスし、RegionsのIncludes all regions
をOffにして、使用しているregionのチェックのみを残してください。(赤丸部分)
修正されたことの確認
10分ほど経過したら、CloudWatchのメトリックスで、Cloud WatchのListMetrics
とGetMetricData
を選択したグラフを表示してください。
下図のように、Datadogを設定した後に、無効化したRegionで、ListMetrics
とGetMetricData
の取得が途絶えていれば、修正されています。
最後に
$100/月ぐらいの増加なので、大規模なアカウントでは気付きにくいし、AWSアカウント内にはリソースが増えているわけではないのでかなり発見が困難な事象だと思います。使っていないリージョンでの料金発生しているともったいないので、もし同じような状況になっている人の一助になれれば光栄です。