おこじょめもらんど
891 文字
4 分
KMS の Customer Managed Key がなんのために使われていたのか確認したい
2024-01-01

普段あまりお金をかけないように AWS をちょこちょこ使っていますが、ふと 12 月の利用料金を見たら謎に $1 の費用が発生してました。

Cost Explorer で確認したところ、 KMS でコストが発生していたので、何にコストが発生しているのかなんのために残っているかなどを調査してみました。


目次#

先に結論#

  • 基本は CloudTrail の Event history をトレースすることになる
  • CreateKeyCreateAliasGenerateDataKey のイベントから何に使おうとしたのか確認できる

背景#

冒頭でも少し説明しましたが少し詳細に説明します。

KMS で余計なコストが発生しておりコンソールを確認してみると、エイリアスがない・タグもつけていないし、作られた経緯が不明な Customer Managed Key を見つけました。

こいつにコストがかかっているので削除してやろうと考えましたが、何に使っているのかよくわかっていないのでそれを確認します。

削除していいのか確認していった手順#

Customer Managed Keys の中身を確認#

まずはどんなキーなのか直接情報としてみたほうが早いので、コンソールから対象のキー情報について確認しました。

キーの作成日時を確認すると 2023/10/30 に作成されているようです。

Key policy には自分が書いたことないような Sid が設定されていて、何かテンプレートから自動で作成されたものだなとわかりました。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Allow access through SNS for all principals in the account that are authorized to use SNS",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": [
                "kms:Encrypt",
                "kms:Decrypt",
...
        }
}

また、 Aliases には特にリソースなどが設定されておらず、なんかしらんけど SNS のメッセージ配信の暗号化に使うものかな?みたいなところまではわかりました。

CMK Empty Aliases

本題の CloudTrail での CMK の追跡#

Event history で Resource type を KMS に絞ってイベントを確認します。

CloudTrail_Eventhistory_kms_key

キーの作成日時は 2023/10/30 とわかっているので、この日のイベントを確認すると、確かにキーが作成されているイベントが記録されていました。

CloudTrail_kms_key_event

早速 CreateKey の中身を確認すると、どうやら CloudFormation からリソースが作られているようです。

CloudTrail_kms_createkey_event

ここで CloudFormation の CloudTrail を参照しても良いのですが、同時にエイリアスも作成されているので、 CreateAlias も確認してどんなエイリアスが作成されたのか確認してみます。

CloudTrail_kms_createalias_event

aliasNameStack-StepFunctionsSample-EventBridgeCustomE みたいな文字列があるので、 これで終了です。

Step Functions のテンプレートを使って作成されたキーで、他のリソースは削除したんだけど KMS だけ削除し忘れていた というところです。

StepFunctions_Sample_EventBridgeCustomEvent

すでに他の関連するリソースは削除しているので、安心して削除できそうです。

最後に#

結論としてはすっぱり削除して良いものだとわかりましたが、 AWS の公式ドキュメントにもしっかりと CloudTrail 使おうや って書いてあったのではじめからここを参照すればよかったかなと思いました。

KMS の Customer Managed Key がなんのために使われていたのか確認したい
https://okojomemorandum.com/blog/check-kms-where-being-used-for-what/
作者
Okojomoeko
公開日
2024-01-01
ライセンス
CC BY-NC-SA 4.0