はじめに
内容を見ると、AWSの無料利用枠の85%を超過してしまっているとのこと。
AWS Consoleにログインして、実際に状況を調べてみました。
原因はAWS CloudTrailだった!
今回AWSで最初にやるべきことをネットで検索して、書いてある内容をそのまま実践しました。
その中にAWS上の操作履歴をログとして保存するCloudTrailというサービスがあります。
結論から言うと、このCloudTrailが課金の原因でした。
課金対象のサービス
請求ダッシュボードからいくら課金されたのか実際に見てみることにしました。
内訳としては次の通り。34円程度と少額なのが不幸中の幸いでした。
- Key Management Service
- $1 per customer managed KMS key version in Asia Pacific(Tokyo) $0.25
- Simple Storage Service
- $0.00 per request - PUT, COPY, POST, or LIST requests under the monthly global free tier $0.00
- $0.0047 per 1,000 PUT, COPY, POST, or LIST requests $0.01
CloudTrail自体に課金が発生しているのではなくて、S3にログを保存する際の暗号化に使うKMSやS3へのリクエストに対して課金が発生しているようでした。
対処法
このまま放置していると、少額ですが課金が発生し続けるため、大きく分けて次の3つの対応を実施しました。
※ログを完全に削除するので、ご注意ください。
- CloudTrailによる証跡の停止・削除
- カスタマー管理型のKMSキーの削除
- S3上にあるログの削除
対処手順
- CloudTrailのダッシュボードから対象の証跡情報に対して「ログ記録の停止」を実行する(これでS3へのリクエストはなくなります)
- 同じ画面で「削除」を実行する
- S3の画面に移動し、ログが保存されているバケットを選択して、「空にする」を実行する
- 同じ画面で「削除」を実行する
- KMSの画面に移動し、「カスタマー管理型のキー」の画面を表示する
- 「キーのアクション」から「無効」を実行する
- 同じ画面で「キーのアクション」から「キーの削除をスケジュール」を実行する
- キーは即日削除はできないため、最短の待機期間の「7日」に設定する
以上で、CloudTrailを設定する前の状態に戻すことができました。
ちなみにS3には次のように全リージョンに対して、ログが取られていました。
こんなにログをはいて、暗号化もしていればそりゃ課金されますよね・・・
S3へのリクエスト回数が大量になっていたのもうなずけます。
今後は定期的にAWS Consoleにログインして、課金されていないかチェックしようと思います。
ちなみに、AWSのアプリもあり、スマホでも課金状況をチェックできるようです。