Closed1

certbotでroute53を使ってdns認証したい

mnodmnod

certbot-dns-route53 を知るまでは自分で以下の内容のスクリプトを書いて実行していた。

dns01-auth.sh

  • _acme-challenge.${CERTBOT_DOMAIN}. のTXTレコードがあったら削除する。
  • _acme-challenge.${CERTBOT_DOMAIN}. のTXTレコードを作成する。値は "${CERTBOT_VALIDATION}"

dns01-clean.sh

  • _acme-challenge.${CERTBOT_DOMAIN}. のTXTレコードがあったら削除する。

certbot のオプションとして、以下のように指定。

        --preferred-challenges dns-01  \
        --manual \
        --manual-auth-hook /home/docker/work/letsencrypt/dns01-auth.sh \
        --manual-cleanup-hook /home/docker/work/letsencrypt/dns01-clean.sh \

certbot-dns-route53 を利用すれば自分でスクリプト書かなくていい。

  • AWSの認証情報は ~/.aws/credentials に記載
  • certbot は yum でインストール
  • certbot-dns-route53 は pip でインストール
  • post-hook.shには、証明書作成後に実行する処理を記述。
    自分は <config-dir>/<ドメイン名>ディレクトリ配下の秘密鍵 privkey.pem と証明書チェーン fullchain.pem をansible のplaybook ディレクトリに配置するのに利用している。

新規作成時(テスト実行)

$ cd /home/docker/work/letsencrypt
$ certbot certonly --dry-run \
-d 'www.example.net' \
-m yourname@example.com \
--dns-route53 \
--work-dir /home/docker/work/letsencrypt/work \
--logs-dir /home/docker/work/letsencrypt/logs \
--config-dir /home/docker/work/letsencrypt/conf \
--post-hook /home/docker/work/letsencrypt/post-hook.sh

更新時(テスト実行)

$ certbot renew --dry-run \
--work-dir /home/docker/work/letsencrypt/work \
--logs-dir /home/docker/work/letsencrypt/logs \
--config-dir /home/docker/work/letsencrypt/conf \
このスクラップは4ヶ月前にクローズされました