Awesome Open Source
Awesome Open Source


NOTE: If you're already using Route53, you're propbably better off using AWS Certificate Manager, which was released after this script.

This shell script helps create Let's Encrypt certificates for AWS Route53. It uses Certbot to automate certificate requests, and the AWS CLI to automate DNS challenge record creation.

Installation and Usage

  1. Install Certbot and the AWS CLI. You can use Homebrew (brew install awscli certbot) or pip (pip install awscli certbot).

  2. Configure the AWS CLI. Your account must have permission to list and update Route53 records.

  3. Download the script.

    mkdir my-certificates
    cd my-certificates
    curl -sL -o
    chmod a+x
  4. Run the script with your (comma-separated) domain(s) and email address:

    sh \
      --agree-tos \
      --manual-public-ip-logging-ok \
      --email $(git config \
  5. Wait patiently (usually about two minutes) while, for each domain requested:

    • Certbot asks Let's Encrypt for a DNS validation challenge string,
    • AWS CLI asks Route53 to create a domain TXT record with the challenge value,
    • Let's Encrypt validates the TXT record and returns a certificate, and finally
    • AWS CLI asks Route53 to delete the TXT record.
  6. Find your new certificate(s) in the letsencrypt/live directory.


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
shell (9,698
aws (1,006
ssl (187
letsencrypt (128
ssl-certificates (26
certbot (19

Find Open Source By Browsing 7,000 Topics Across 59 Categories