持ち込みインポート証明書でも ACM に登録して有効期限を監視する

AWS Config

AWS Config のルールを利用して ACM の有効期限前監視を行う

Config では以下のルールで証明書の有効期限を定期的に監視して
指定期限日以内になったら「非準拠」にする事ができる
AWS Config - acm-certificate-expiration-check

AWS Config はアカウント単位管理のため、有効化してしまうと監視したいルール数に関わらず、
利用サービス数に応じて一定金額発生するので注意する。それでも 1$ も行かないと思うけど

Config の設定

acm-certificate-expiration-check ルールで設定できるのは 有効期限が指定日時以下になったら「非準拠」とするか?のみ

監視対象の証明書を全てか、特定のリソースIDのみか、タグで制御し
パラメータ daysToExpiration に指定日を設定する

あくまで Config が定期監視したタイミングで指定日以下の有効期限を持つ証明書があるか?なので 14 と指定しても 13 日前、12日前になる可能性も考えられるため余裕を持った値にしておいたほうがいいかな

通知設定

Config の標準機能である SNS 通知を設定してもいいんだけど
複数環境の証明書を管理してて証明書単位で通知先を分けたい場合を考えて EventBridge で通知させる

EventBridge 設定

EventBridge はイベントパターントリガーにして パターンを Config の Config Rules Compliance Change に設定する

ここでは通知先を SNS にしておく
SNSの通知文言を 入力トランスフォーマー にして通知内容はシンプルにしておく

テンプレートは下記

{"annotation":"$.detail.newEvaluationResult.annotation","resourceId":"$.detail.resourceId"}
"有効期限が近い証明書があります 証明書ARN:<resourceId> 有効期限:<annotation> "

これで Lambda とか色々考えなくても AWS のサービスだけで監視・通知できた


この1ルールのためだけに Config を有効化するのは少しもったいないけど
Config 自体は便利で CloudWatch だけでは出来ないことも組み合わせると色々できるし Config 自体も便利なのでこの為だけに使うということにはならないと思う

ただ AWS のサービスのみで監視しているため融通がきかせにくいところもある
今回の場合 EventBridge を Config Rules Compliance Change にしているため証明書を更新したタイミングでも
コンプライアンスステータスが変わったら通知は飛んでしまう

そこまで問題ないけど

Share Comments
comments powered by Disqus