Let's Encrypt authenticator for route53

Clone this repo:


  1. ab0d5f8 Update README.md by Paulo Köch · 6 years ago master
  2. d2a81b1 Merge pull request #4 from lifeonmarspt/pkoch_cleanup by Paulo Köch · 6 years ago
  3. 0893283 Add my janky tester by Paulo Koch · 6 years ago
  4. 1b65e17 Tidy up installation by Paulo Koch · 6 years ago
  5. 176e9fa Merge pull request #3 from jsha/miscellaneous by Paulo Köch · 6 years ago

Route53 plugin for Let's Encrypt client

Before you start

It's expected that the root hosted zone for the domain in question already exists in your account.


  1. Create a virtual environment

  2. Update its pip and setuptools (VENV/bin/pip install -U setuptools pip) to avoid problems with cryptography's dependency on setuptools>=11.3.

  3. Make sure you have libssl-dev and libffi (or your regional equivalents) installed. You might have to set compiler flags to pick things up (I have to use CPPFLAGS=-I/usr/local/opt/openssl/include LDFLAGS=-L/usr/local/opt/openssl/lib on my macOS to pick up brew's openssl, for example).

  4. Install this package.

How to use it

Make sure you have access to AWS's Route53 service, either through IAM roles or via .aws/credentials. Check out sample-aws-policy.json for the necessary permissions.

To generate a certificate:

certbot certonly \
  -n --agree-tos --email DEVOPS@COMPANY.COM \
  -a certbot-route53:auth \