このブログに限らず、私は基本的に Amazon Route53 を DNS サービスとして愛用しています。Google Cloud DNS のほうが安かったりとか、いつまでβなんだろうという Azure DNS – サービスとしてのクラウド DNS | Microsoft Azure がありますが、Route53 が好きです。
今回は、 ようやく DNS Query Test Tool が Route53 でサポートされたので、嬉しくて記事を書いてみます。
目次
Amazon Route53 が好きな理由
お名前.com .... はおいておいて、Azure DNS や Google Cloud DNS と比較して Amazon Route53 を使うのにはいくつか理由があります。
- ドメイン購入も含めた統合
- Private DNS の管理 との統合
- 扱えるレコードタイプの種別
- Aレコードエイリアス (Alias)
- ルーティングポリシー
そして今回、これらに加えて DNS クエリテストが可能になりました。ざっくり紹介しましょう。
ドメイン購入も含めた統合
Azure DNS も Google DNS も購入できます。
Amazon Route53 は Route53画面でドメイン購入、管理まで統合しておりわかりやすさは群を抜いています。
個人的には、Azure の Custom domains 管理はDNS の統合という意味では離れすぎているのでなんとかしてほしいなぁと。
Google DNS はちょっとまだまだですね..。
ちなみにグラニでは Route53の有効期限を Azure Functions でSDKを使った定期監視しています。もちろんドメインの自動更新も利用するのですが、どのドメインがいつまでというのがファンクション上でコードで管理され、いつでもテスト可能というのはいいものです。
Private DNS の管理 との統合
Route53 では、指定VPC 用のローカルDNS として Route53 が利用可能です。なかなか使いやすく、Peering越しの DNS 解決を有効にできないようなシーンでも Route53 の Private DNS 機能を使うとおおよそ対応が可能でしょう。
もちろん同名ドメインの パブリックとプライベートがあった場合、プライベートが優先されます。
プライベートホストゾーンとパブリックホストゾーンの両方がある場合、プライベートホストゾーンに関連付けた Amazon VPC の Amazon EC2 インスタンスにログインしていると、プライベートホストゾーンがパブリックホストゾーンよりも優先されます。たとえば、example.com のパブリックホストゾーンとプライベートホストゾーンを作成して、パブリックホストゾーンにのみ www.example.com サブドメインを作成したとします。example.com のプライベートホストゾーンに関連付けられた VPC の Amazon EC2 インスタンスにログインしていると、パブリックホストゾーンにのみ存在する www.example.com を閲覧することはできません。
扱えるレコードタイプの種別
DNS は、扱えるレコードタイプによって制限されるので、利用機会が少なくても「扱える」というのは嬉しいものです。
レコードセット | Azure DNS | Google DNS | Amazon Route53 |
---|---|---|---|
A | 〇 | 〇 | 〇 |
AAAA | 〇 | 〇 | 〇 |
CAA | × | 〇 | × |
CNAME | 〇 | 〇 | 〇 |
MX | 〇 | 〇 | 〇 |
NAPRT | × | 〇 | 〇 |
NS | 〇 | 〇 | 〇 |
PRT | 〇 | 〇 | 〇 |
SOA | 〇 | 〇 | 〇 |
SPF | × | 〇 | 〇 |
SRV | 〇 | 〇 | 〇 |
TXT | 〇 | 〇 | 〇 |
2016/9/1時点 の状態です。
クラウドサービス | 2016/9/1状態 |
---|---|
Azure DNS | |
Google DNS | |
Amazon Route53 |
CAA... さすが Google ですね。
RFC 6844 - DNS Certification Authority Authorization (CAA) Resource Record
Aレコードエイリアス (Alias)
AWS内部リソースであれば、Aレコードエイリアスが利用できます。
あくまでもAレコードなのに名前で扱えるのは、CNAME と違って非常に使い勝手が良く、AWSだけで使っている分にはとても嬉しいものです。AWS使っているなら、Route53 を使う大きな理由になるでしょう。
ルーティングポリシー
Route53 には Routing Policy が存在します。あまりやりすぎるとカオスになるので注意ですが、これ1つで単純なラウンドロビンから、重みづけルーティングまで容易に制御できます。
とくに Weighted Round Robin は、Blue/Green や CDN のオンライン切り替え、トラフィックの調整まで様々な用途に利用できます。ELB とか ALB いう前に Route53 レベルで様々な制御が可能なのでぜひ利用していただきたいです。
DNS クエリテスト
そして今回 DNSクエリテストが可能になりました。
Amazon Route 53 Announces NAPTR Record Support and DNS Query Test Tool
私の観測範囲が狭いのか、この機能は色々なDNSサービスみてもあまり見かけないように思います。DNS がマネージドだからこそ、そこでどのような状況なのかは日常DNS を触っていて切実なのです。
利用は簡単です。Hosted Zone
に移動して、テストしたいレコードを選択してください。
たとえばこのブログは はてなブログPro なのですが、カスタムドメインに対して hatenablog.com
を CNAME 設定が必要です。Route53 で設定できているか、簡単にテストできますね。
残念ながら、指定VPC 用のローカルDNSの場合はテストできません。が、十二分に素晴らしいです。ぜひ使っていただけると、もやもやがずいぶんと解消するのではないでしょうか。*1
まとめ
Route53 に限らず、各クラウドプラットフォームのDNS サービスを使うのは非常にいいと思います。ただ、DNS に関しては SSL同様に、使いやすさ、管理しやすさを重視する視点も必要と日頃感じるので、いい感じの使い方を見つけたいと思うのでした。
サブドメインでのゾーンの分割をはじめとして、Route53 活用はサービスの数だけわくわくがあるので使い倒していきたいですね!
*1:私はとてもすっきりしました