SSL証明書の自動更新に失敗(Let's Encrypt)

自動更新に失敗した場合、以下のようなタイトルのメールが届きます。

Let's Encrypt certificate expiration notice for domain “example.com”

実際にサイトにアクセスして証明書の有効期限を確認すると、30日を切っていることが確認できるかと思います。 そこで、サーバにアクセスし、certbot-renew のステータスを確認します。
(オプション -l を付けることで、詳細なログが表示されます)

sudo systemctl status -l certbot-renew

● certbot-renew.service - This service automatically renews any certbot certificates found
   Loaded: loaded (/usr/lib/systemd/system/certbot-renew.service; static; vendor preset: disabled)
   Active: failed (Result: exit-code) since YYYY-mm-dd HH:ii:ss JST; 13h ago
  Process: 24164 ExecStart=/usr/bin/certbot renew $PRE_HOOK $POST_HOOK $RENEW_HOOK $CERTBOT_ARGS (code=exited, status=1/FAILURE)
 Main PID: 24164 (code=exited, status=1/FAILURE)

 n月 dd 03:28:13 XXX.XXX.XXX.XXX certbot[24164]: All renewal attempts failed. The following certs could not be renewed:
 n月 dd 03:28:13 XXX.XXX.XXX.XXX certbot[24164]: /etc/letsencrypt/live/example.com/fullchain.pem (failure)
 n月 dd 03:28:13 XXX.XXX.XXX.XXX certbot[24164]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 n月 dd 03:28:13 XXX.XXX.XXX.XXX certbot[24164]: Running post-hook command: apachectl graceful
 n月 dd 03:28:13 XXX.XXX.XXX.XXX certbot[24164]: 1 renew failure(s), 0 parse failure(s)
 n月 dd 03:28:13 XXX.XXX.XXX.XXX systemd[1]: certbot-renew.service: main process exited, code=exited, status=1/FAILURE
 n月 dd 03:28:13 XXX.XXX.XXX.XXX systemd[1]: Failed to start This service automatically renews any certbot certificates found.
 n月 dd 03:28:13 XXX.XXX.XXX.XXX systemd[1]: Unit certbot-renew.service entered failed state.
 n月 dd 03:28:13 XXX.XXX.XXX.XXX systemd[1]: certbot-renew.service failed.

# より詳細なログを見たい場合は、以下のファイルを確認します
sudo less /var/log/letsencrypt/letsencrypt.log

自動更新失敗の原因