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

DBXX エンジニアブログ

中国・大連でふわっとITしています

【阿里云】HTTPDNSって何が美味しいの?

阿里云が提供するのは仮想マシンだけではありません。
AWSと同じようにBaaSやPaaSのレイヤのサービスも提供しています。

さて、阿里云にHTTPDNSというサービスがあることに気づきました。
何でしょうね、これ?

HTTPDNSのサービス概要

  • ドメイン名の解決をDNS(UDP/53)ではなく、HTTP(TCP/80)で行う。
  • AndroidiOS用のSDKがあり、スマホアプリのドメイン名解決がHTTPでできるようになる。
  • 阿里云がHTTPDNSサーバを提供している。
  • リクエスト数による課金だが、月間150万リクエストまで無料。

HTTPDNSの何が美味しいの?

通常のDNSと比べてHTTPDNSは何がいいのでしょうか?
产品优势を翻訳してみます。

原文

HTTPDNS使用HTTP协议进行域名解析,代替现有基于UDPDNS协议,域名解析请求直接发送到阿里云的HTTPDNS服务器,从而绕过运营商的Local DNS,能够避免Local DNS造成的域名劫持问题和调度不精准问题。 相比于传统的DNS,HTTPDNS主要有下面两个优势: 防劫持:绕过运营商Local DNS,避免域名劫持,让每一次访问都畅通无阻。 精准调度:基于访问的来源IP,获得最精准的解析结果,让客户端就近接入业务节点。

HTTPDNSはHTTPプロトコルを使用してドメイン名解決をします、これはUDPDNSプロトコルの代替となります。
ドメイン名解決のリクエストは直接阿里云サーバに届くため、ISPのローカルDNSを迂回し、ローカルDNSのもたらすドメイン名ハイジャック問題と調整が不正確な問題を避けることができます。

伝統的なDNSと比べて、HTTPDNSは主に下記2つの利点があります。

  • ハイジャック防止:ローカルDNSを迂回することでドメイン名ハイジャックを避け、毎回のアクセスが滞りなくなります。
  • 正確な調整:アクセス元のIPによって、最も正確な名前解決結果を得られ、クライアント端末は最も近くの接続点にアクセスできます。

HTTPDNSの始め方

開通

f:id:jampm:20160416003048p:plain

f:id:jampm:20160416003145p:plain

f:id:jampm:20160416003221p:plain

ドメイン名の登録

f:id:jampm:20160416004721p:plain

あらかじめ登録しておいたドメイン名へのリクエストにだけHTTPDNSは応答します。
ドメイン所有者は関係なく、どんなドメイン名でも登録できます。

Account IDというのが自動で作成されます。
これは後ほど必要になります。

添加域名をクリックします。

f:id:jampm:20160416004806p:plain

いくつか登録してみました。

f:id:jampm:20160416005056p:plain

HTTPDNSをcurlで試してみる

スマホ用にAndroidiOSSDKが用意されていますが、 今回は手っ取り早くcurlコマンド一発で試してみます。 手元のMacOSXで実行しています。

xxxxxxのところは、自分のAccount IDを入れてください。

~ $ curl http://203.107.1.1/xxxxxx/d?host=www.aliyun.com
{"host":"www.aliyun.com","ips":["140.205.115.67"],"ttl":247}

~ $ curl http://203.107.1.1/xxxxxx/d?host=www.linkedin.com
{"host":"www.linkedin.com","ips":[],"ttl":300}

~ $ curl http://203.107.1.1/xxxxxx/d?host=www.apple.com
{"host":"www.apple.com","ips":["222.163.206.244"],"ttl":21}

~ $ curl http://203.107.1.1/xxxxxx/d?host=www.facebook.com
{"host":"www.facebook.com","ips":["37.61.54.158"],"ttl":733}

免费体验及Demo(無料体験及びDemo)

ブラウザ上で簡単にどのようなレスポンスが来るか試すこともできます。
下記のようにドメイン名を入力します。

f:id:jampm:20160416011640p:plain

www.yahoo.co.jpは日本のIPを返すようですね。

f:id:jampm:20160416012116p:plain

www.apple.comは中国大陸内の联通(China Unicom)のIPを返しています。
私の端末の回線も联通なので、これはCDNの効果ですね。

f:id:jampm:20160416012431p:plain

まとめ

ISPのローカルDNSドメイン名ハイジャックとか書いてしまうあたりが驚きました。
ドメイン名解決が遅い、変な応答来る、などの時は選択肢の一つに上がるかもしれませんね。