Skip to main content

PowerDNS backend using DynamoDB

Project description

PowerDNS backend using DynamoDB

Schema

  • 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.

Permissions

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": [
        "dynamodb:DescribeTable",
        "dynamodb:GetItem",
        "dynamodb:Query"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:dynamodb:REGION:ACCOUNTID:table/TABLE"
      ]
    }
  ]
}

Usage

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

#!/bin/sh

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:

launch=pipe
pipe-command=/path/to/executable/script

using the path to the executable script you created above.

Project details


Download files

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

Source Distribution

pdns-dynamodb-1.0.2.tar.gz (5.2 kB view details)

Uploaded Source

File details

Details for the file pdns-dynamodb-1.0.2.tar.gz.

File metadata

File hashes

Hashes for pdns-dynamodb-1.0.2.tar.gz
Algorithm Hash digest
SHA256 316239338e24300dcf13ced7f3e45956f9eb0fd64052254ebf2ca7f648a23350
MD5 f92b6e6f41b9261cbece9fa724ac7c0a
BLAKE2b-256 e0a564f13d1c3b4b9864e1127252522cbe6de522336ed80ac7ab2bf9728207ca

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page