ワイズリマインダー

DNS SAKURA Cloud利用時にLet’s Encrypt更新で失敗した原因と対処法

Let’s Encryptの自動更新が突然失敗した

今まで正常に更新できていたのに、ある日突然、

「Let’s Encryptの更新に失敗した」
「証明書期限切れ警告が出た」
「certbot renew がエラーになる」

というケースがあります。

特にDNS認証を利用している環境では、DNS側設定変更が原因になっていることもあります。

 

DNS認証は便利だが依存関係も多い

Let’s Encryptには複数の認証方法があります。

その中でもDNS認証は、

・ワイルドカード証明書対応
・外部公開不要
・内部サーバーでも取得可能

というメリットがあります。

ですがその反面、

DNS API
認証情報
DNS伝播

などに依存するため、少しの変更で更新失敗することがあります。

 

SAKURA Cloud DNS利用時の注意点

さくらのクラウドDNSを利用している場合、

・APIキー変更
・アクセストークン期限
・ゾーン設定変更
・権限不足

などで更新失敗する場合があります。

特にAPI認証情報を再発行した後、古い情報のまま運用しているケースは意外と多いです。

 

よくあるエラー

例えば、

Failed authorization procedure

や、

DNS problem: NXDOMAIN

など。

これは、

・TXTレコードが作成できていない
・DNS反映が間に合っていない
・APIで更新失敗している

時によく発生します。

 

まず確認するべきポイント

更新失敗時は、以下を確認します。

・APIキーが有効か
・対象ゾーンが正しいか
・TXTレコードが生成されているか
・DNS伝播時間が足りているか

特にTXTレコード確認は重要です。

 

digコマンドで確認する

例えば、

dig TXT _acme-challenge.example.com

で、Let’s Encrypt用TXTレコードが見えるか確認できます。

表示されない場合は、DNS登録自体に失敗しています。

 

DNS反映待ち時間不足もある

自動更新スクリプトによっては、

TXT登録

即認証

になっていることがあります。

ですが、DNSは即反映されるとは限りません。

そのため、

--dns-sakuracloud-propagation-seconds

のような待機時間設定を増やすと改善する場合があります。

 

cron正常でも更新失敗は起こる

cron自体は正常実行でも、

・API失敗
・DNS遅延
・レート制限

で証明書更新だけ失敗することがあります。

そのため、

certbot renew --dry-run

で定期確認しておくと安心です。

 

まとめ

DNS SAKURA Cloudを使ったLet’s Encrypt更新失敗は、

・API認証情報
・TXTレコード生成
・DNS伝播遅延

が原因になることが多いです。

特にDNS認証は「見えない内部処理」が多いため、

・dig確認
・dry-run確認
・待機時間調整

を行うと、原因切り分けしやすくなります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

検索

最近のコメント

最近の投稿

タグ

フィード配信

アーカイブ

外部リンク