Skip to content
/ cli53 Public
forked from barnybug/cli53

Command line script to administer the Amazon Route 53 dns service

License

Notifications You must be signed in to change notification settings

asl2/cli53

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cli53 - Command line script to administer the Amazon Route 53 DNS service

Introduction

cli53 provides import and export from BIND format and simple command line management of Route 53 domains.

Features:

  • create hosted zones

  • delete hosted zones

  • list hosted zones

  • import to BIND format

  • export to BIND format

  • create resource records

  • delete resource records

  • works with BIND format zone files we all know and love - no need to edit <ChangeResourceRecordSetsRequest> XML!

  • create AWS weighted records

  • create AWS Alias records to ELB

  • create AWS latency-based routing records

Getting Started

Create a hosted zone::

$ cli53 create example.com

Check what we've done::

$ cli53 list

Import a BIND zone file::

$ cli53 import example.com --file zonefile.txt

Replace with an imported zone, waiting for completion::

$ cli53 import example.com --file zonefile.txt --replace --wait

Manually create some records::

$ cli53 rrcreate example.com www A 192.168.0.1 --ttl 3600
$ cli53 rrcreate example.com www A 192.168.0.2 --ttl 3600 --replace
$ cli53 rrcreate example.com '' MX '10 192.168.0.1' '20 192.168.0.2'

Export as a BIND zone file (useful for checking)::

$ cli53 export example.com

Create some weighted records::

$ cli53 rrcreate example.com www A 192.168.0.1 --weight 10 --identifier server1
$ cli53 rrcreate example.com www A 192.168.0.2 --weight 20 --identifier server2

Create an alias to ELB::

$ cli53 rrcreate example.com www ALIAS 'ABCDEFABCDE dns-name.elb.amazonaws.com.'

Further documentation is available, e.g.::

$ cli53 --help
$ cli53 rrcreate --help

Installation

$ sudo pip install cli53

You can then run cli53 from your path:

$ cli53

You need to set your Amazon credentials in the environment as AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY or configure them in ~/.boto. For more information see: http://code.google.com/p/boto/wiki/BotoConfig

Caveats

As Amazon limits operations to a maximum of 100 changes, if you perform a large operation that changes over 100 resource records it will be split. An operation that involves deletes, followed by updates such as an import with --replace will very briefly leave the domain inconsistent. You have been warned!

Changelog

0.3.1 - Added support for Latency-based routing. For the moment to use this you'll need the boto develop branch: pip install https://github.com/boto/boto/tarball/develop

0.3.0 - Added support for AWS extensions: weighted records and aliased records.

About

Command line script to administer the Amazon Route 53 dns service

Resources

License

Stars

Watchers

Forks

Packages

No packages published