#11 Let’s Encryptは無料より自動化がすごい!証明書運用の知られざる世界

無料でTLS証明書を発行できるLet's Encrypt。でも本当に画期的だったのは「無料」ではなく、ACMEプロトコルによる自動更新だった——そんな話から始まる今回は、証明書運用の知られざる世界をcatatsuyがたっぷり語ります。

前半は、ドメインの所有をどう証明するかという「ACMEチャレンジ」の話。定番のHTTP-01、catatsuyが愛用するDNS-01、TLS終端リバースプロキシや大規模ホスティング事業者向けのTLS-ALPN-01という3方式の使い分けから、Certbot・dehydrated・legoといったクライアントの乗り換え遍歴、Route 53と組み合わせたDNS-01運用のノウハウまでを深掘りします。中盤では、Cloudflare DNSがダッシュボードに表示されないCAAレコードを自動追加していたという話と、そこから始めたCTログ監視の話も飛び出します。

後半は、証明書の有効期限が45日に短縮される規定路線を見据えた「プロファイル」の解説から、有効期限わずか6日のshortlived証明書を自宅サーバーで実運用してみた体験談へ。レートリミットとの戦い、ARIによる更新タイミングの調整とレート制限回避、常にクリティカルになってしま監視アラート、通知があふれて機能しなくなるCTログ監視……最先端を走ると何が起きるのか、実際に運用したからこそ見えた学びが満載です。証明書を「ポチポチ手作業」で更新している人、これから自動化を考えるインフラエンジニアにこそ聞いてほしい回です。

- Let's Encrypt: https://letsencrypt.org/

- ACMEプロトコル (RFC 8555): https://datatracker.ietf.org/doc/html/rfc8555

- Let's Encrypt 証明書プロファイル: https://letsencrypt.org/docs/profiles/

- ARI — ACME Renewal Information (RFC 9773): https://datatracker.ietf.org/doc/html/rfc9773

- CAAレコード (RFC 8659): https://datatracker.ietf.org/doc/html/rfc8659

- Certbot: https://certbot.eff.org/

- dehydrated: https://github.com/dehydrated-io/dehydrated

- lego: https://go-acme.github.io/lego/

- Certificate Transparency: https://certificate.transparency.dev/

- Amazon Route 53: https://aws.amazon.com/route53/

- Cloudflare: https://www.cloudflare.com/

- nginx: https://nginx.org/

- New Relic: https://newrelic.com/

─────────────

YouTube: https://youtu.be/7FQ_5ukYkqw

Web: https://yaoyorozu-oss.henteko07.com/

X: https://x.com/yaoyorozu_oss