タグ別アーカイブ: DNS

Route 53を使ってみる その4 (Aliasの操作)

Route 53の特徴の一つであるAliasを利用してみる。

レコードの登録

AliasはELBに対して設定することになるので、適当にELBを作成しておく。 手順は省略するが、名前はtestlbとしておく。

Management Console上でAliasを設定してみる。

いちど、設定済みのexample.comに対するAレコードを削除して、再びレコードの設定を行う。 図のように、Aliasの設定を有効にし、該当するELBを選択する。

設定ができたところで名前を引いてみる。

$ dig +noall +answer @ns-113.awsdns-14.com example.com
example.com.            60      IN      A       176.34.63.136

Aレコードとして帰ってくるようだ。

レコードの確認

APIを使って、レコードを取得してみる。

$ ./dnscurl.pl --keyname (keyname) -- https://route53.amazonaws.com/2011-05-05/hostedzone/Z2M12YG35OHUP1/rrset

ここで一つ注意がある。今まではコマンドラインツールの入出力のAPIバージョンの都合で2010-10-01を利用していたが、Aliasはもっと新しいバージョンのAPIでないと機能しない。そこで、2011-05-05を利用している。

この出力から該当する部分を抽出すると次のようになっている。

<?xml version="1.0"?>
<ListResourceRecordSetsResponse xmlns="https://route53.amazonaws.com/doc/2011-05-05/">
  <ResourceRecordSets>
    <ResourceRecordSet>
      <Name>example.com.</Name>
      <Type>A</Type>
      <AliasTarget>
        <HostedZoneId>Z2YN17T5R711GT</HostedZoneId>
        <DNSName>testlb-57645024.ap-northeast-1.elb.amazonaws.com.</DNSName>
      </AliasTarget>
    </ResourceRecordSet>
  </ResourceRecordSets>
</ListResourceRecordSetsResponse>

レコードの削除と追加

レコードを削除してみる。

次の内容で、alias.xmlを作成する。

<?xml version="1.0"?>
<ChangeResourceRecordSetsRequest xmlns="https://route53.amazonaws.com/doc/2011-05-05/">
  <ChangeBatch>
    <Changes>
      <Change>
        <Action>DELETE</Action>
        <ResourceRecordSet>
          <Name>example.com.</Name>
          <Type>A</Type>
          <AliasTarget>
            <HostedZoneId>Z2YN17T5R711GT</HostedZoneId>
            <DNSName>testlb-57645024.ap-northeast-1.elb.amazonaws.com.</DNSName>
          </AliasTarget>
        </ResourceRecordSet>
      </Change>
    </Changes>
  </ChangeBatch>
</ChangeResourceRecordSetsRequest>

これを次のようにしてアップロードする。

$ ./dnscurl.pl --keyname route53-test -- -X POST -H "Content-Type: text/xml; charset=UTF-8" --upload-file alias.xml https://route53.amazonaws.com/2011-05-05/hostedzone/Z2M12YG35OHUP1/rrset

レコードを追加するときも同様で、ActionのDELETEをCREATEに書き換えるだけでよい。