Amazon Route53 に bindの既存ドメインを登録してみる
bindでホストしているドメインの移行テストをしてみた。
準備
BIND to Amazon Route 53 Conversion Tool
http://aws.amazon.com/developertools/Amazon-Route-53/4495891528591897
CPANモジュールを入れておく
スクリプトをダウンロード
$ curl -O http://awsmedia.s3.amazonaws.com/catalog/attachments/bindtoroute53.pl % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 101 7694 101 7694 0 0 8629 0 --:--:-- --:--:-- --:--:-- 45797 $ chmod +x bindtoroute53.pl
Route53用の設定で邪魔になる、SOAレコードやNSレコードを無視するようにオプションを加えて、コンバートします。
$ ./bindtoroute53.pl --ignore-origin-ns --ignore-soa --origin example.com < example.com.zone > create-request.xml Ignoring '. 86400 IN SOA ns.example.com. root.example.com. ( 2010120600 ; Serial 3600 ; Refresh 900 ; Retry 604800 ; Expire 86400 ) ; Minimum TTL', --ignore-soa enabled. Ignoring '. 3600 IN NS ns.example.com.', --ignore-origin-ns enabled. Ignoring '. 3600 IN NS ns2.example.com.', --ignore-origin-ns enabled.
そして @c9katayama さんからも指摘ありましたが、XMLのnamespaceが間違ってますので、修正します。
$ diff create-request.xml.bak create-request.xml 2c2 < <ChangeResourceRecordSetsRequest xmlns="http://route53.amazonaws.com/doc/2010-10-01/"> --- > <ChangeResourceRecordSetsRequest xmlns="https://route53.amazonaws.com/doc/2010-10-01/">
そして、dnscurl.plを使ってリクエストを発行します。これは前回の記事を参考にして下さい。
$ ./dnscurl.pl --keyname my-keyname -- -H "Content-Type: text/xml; charset=UTF-8" -X POST --upload-file zxz-ext.xml https://route53.amazonaws.com/2010-10-01/hostedzone/Z3EA8CMSPM8UVD/rrset | tee out
さて、実際に問い合わせを行ってみます。
$ host example.com ns-596.awsdns-10.net Using domain server: Name: ns-596.awsdns-10.net Address: 205.251.194.84#53 Aliases: example.com has address 10.1.2.3 example.com mail is handled by 10 mail.example.com. example.com mail is handled by 20 mail2.example.com. $ host app.example.com ns-596.awsdns-10.net Using domain server: Name: ns-596.awsdns-10.net Address: 205.251.194.84#53 Aliases: app.example.com is an alias for ghs.google.com.
解決できました。しかし、ワイルドカードがうまく動きませんでした。
$ host hoge.example.com ns-596.awsdns-10.net Using domain server: Name: ns-596.awsdns-10.net Address: 205.251.194.84#53 Aliases: hoge.example.com is an alias for www.
これは生成されたXMLに問題がありそうです。
: <Change> <Action>CREATE</Action> <ResourceRecordSet> <Name>*.example.com.</Name> <Type>CNAME</Type> <TTL>3600</TTL> <ResourceRecords> <ResourceRecord> <Value>www.</Value> </ResourceRecord> </ResourceRecords> </ResourceRecordSet> </Change> :
Valueがwww. となってますね。これはいけません。www.example.comとしする必要があります。
CNAMEでFQDNを指定していない場合には気を付けて下さい。