少し遅くなりましたが、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.xml



This 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などで登録することになります。

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら