InUseBy で証明書の利用状況を確認する
ACM証明書を削除する前に、その証明書がCloudFrontやELBなどのリソースで使われていないかを確認する必要がある。使用中の証明書を削除しようとすると、操作自体がエラーになる。
aws acm describe-certificate の InUseBy フィールドで、証明書を利用しているリソースのARN一覧を確認できる。describe-certificate の詳しい使い方は 【AWS CLI】ACM証明書の詳細情報をCLIで確認する
を参照。
$ aws acm describe-certificate \
--region us-east-1 \
--certificate-arn arn:aws:acm:us-east-1:123456789012:certificate/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee \
--query 'Certificate.InUseBy'
[
"arn:aws:cloudfront::123456789012:distribution/EXAMPLE12345"
]
InUseBy が空配列であれば、その証明書はどのリソースからも参照されていないため削除できる。
[]
削除する
InUseBy が空配列であることを確認したら、aws acm delete-certificate で削除する。
$ aws acm delete-certificate \
--region us-east-1 \
--certificate-arn arn:aws:acm:us-east-1:123456789012:certificate/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
使用中の証明書を削除しようとすると、ResourceInUseException が発生し削除できない。
An error occurred (ResourceInUseException) when calling the DeleteCertificate operation: Certificate arn:aws:acm:us-east-1:123456789012:certificate/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee is currently in use by CloudFront and cannot be deleted.
\手を動かしながらTerraformを学びたい人にオススメ!/
