開発者:ナレッジ:TraefikのACMEによる証明書取得拡張機能
Traefikは、ACME(Automatic Certificate Management Environment)を利用して、自動で証明書を取得することができます。
しかも、特段の設定をしなくても、自動で更新まで行ってくれます。
TraefikのACMEによる証明書取得拡張機能
Traefikにて、ACME証明書を取得させるためには、traefik.ymlに以下のような設定を追加します。嘘かも思うかもしれませんが、これだけです。
(docker-compose.ymlでは、traefikコンテナのvolumesに/acme.jsonを追加しておいてあげると良いでしょう。)
# traefik.yml
#
# いろいろ省略
#
certificatesResolvers:
letsencrypt:
acme:
email: "sato@email"
storage: "/acme.json"
httpChallenge:
entryPoint: "web"
油断は禁物、定期的に証明書の期限を確認しましょう!
Let's Encryptの証明書は90日で期限が切れます。
Traefikは自動で更新してくれますが、万が一更新に失敗した場合、サービスが停止する可能性があります。
定期的に証明書の期限を確認し、問題があれば速やかに対処しましょう。(大半の不調はdockerコンテナの再起動で直るのではないでしょうか?)
証明書取得は毎日・毎週のように頻繁にやるものではありません。
証明書の取得は頻繁に行うものではありません。ユースケースにもよりますが、残り30日を切ったあたりで更新を行うのが一般的です。
証明書の発行処理は、認証局の負荷が高いらしく、頻繁に行うとアクセス制限を受ける可能性があります。
特に、DockerやTraefikの設定を誤ることにより、証明書の取得リクエストを乱発される可能性があるため、注意の上運用を行いましょう。