DNS 弱者であることが明るみに出たのでメモする。なお、 roadworker 使う前提。え、みんな使ってないんですか...
新しいHosted Zoneを追加する
たとえば、 staging を別のHosted Zoneにするとか。
hosted_zone "udzura-cool-app.com." do #... end hosted_zone "staging.udzura-cool-app.com." do rrset "staging.udzura-cool-app.com.", "A" do ttl 300 resource_records( "192.0.2.100" ) end end
一度適用する
$ bundle exec roadwork -a -f Routefile
そうすると、 staging.udzura-cool-app.com Hosted Zoneが出来て、そこに上のAレコードの他に、SOAとNSレコードが作られるはず。
ns-123.awsdns-26.net. ns-456.awsdns-62.co.uk. ns-789.awsdns-37.org. ns-10.awsdns-01.com.
NSレコードはこんな感じ。
しかし、このままではいつまでたってもAレコードを引けないぞ
きっとDNS強者の皆さんとしては当たり前なんだが、既存の udzura-cool-app.com から、 staging.udzura-cool-app.com をフォワードできないといけない。なので udzura-cool-app.com のHosted Zoneに上のNSレコードを入れ込んでおく。
hosted_zone "udzura-cool-app.com." do #... + + rrset "staging.udzura-cool-app.com.", "NS" do + ttl 86400 + resource_records( + "ns-123.awsdns-26.net.", + "ns-456.awsdns-62.co.uk.", + "ns-789.awsdns-37.org.", + "ns-10.awsdns-01.com." + ) + end end
その後、適用すると、引けるようになっているはず(設定によりネガティブキャッシュを踏んでたりしたらゴニョっといてください)。
とりあえずサブドメインのHosted Zoneを作っただけではダメだったのであった...。終わり。
なお、何か勘違いしているかもしれないので、その場合は優しく教えてください。