Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

PowerDNS backend using DynamoDB

Project Description

PowerDNS backend using DynamoDB


  • name - string - hash key
  • type - string - range key
  • ttl - number
  • values - set of strings

Note that in order to simplify the DynamoDB schema MX and SRV records must store the priority field at the beginning of the content, separated by a TAB.


It is recommended you create a special IAM users that only has permissions for querying DNS records to be used by this backend. You can use the following IAM policy template (replacing REGION, ACCOUNTID and TABLE with the correct values).

  "Statement": [
      "Action": [
      "Effect": "Allow",
      "Resource": [


Secret key storage

Place the secret key of the IAM account into a file that is only readable by the pdns user.

Executable script

Create an executable script that looks like


exec /path/to/pdns-dynamodb -t TABLE -r REGION -I ACCESS_KEY -K /path/to/secret.key

Replacing TABLE, REGION and ACCESS_KEY with the appropriate values and the path to secret key from the previous step.

PowerDNS backend configuration

Configure pdns.conf as follows:


using the path to the executable script you created above.

Release History

This version
History Node


History Node


History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Hash SHA256 Hash Help Version File Type Upload Date
(5.2 kB) Copy SHA256 Hash SHA256
Source Sep 11, 2012

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting