cli53を使ってDNSをRoute53へ移行する

Route53はAWSが提供するDNSのサービスです。 http://aws.amazon.com/jp/route53/ SLAは100%で価格も非常に安いため、今までレジストラが貸してくれる無料のDNSサーバを使っていたのですが、これをRoute53に移行してみました。

移行時は元のゾーンレコードをRoute53へ移植する必要があります。Route53はマネジメントコンソールからWebUIで操作が可能ですが、レコードが大量にあると操作が非常に面倒です。 その際に、cli53というツールを使用すると、コマンドラインで一気にレコードを流しこむことができ、非常に楽でした。

cli53のインストールと設定

yum -y install python-setuptools git
easy_install dnspython

git clone https://github.com/boto/boto.git
cd boto/
python setup.py install
mkdir /usr/local/cli53
vi /root/.bashrc
#################
export AWS_ACCESS_KEY_ID=【アクセスキー】
export AWS_SECRET_ACCESS_KEY=【シークレットキー】
export PATH=$PATH:/usr/local/cli53/scripts/

※3行追記
#################
git clone https://github.com/barnybug/cli53.git /usr/local/cli53/
source /root/.bashrc

以上でcli53を使用する準備ができました。   以下の様なオプションが使えます。

cli53 --help

list list hosted zones
info get details of a hosted zone
export export dns in bind format
import import dns in bind format
instances dynamically update your dns with instance names
create create a hosted zone
delete delete a hosted zone
rrcreate create a resource record
rrdelete delete a resource record
rrpurge purge all resource records
rrlist list all resource records

例えば、レコードを追加する場合は

cli53 rrcreate 【既存のhosted zone】 【サブドメイン(FQDNでなくてOK】 A 1.1.1.1 --ttl 3600

のようにします。

実際の例は以下の様な感じです。

cli53 rrcreate example.com hoge A 1.1.1.1 --ttl 3600
cli53 rrcreate example.com hogehoge CNAME www.yahoo.co.jp --ttl 3600
cli53 rrcreate example.com mailmail MX '10 1.1.1.1'

参考URL

http://dai_yamashita.bitbucket.org/glusterfs_ja/Triggering_Self-Heal_on_Replicate.html https://sites.google.com/site/glusterfstech/recovery/replace-node http://dai_yamashita.bitbucket.org/glusterfs_ja/Expanding_Volumes.html

…本当はAWS公式っぽいPythonのコマンドラインツールがあるのですが、こちらだとRoute53のコマンドラインでの操作ができませんでした。 おそらく将来的にはサポートされるような気もしますが、それまでは、レコードの一括登録にはcli53を使うのが便利です。