DragonFly On-Line Manual Pages
ROUTE53(1) User Contributed Perl Documentation ROUTE53(1)
NAME
route53 - Manage your DNS entries on Amazon's Route53 service
DESCRIPTION
route53 will manage your Amazon Route 53 account
SYNOPSIS
route53 {key and id} [options] action [action arguments]
Either "-keyfile" and "-keyname" or "-id" and "-key" must be provided.
OPTIONS
-keyfile
The file which contains the keys and ids for the Route53
service, in the format used by Amazon's "route53.pl" script:
%awsSecretAccessKeys = (
"my-aws-account" => {
id => "ABCDEFG",
key => "12345",
},
);
Defaults to "~/.aws-secrets" when not given.
-keyname
The name of the key to be used; in the above "-keyfile"
example, it could be "my-aws-account".
-id The AWS id to be used; in the above example it could be
"ABCDEFG".
-key The AWS key to be used; in the above example it could be 12345.
-wait For the commands which support it, waits for the change
requested to be in "INSYNC" status before returning. This is
done by querying for the change status every 2 seconds until
the change is "INSYNC". Defaults to 0, meaning the requests
return immediately.
-help Prints the help page and exits
-man Prints the manual page and exits
ARGUMENTS
route53 performs a number of actions, each of which may take a number
of arguments:
list Lists the hosted zones currently associated with the account.
Takes no arguments.
nameservers
Lists the nameservers for all the hosted zones currently
associated with the account. Takes a hosted zone name as an
optional argument to just show the nameservers associated with
that zone.
zone Performs actions on a specific DNS zone. If a zone name is
given, rather than an action, it shows the nameservers
associated with the zone.
Possible actions are:
create Needs "--comment" and optional "--callerreference".
Creates a new zone. Supports the "--wait" option.
delete Deletes the zone. The zone needs to be empty
(containing only NS and SOA entries) before Amazon's
Route53 allows its deletion. Supports the "--wait"
option.
record Performs actions on a specific DNS zone record. A DNS zone name
must be given. If no action is provided, it lists all records
for the zone.
Possible actions are:
list This is the default action if no action is specified.
Lists all DNS records for the zone.
If a "--type" is given, it lists only the records of
the given type. If a "--name" is given, it lists only
the records which have the given name. If a "--ttl" is
given, it lists only the records which have the given
TTL. If a "--value" is given, it lists only the records
which have a value matching the given one.
Wildcard records (i.e. "*.example.com") are displayed
as "\052.example.com". The same format must be used to
create a wildcard record.
delete Deletes one DNS record for the zone given. Can only
delete a record which is univocally identified by
filtering the records list by "--name", "--type",
"--ttl" and "--value". Dies listing the matching
records if too many entries match. Supports the
"--wait" option.
create Creates a DNS record for the zone given. Needs all the
following options in order to create the record:
"--name", "--type", "--ttl" and one or more "--value".
Supports the "--wait" option.
EXAMPLES
Specify your credentials
You need to specify your credentials with one of the following
notations. All the examples below use the "--keyname" notation,
defaulting to using the "~/.aws-secrets" file.
# Uses ~/.aws-secrets as repository, key name is specified
$ route53 --keyname my-aws-keyname
# Uses the given key file and key name
$ route53 --keyfile ~/.aws --keyname my-aws-keyname
# Uses the given key and id
$ route53 --key ABCDE --id DEFG
List your zones
Lists the zones names, ids and comments:
$ route53 --keyname my-aws-account list
Hosted zone:
id: /hostedzone/ABCDEFG
name: example.com.
callerreference: FGHIJK
comment: Zone for example.com.
Hosted zone:
id: /hostedzone/FGHJKL
name: anotherexample.com.
callerreference: QWERTY
comment: Zone for anotherexample.com.
Get all nameservers (and details) for all zones
Displays a verbose list of the zone details and the nameservers which
are authoritative for the zone:
$ route53 --keyname my-aws-account nameservers
Hosted zone:
id: /hostedzone/ABCDEFG
name: example.com.
callerreference: FGHIJK
comment: Zone for example.com.
nameserver: ns-123.awsdns-123.com
nameserver: ns-123.awsdns-123.co.uk
nameserver: ns-123.awsdns-123.org
Hosted zone:
id: /hostedzone/FGHJKL
name: anotherexample.com.
callerreference: QWERTY
comment: Zone for anotherexample.com.
nameserver: ns-456.awsdns-456.com
nameserver: ns-456.awsdns-456.co.uk
nameserver: ns-456.awsdns-456.org
Get just the nameservers for a specific zone
Displays a terse list of the nameservers, one per line:
$ route53 --keyname my-aws-account nameservers example.com.
ns-123.awsdns-123.com
ns-123.awsdns-123.co.uk
ns-123.awsdns-123.org
This allows the nameservers to be used in scripting:
$ for nameserver in
$( route53 --keyname my-aws-account nameservers example.com. );
do
# do whatever you want with $nameserver
done;
Create a new zone
Creates a new zone:
$ route53 --keyname my-aws-account zone create example.com. \
--comment 'Zone for example.com.'
--callerreference 'unique id for this'
You can optionally specify "--wait" to wait for the zone to have been
effectively created. Otherwise the command returns as soon as the
request has been sent to Route 53.
Delete a zone
Deletes a zone (assuming the zone contains only "SOA" and "NS"
records):
$ route53 --keyname my-aws-account zone delete example.com.
You can optionally specify "--wait" to wait for the zone to have been
effectively deleted. Otherwise the command returns as soon as the
request has been sent to Route 53.
List all DNS records for a zone
Lists all DNS records for a zone:
$ route53 --keyname my-aws-account record list example.com.
example.com. A 14400 127.0.0.1
example.com. MX 14400 127.0.0.1
example.com. NS 172800 ns-123.awsdns-123.com. ns-123.awsdns-123.co.uk. ns-123.awsdns-123.org.
example.com. SOA 900 ns-123.awsdns-123.com. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400
\052.example.com. A 300 127.0.0.1
You can optionally specify "--type" to display only DNS records of a
given type:
$ route53 --keyname my-aws-account record list example.com. --type A
example.com. A 14400 127.0.0.1
\052.example.com. A 300 127.0.0.1
Delete a specific DNS record for a zone
This example assumes we want to remove the "\052.example.com." entry.
One can check which parameters are needed to get the correct entry with
the "record list" first:
$ route53 --keyname my-aws-account record list example.com. --type A
example.com. A 14400 127.0.0.1
\052.example.com. A 300 127.0.0.1
$ route53 --keyname my-aws-account record list example.com. --type A --ttl 300
\052.example.com. A 300 127.0.0.1
Or can read the error message given in case there are too many matching
records:
$ route53 --keyname my-aws-account record delete example.com. --type A
Too many records match:
example.com. A 14400 127.0.0.1
\052.example.com. A 300 127.0.0.1
The lone record deletion:
$ route53 --keyname my-aws-account record delete example.com. --type A --ttl 300
Create a new DNS record for the zone
This adds a new record for the zone:
$ route53 --keyname my-aws-account record create example.com. \
--name test.example.com. --type A --ttl 300 \
--value 127.0.0.1
AUTHOR
Marco FONTANI <mfontani@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2011 by Marco FONTANI.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
perl v5.20.2 2012-08-18 ROUTE53(1)