【リマインド】無効化したKMSキーにも2016年4月1日から料金が発生します

2016.03.31

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、虎塚です。

2016年4月1日から、無効にしたKMSキーにもAWS利用料が発生するようになりました。AWSから「Change in the AWS Key Management Service (KMS) pricing policy for disabled keys [AWS Account: 123456789012]」というタイトルでお知らせメールが届いた方もいるかと思います。

AWSアカウント内に無効化したキーが残っていないかをぜひ確認しましょう。もしあったら、キーの用途を確認して、いらない場合は削除してしまいましょう。

キーの削除方法については、次の記事をご参照ください。

料金発生の仕組み

料金が発生するキー

料金が発生する対象となるキーは、カスタマーマスターキーです。カスタマーマスターキーとは、ユーザが明示的に作成したKMSキーです。

一方、デフォルトマスターキーには、料金がかかりません。デフォルトマスターキーとは、ユーザがAWSリソースをKMSで初めて暗号化しようとしたタイミングで、AWSによって自動的に作成されるKMSキーです。ユーザが削除することはできません。

料金が発生する期間

これまでと同様に、有効なカスタマーマスターキーには1個あたり$1/月の料金がかかります。また、キーへのリクエスト回数に応じた料金も別途かかります。

一方、無効化したカスタマーマスターキーにも、2016年4月1日からは料金が発生します。これまでは料金がかかりませんでした。

キーの削除を予約した場合、その時点から料金がかからなくなります。実際にキーが削除されるまでの削除待機期間にも、料金は発生しません。

KMSキーの料金発生期間

しかしながら、削除待機期間にキーの削除をキャンセルすると、削除の予約時点にさかのぼって、料金が請求されます。削除待機期間に対しても課金されますので、ご注意ください。

削除キャンセル後の料金発生

無効化キーの確認方法

アカウントに無効化されているカスタマーマスターキーがあるかどうかは、次のコマンドで確認できます。

$ for region in $(aws ec2 describe-regions | jq -r ".Regions[].RegionName | @text")
  do echo "[$region]" ;
  for key in $(aws --region $region kms list-keys | jq -r '.Keys[].KeyId | @text')
    do
    aws --region $region kms describe-key --key-id $key | jq -r '.KeyMetadata  | if .Enabled == false then .KeyId else empty end' ;
  done
done

たとえば、無効化したキーが東京リージョンにある場合は、次のようにKeyIdが出力されます。

[eu-west-1]
[ap-southeast-1]
[ap-southeast-2]
[eu-central-1]
[ap-northeast-2]
[ap-northeast-1]
12345678-1234-1234-1234-123456789012
[us-east-1]
...

注意点

カスタマーマスターキーから生成したデータキーを使って、クライアントサイド暗号化をしていた場合、カスタマーマスターキーを削除してしまうと、暗号化したデータを二度と複号できなくなるので、ご注意ください。

いらないキーを片付けて、スッキリ4月を迎えましょう。

それでは、また。