少し遅くなりましたが、BIND to Amazon Route 53 Conversion Toolを試してみました。
はじめに、Perlモジュールの準備です。(CentOS 6.0)
# yum -y install perl-CPAN # cpan -i Net::DNS # cpan -fi Net::DNS::ZoneFile ※Net::DNS::ZoneFileは強制インストールしています。
そして、実際にダウンロードして実行できるようにします。
# curl -OL http://awsmedia.s3.amazonaws.com/catalog/attachments/bindtoroute53.pl # chmod 755 bindtoroute53.pl
変換対象のゾーンファイルは下記とします。
# cat suz-lab.com.zone $TTL 3600 @ IN SOA ns.suz-lab.com. postmaster.suz-lab.com. ( 2011093001 ; Serial 3600 ; Refresh 900 ; Retry 3600000 ; Expire 3600 ; Minimum ) IN A 192.168.1.2 IN NS ns.suz-lab.com. IN MX 10 mx.suz-lab.com. IN TXT "v=spf1 ip4:192.168.1.2 mx ~all" * IN MX 10 mx.suz-lab.com. mx IN A 192.168.1.2 IN TXT "v=spf1 a -all" ns IN A 192.168.1.2
実際の変換は、下記の通りになります。
# ./bindtoroute53.pl --ignore-origin-ns --ignore-soa --origin suz-lab.com suz-lab.com.xml Ignoring '. 3600 IN SOA ns.suz-lab.com. postmaster.suz-lab.com. ( 2011093001 ; Serial 3600 ; Refresh 900 ; Retry 3600000 ; Expire 3600 ) ; Minimum TTL', --ignore-soa enabled. Ignoring '. 3600 IN NS ns.suz-lab.com.', --ignore-origin-ns enabled.
変換後のXMLは、下記となります。
# cat suz-lab.com.xmlThis change imports a zone file CREATE mx.suz-lab.com. A 3600 192.168.1.2 CREATE mx.suz-lab.com. TXT 3600 "v=spf1 a -all" CREATE ns.suz-lab.com. A 3600 192.168.1.2 CREATE *.suz-lab.com. MX 3600 10 mx.suz-lab.com. CREATE suz-lab.com. MX 3600 10 mx.suz-lab.com. CREATE suz-lab.com. A 3600 192.168.1.2 CREATE suz-lab.com. TXT 3600 "v=spf1 ip4:192.168.1.2 mx ~all"
実際のRoute 53へ反映するには、これをdnscurl.plなどで登録することになります。