Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

We use Amazon Route53 as my company's primary DNS. As we grow into using multiple services from different providers, each of them requested some kind of DNS entry to verify our domain and/or use their services. As of now we have about 60 entries in our primary hosted zone.

It's starting to get confusing since Amazon does not allow even a simple description field for each entry so we know what it means without having to parse it.

Is there a better/different way to manage this?

Thanks

share|improve this question

2 Answers 2

up vote 3 down vote accepted

Recommendation

Start learning to use, and using the AWS Command-line, combined with your own homegrown solution to manage your DNS entries.

I personally have a solution which rounds up multiple text files (each with customer identification and comments contained) into one file, which then ships off to my authoritative DNS whenever there is an update.

More info on AWS Route53 CLI here


Example solution

1) Get cli53

2) Create a folder and fill it with BIND compatible zonefile.txt for each customer.

C:\zones\customer.com.txt
C:\zones\example.org.txt
C:\zones\loyal-customer.net.au.txt

3) Write a script which pulls gets each file and uploads it to AWS Route53:

Powershell

$zonefileDir = "C:\zones\"

foreach ($file in (ls $zonefileDir -r))
{
    # Remove the '.txt' from each file, so we have the proper domain name
    $zone = ($file.name -replace "\.txt$","")

    # import the BIND zonefile and replace any existing records
    cli53 import $zone --file $file --replace --wait
}

Bash

directory="/etc/bind/zones/"
for file in `ls $directory`
do
    zone=`echo $file | grep -Po "^.*?(?=\.extension)"`
    cli53 import $zone --file $directory$file --replace --wait
done

4) Whenever you need to make changes, you make it inside your separated customer zone files, which you can also separate with directories.

5) Sync all of your zonefiles in Git so you can track changes to each zonefile in case you need to revert.

share|improve this answer
    
Seems like a good idea. Would you have anything to share regarding the file/application format so me and others do not have to start from scratch? –  tucaz Mar 26 at 23:10
    
Added in an example solution for you. –  Vasili Syrakis Mar 27 at 0:03

I don't know of any off-the-shelf solution to do this.

That said, homebrewing a Route53 management system should be fairly simple - a couple mysql tables and a sync script in a language of your choice is really all it would take.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.