AWS 上の DNS 環境である Amazon Route 53 に、 DNS を移してみました。これは、その記録。
Amazon Route 53
http://aws.amazon.com/jp/route53/
一般的に DNS といえば、Linux 系の方であれば BIND や unbound を思い出される方が多いのではないでしょうか。BIND であれば、named.conf にゾーンのエントリを追加したり、セカンダリDNSサーバを登録したりと、ゾーン転送したり。…これが手作業だと、結構面倒だったりしますよね。ウッカリ Serial を更新し忘れて、一日中延々と悩んだり、レコードに「.」をつけ忘れて www.example.jp.example.jp のような情報ががが、とか。
一方、Amazon Route 53 は、ブラウザで画面をポチポチするだけでドメインを管理出来てしまうという優れもの。正直 BIND を扱うよりも簡単に DNS を運用出来る事は、大きな強みだと思います(BIND は、DNSというよりも、BINDというシステムを運用する為の知識が求められますし、かつ習得にも時間を要します)。しかもAmazon Route 53 は、信頼性が高く、スケール可能で、速い(サイトより)とのこと。しかも、安い(25ゾーンまでは、1ドメインあたり $0.5。あとはDNSクエリ毎に課金)。さらに、レコード毎に重み付け設定や、レイテンシに応じた自動割り振りも可能。これだけ高機能なのに、安いのはかなり魅力的です。
◆ Route 53 を使うための流れは単純
実際に利用するためには、ドメイン名を用意→Route 53の設定を行うというシンプルなもの。
1. ドメイン取得 … まずドメインの取得が必要です。ドメインは AWS では提供されていないので、どこかのレジストラで取得する必要があります。
2. Route 53 のコンソール にアクセス
3. ゾーン(Route53 では Hosted Zone)を作成
4. Route 53 で割り当てられた NS (ネームサーバ・レコード)を、レジストラのネームサーバ情報に登録
5. 必要なレコードを作成します。A レコードや、MXレコード等、画面上で全て完結します。
◆実際にドメインを移転してみた
僕はcode02.net という遊んでいるドメインがあったので、これを移転することにしました。
手順1:Hosted Zone の作成
1. まずはAmazon Route 53 のコンソールに移動 https://console.aws.amazon.com/route53/
2. ボタン【 Create Hosted Zone】(Hosted Zone作成)をクリック
3. 画面右側の部分の 「Domain Name:」にドメイン名を入力。「Comment:」には、メモ(コメント)を残すことも出来ます。
4. ページ右下のボタン【 Create Hosted Zone 】(Hosted Zone 作成 ) をクリック
5. クリックして数秒待つと、Hosted Zone が作成完了となり、一覧にドメイン名が表示されます。
以上で、ゾーン作成は完了です。
手順2:レコードを追加する。
あとは、一般的なDNSと同様に、リソースレコード(NS レコード、Aレコード、MX レコード等々)を作成します。
1. ドメイン名の行をダブルクリックするか、ドメイン名を選択して【 Go to Record Sets 】をクリックします。
2. 【 Create Record Set 】(レコードセットの作成)をクリックします。
3. あとは、必要な情報を記入します。まずは A ( アドレス ) レコードを作成してみましょう。Name: の所にホスト名、Type: はそのまま、value: に IP アドレスを記述し、【 Crate Recode Set 】を推します。
レコードは、A レコード以外にも、色々選べます。
たとえば、メールサーバを指定するMXレコードも同様に設定できます。Value: の所は、一般的な DNS の記述と同じですね。
ちなみに、”Alias:” は、CNAMEのように機能するものです。一括して環境を移行することが予め想定されている時には便利ではないでしょうか。
“Routing Policy:”は、DNSルーティングのポリシー指定です。通常は “Simple”です。 ”Weighted”は DNS ラウンドロビンの重み付けのような指定が出来ます(資料)。”Latency”は、ユーザのアクセス環境に応じて、レイテンシの低い環境に振り向ける機能です。Weighted および Latency は別料金です。
レコードの編集は、鉛筆のマークから。
レコードの削除は【Delete Record Set】から。
さて、最終的にこんな感じになりました。
これだけで、特に何も設定しなくとも大丈夫です。
※なお自動作成された NS レコードや SOA レコードを編集してはいけません。
手順3:レジストラで ネームサーバの変更手続きを行う。
最後に、ゾーンを作成すると、NS レコードが自動作成されています。ここで表示されるネームサーバ情報を、レジストラ(ドメイン管理事業者)に申請します。(なお、作業前に、予め TTL 値を引き下げておくと、スムーズに移行できると思います)
ネームサーバ側で更新手続きが終わり、かつ、手許のクライアントの DNS キャッシュが切れると、新しい情報で参照出来ます。dig で引くと、NS レコードが切り替わっていることを確認できました。
<変更前>
$ dig code02.net ; <<>> DiG 9.3.6-P1-RedHat-9.3.6-20.P1.el5 <<>> code02.net ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1652 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1 ;; QUESTION SECTION: ;code02.net. IN A ;; ANSWER SECTION: code02.net. 3600 IN A 210.158.217.151 ;; AUTHORITY SECTION: code02.net. 3600 IN NS ns2.code02.net. code02.net. 3600 IN NS ns1.code02.net. ;; ADDITIONAL SECTION: ns1.code02.net. 3600 IN A 210.158.217.151 ;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Fri Mar 30 23:01:49 2012 ;; MSG SIZE rcvd: 96
<変更後>
$ dig code02.net a ; <<>> DiG 9.3.5-P1 <<>> code02.net a ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33387 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 3 ;; QUESTION SECTION: ;code02.net. IN A ;; ANSWER SECTION: code02.net. 292 IN A 210.158.217.151 ;; AUTHORITY SECTION: code02.net. 172792 IN NS ns-854.awsdns-42.net. code02.net. 172792 IN NS ns-1046.awsdns-02.org. code02.net. 172792 IN NS ns-2036.awsdns-62.co.uk. code02.net. 172792 IN NS ns-228.awsdns-28.com. ;; ADDITIONAL SECTION: ns-228.awsdns-28.com. 172792 IN A 205.251.192.228 ns-1046.awsdns-02.org. 172792 IN A 205.251.196.22 ns-2036.awsdns-62.co.uk. 172792 IN A 205.251.199.244 ;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Fri Mar 30 23:02:00 2012 ;; MSG SIZE rcvd: 229
以上でドメインを Amazon Route 53 に移転完了です。思ったより簡単だったな、というのが正直な所です。ドメイン名を持っているだけのモノは、Route 53 に移行しようかと思いました。まだまだ高度な機能は使いこなせていませんが、徐々に慣れていこうと思います。
参考:
Migrating an Existing Domain to Route 53 – Amazon Route 53
http://docs.amazonwebservices.com/Route53/latest/DeveloperGuide/MigratingDNS.html
Pingback: Route 53 を使ってみた | 1Q77