VAS_HTTPDNS

最終更新日:2022-04-12 13:36:16

1 VASイ紹介

1.1 概要

ドメイン名の通常リゾリューションはDNSプロトコルに基づいており、ローカルのDNSサーバーがドメインをリアルサーバーのアドレスに解析します。リゾリューションはローカルDNSサーバーに依存しており、ISPやアタッカーによって乗っ取られやすいのです。スケジューリングに関しては、CDNプロバイダーはローカルDNSのIPに基づいて、位置とISPを特定しますが、これは実際のユーザーIPではない上に、精度も低いのです。

このような状況に対し、CDNetworksはローカルのDNSサーバーの代わりに、CDNetworksのHTTPDNSクラスターからドメイン解析するためのHTTPDNSを展開し、DNS乗っ取りを効果的に防止しています。スケジューリングはリアルユーザーのIPに基づいているため、精度がより高くなります。

1.2 適用プロダクト

  • Content Acceleration
  • Dynamic Web Acceleration
  • Media Acceleration
  • Media Acceleration Live Broadcast

1.3 使用シーン

乗っ取り防止やスケジューリングの精度が求められるシーンに適用できます。

2 VASの詳細

2.1 VASの説明

HTTPDNSは、従来のDNSプロトコルの代わりに、HTTPで解析結果を送るため、DNSレイヤーの乗っ取りや誤動作を効果的に回避することができます。クライアントがCDNetworks HTTPDNSクラスターに「DNSクエリ」のリクエストを送ると、CDNetworks HTTPDNSクラスターは、リクエストに含まれるドメインとIP情報をもとに、CDN内部のスケジューリングシステム(Global System Load Balancing)でDNS結果を検索します。そして、クライアントにベストのPOP IPアドレスを返答します。クライアントがベストのPoP IPアドレスを取得すると、ベストのPoP IPアドレスにHTTPリクエストを送ります。

2.2 ワークフロー

System Framework Upgrade

図1 HTTPDNSのワークフロー

  1. エンドユーザーは、HTTPDNSサーバーのIPアドレス + リクエストURLを乗せて、CDNetworks HTTPDNSクラスターにリクエストを送ります。CDNetworksも、ユーザードメインとエンドユーザーのIPアドレスをリクエストに追加することができます。
  2. HTTPDNSクラスターはGLB(Global Load Balancing)サーバーと同期することで最適なPoPを取得しています。また、最適なエッジPoPの記録Aをエンドユーザーに返します。
  3. エンドユーザーは記録Aを受信し、最適なエッジPoPにHTTPリクエストを送ります。
    注意:エンドユーザーがCDNetworks HTTPDNSクラスターに送ったリクエストが失敗した場合、バックアッププロセスが起動され、DNS解析するためにローカルDNSにリクエストを送ります。

2.3 紹介

HTTPDNSサービスは、ターミナルをお持ちのお客様のみが利用可能です。DNSリクエストを置き換えるため、HTTPDNS SDKをユーザーのターミナルにインストールする必要があります。HTTP DNS機能は、2つの方法によって実現できます。

1) クライアントがHTTPリクエストを発動した場合:

リクエストURLには:クエリする加速ドメイン+エンドユーザーIPアドレス

URLの形式:

curl “http://server ip/v1/httpdns/clouddns?ws_domain= www.example.com &ws_ret_type=json&ws_cli_IP=1.1.1.1 "

サーバーIP:CDNetworks HTTPDNSクラスターのIPアドレスで、海外で使用されるanycast IP:220.242.54.8。
ws_domain: エンドユーザーがリクエストするドメイン。
ws_cli_IP: クライアントのIPアドレスは空欄にして構いません。(空欄の場合、HTTPDNSは自動的にクライアントIPとなる接続IPを取得します)
ws_ret_type: リターンパケットの形式。パラメータ値がjsonの場合、リターンパケットはjson形式となります。パラメータを持たないリクエストの場合、リターンパケットは従来のIP TTL形式となります。

2) クライアントがHTTPSリクエストを発動した場合:

URLの形式:

curl –H “host: edge.wshttpdns.com” “https://[server IP/server domain name]/v1/httpdns/ws_domain=www.example.com& ws_ret_type=json&ws_cli_IP=1.1.1.1” –k

ホスト:お客様は、ホストを当社のサーバーアドレスに繋ぐ必要があります。“edge.wshttpdns.com”
サーバーIP:CDNetworks HTTPDNSクラスターのIPアドレスで、海外で使用されるanycast IP:220.242.54.8。
ws_domain: エンドユーザーがリクエストするドメイン。
ws_cli_IP: クライアントのIPアドレスは空欄にして構いません。(空欄の場合、HTTPDNSは自動的にクライアントIPとなる接続IPを取得します)
ws_ret_type: リターンパケットの形式。パラメータ値がjsonの場合、リターンパケットはjson形式となります。パラメータを持たないリクエストの場合、リターンパケットは従来のIP TTL形式となります。

また、CDNetworks HTTPDNSはマルチドメインクエリーに対応しており、同じHTTPDNSリクエストを通じて、複数のドメインリクエストを送信できるのです(リクエストされたドメインはセミコロンで区切られる)。また、その応答はこれらのドメインの記録Aとなります。HTTPリクエストのURL形式:http://service IP/?ws_domain=www. example1.com;www. example2.com&ws_ret_type=json

3 通知事項

  1. テストを実施する場合は、CDNetworksに連絡してHTTPDNSクラスターのIPアドレスを取得してください。
  2. 特定サーバーの停止や切り替えの影響を受けないために、お客様はサーバーIPをハードコアせず、定期的に更新できるダイナミックサーバーIPアドレスの使用をお勧めします。

4 つのキーメリット

  1. DNS乗っ取りを回避し、エンドユーザーが怪しいサイトにリダイレクトしないことを防ぐことができます。
  2. エンドユーザーがローカルDNSサーバーから遠く離れている場合、良いPoPを割り当てるために、HTTPに基づくより正確なスケジューリングを提供しています。