AWSでオートスケールする設定でAWS Configを使うときは注意
AWSで以前から気になっていたSecurity Hubを試してみようと思いたったが、1週間後にCost Explorerを見たら予想外にコストがかかっていて驚いた。
Security Hubそのものは初回30日間無料なのだが、Security Hubの稼働に必要なConfig (AWS Config)は無料期間なしなので試しと言っても費用がかかってしまう。ConfigはAWSのあらゆるサービスの操作ログと設定のスナップショットを取って、運用ポリシー(ルール)に反した設定が存在するときに警告を出したり、自動的に修復することができるらしい。Security Hubはこの仕組みを使ってAWS内の設定でセキュリティ上問題があるものを集約し表示するというもの。
で、AWSで操作しない限りConfigのログはそうそう増えないはずなのだけど、EC2でオートスケーリングするようにしているとそうではないのだ。インスタンスを作って起動して停止して削除してという操作のタイミングでいちいちConfigのログが増えていく。そして新しいログに対して問題があるかどうか審査がなされる。
Configの料金体系は「AWS アカウントに記録された設定項目あたり 0.003USD」と「ルール評価ごとに 0.001USD(最初の10万件)、0.0008USD(次の40万件)、0.0005USD(50万件超)」となっている。Security Hubが作成したルールは全部で191件あった。たった1週間で2万件ほどの記録がなされていた。2万件→60ドル→7000円くらい?オートスケーリングでインスタンスが増えたり消えたりするたびに課金されていたのだろう。具体的にどういうカウントになっていたかまだ調べ切れていないがConfigが集めたログはS3バケットに保存されるので時間があれば詳細を調べてみたい。
有料と言ってもそう高いものではないだろうと思っていたが、想定外のコストがかかってしまって驚いた。オートスケーリングが有効になっていると課金タイミングが増えて余分なコストがかかってしまうからだと推測した。
参考情報
- AWS Config で記録されるリソースを限定する | 空想ブログ
Security HubではなくConfig Rulesでの記事だが基本的には同じこと。Configで記録する対象を限定してコストがかさまない方法を紹介している -
AWS Security Hub を有効にすると AWS Config の利用料が倍増した話 - サーバーワークスエンジニアブログ
AWSサポートとのやりとりでConfigのコスト増の原因を調べるためのS3バケットのクエリが載っている。EC2インスタンスを100台以上夜間停止していることによるものだそう。 -
AWS Configの請求金額が高くなった原因を調べてみた - Qiita
オートスケーリングでコンテナの増減があるとコストがかかるとのこと。こちらもConfigのログのクエリあり。Configの対象から特定のAWSリソースを除外する方法についても。一番よくまとまっている。