route53(1) - Linux man page
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:
- 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.
- 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.
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.