ACM証明書の有効期限切れが近づいてきたイベントをAWS User Notificationsで通知してみた

有効期限が近づいていることの通知。通知内容にどの証明書の有効期限が切れるかの情報が無いため使いどころは要確認
2023.09.08

みなさんこんにちは、杉金です。
ACM証明書の有効期限が近づいてきたイベントをAWS User Notificationsで通知してみます。

有効期限が近づいてきたイベント

有効期限の切れる45日前から、「ACM Certificate Approaching Expiration event」というイベントが毎日送信されます。すべてのアクティブな証明書 (パブリック、プライベート、インポート) がイベント発行の対象です。デフォルトが45日前からですが、この日数を変更したい場合は、ACM APIのPutAccountConfigurationアクションで変更します。

他の通知方法

AWS User Notifications以外の通知設定として、Amazon EventBridgeとAmazon SNSを使った通知設定もあります。以下のブログを参照ください。

AWS User Notificationsを設定してみた

AWSマネジコンソールの上部にあるベルマークから「すべての通知を表示」を選択します。
下の「通知設定」ボタンからでもアクセス可能です。

「通知設定」→「通知設定の作成」を選択します。

まずは通知設定の名前を決めます。

今回の例ではacm-cert-approaching-expirationとしました。
次に通知するイベントの条件を指定します。

次の設定としました。リージョンはACM証明書を利用しているリージョンを選択します。

  • AWS のサービスの名前
    • Certificate Manager
  • イベントタイプ
    • ACM Certificate Approaching Expiration
  • リージョン
    • 東京とバージニア

続いての集約設定では複数イベントを集約して送信するかを設定します。

今回はデフォルトの5分集約としました。有効期限切れが近づいてきたイベントは1日おきで通知されるため、12時間でもよさそうです。最後に通知の設定です。

今回はEメールを選択しました。モバイルアプリやChatbotも選択できます。
作成後に、検証依頼のメールが届きます。他のブログでも言及されてますが、迷惑メールフォルダにありました。

メールの件名はVerify [対象のメールアドレス] for AWS accountId [AWSアカウントID]です。
メール本文にある「Verify email」を選択すると次の画面に遷移します。

検証前の通知設定では「配信チャンネル」のステータスが保留中になっていました。

検証後はステータスがアクティブに変わりました。

通知例

マネジメントコンソ―ル

通知はコンソールからも確認できます。ベルマークから通知が来ていることを確認できます。

いずれかを選択すると以下のように詳細を確認できます。
ただし、どの証明書の有効期限が切れるかであったり、あと何日で切れるか等の情報は載っていません。

メール通知

メールでは以下のように通知されます。
コンソールと同様なのですが、どの証明書の有効期限が切れるかの情報は載っていません。

最後に

AWS User Notificationsを使って、証明書の有効期限切れが近づいてきたことを通知させてみました。簡単に設定できるものの、対象となるACM証明書の情報が記載されていないため、複数の証明書を管理している環境では運用は難しそうです。設定が容易であるため、証明書の更新し忘れを防ぐための二重の通知程度には使えそうです。個人的には証明書を自動更新してくれるDNS検証での運用をまず考えたいです。
EventBridgeとSNSを使った方法ですと、有効期限切れとなる対象の証明書を確認できるため、後日紹介します。

参考資料