読者です 読者をやめる 読者になる 読者になる

tech.guitarrapc.cóm

C#, PowerShell, Unity, Cloud, Serverless Technical Update and Features

Amazon Route53 の DNS Query Test Tool を使わない手はないお話

このブログに限らず、私は基本的に Amazon Route53 を DNS サービスとして愛用しています。Google Cloud 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 も購入できます。

azure.microsoft.com

support.google.com

Amazon Route53 は Route53画面でドメイン購入、管理まで統合しておりわかりやすさは群を抜いています。

f:id:guitarrapc_tech:20160901030636p:plain

個人的には、Azure の Custom domains 管理はDNS の統合という意味では離れすぎているのでなんとかしてほしいなぁと。

f:id:guitarrapc_tech:20160901030653p:plain

Google DNS はちょっとまだまだですね...

ちなみにグラニでは Route53の有効期限を Azure Functions でSDKを使った定期監視しています。もちろんドメインの自動更新も利用するのですが、どのドメインがいつまでというのがファンクション上でコードで管理され、いつでもテスト可能というのはいいものです。

Private DNS の管理 との統合

Route53 では、指定VPC 用のローカルDNS として Route53 が利用可能です。なかなか使いやすく、Peering越しの DNS 解決を有効にできないようなシーンでも Route53 の Private DNS 機能を使うとおおよそ対応が可能でしょう。

docs.aws.amazon.com

もちろん同名ドメインの パブリックとプライベートがあった場合、プライベートが優先されます。

プライベートホストゾーンとパブリックホストゾーンの両方がある場合、プライベートホストゾーンに関連付けた 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 f:id:guitarrapc_tech:20160901031548p:plain
Google DNS f:id:guitarrapc_tech:20160901031752p:plain
Amazon Route53 f:id:guitarrapc_tech:20160901032222p:plain

CAA... さすが Google ですね。

RFC 6844 - DNS Certification Authority Authorization (CAA) Resource Record

Aレコードエイリアス (Alias)

AWS内部リソースであれば、Aレコードエイリアスが利用できます。

エイリアスリソースレコードセットの値 - Amazon Route 53

dev.classmethod.jp

tech.blog.aerie.jp

あくまでもAレコードなのに名前で扱えるのは、CNAME と違って非常に使い勝手が良く、AWSだけで使っている分にはとても嬉しいものです。AWS使っているなら、Route53 を使う大きな理由になるでしょう。

ルーティングポリシー

Route53 には Routing Policy が存在します。あまりやりすぎるとカオスになるので注意ですが、これ一つで単純なラウンドロビンから、重みづけルーティングまで容易に制御できます。

docs.aws.amazon.com

dev.classmethod.jp

とくに 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 に移動して、テストしたいレコードを選択してください。

f:id:guitarrapc_tech:20160901033642p:plain

たとえばこのブログは はてなブログPro なのですが、カスタムドメインに対して hatenablog.com を CNAME 設定が必要です。Route53 で設定できているか、簡単にテストできますね。

f:id:guitarrapc_tech:20160901033419p:plain

残念ながら、指定VPC 用のローカルDNSの場合はテストできません。が、十二分に素晴らしいです。ぜひ使っていただけると、もやもやがずいぶんと解消するのではないでしょうか。*1

まとめ

Route53 に限らず、各クラウドプラットフォームのDNS サービスを使うのは非常にいいと思います。ただ、DNS に関しては SSL同様に、使いやすさ、管理しやすさを重視する視点も必要と日頃感じるので、いい感じの使い方を見つけたいと思うのでした。

サブドメインでのゾーンの分割をはじめとして、Route53 活用はサービスの数だけわくわくがあるので使い倒していきたいですね!

*1:私はとてもすっきりしました