DNSベース・リダイレクトの設定方法
Service Router はデフォルトでは、HTTP や RTSP のリダイレクトを利用してリクエストのルーティングを行います。DNSベースのリダイレクトは、クライアントからのDNSクエリを受け取った Service Router がリダイレクト先の Service Engine のIPアドレスを返すことにより、クライアントが直接 Service Engine にリクエストを送信するようになります。
DNSリダイレクトに変更するには、Service Router にて以下のように設定します。
全て DNS-based redirect にする(all 指定)か、特定のドメインだけに限定することができます。
全てのドメインを対象とする場合
(config)# service-router redirect-mode dns-redirect all
特定のドメインだけに限定する場合
(config)# service router redirect-mode dns-redirect domain web.cdn.japan-tac.local
確認は以下の show コマンドで行います。
SR# show service-router redirect-mode
ip-redirect is not enabled
dns-redirect domain web.cdn.japan-tac.local
Service Router における DNSサーバ機能
DNS redirect によるルーティングでは、Service Router は Service Routing FQDN に対する Authoritative DNS Server になります。Service Router は DNS query を受け取ると、リダイレクト先のService Engine の IPアドレスを A レコードとして返します。
動作を確認します。SRFQDN (web.cdn.japan-tac.local) を Service Router (192.168.20.9) に問い合わせると、リダイレクト先となる 192.168.20.7 (se0) 又は 192.168.20.8 (se1) が返されます。
$ dig @192.168.20.9 +short web.cdn.japan-tac.local
192.168.20.7
$ dig @192.168.20.9 +short web.cdn.japan-tac.local
192.168.20.8
$ dig @192.168.20.9 +short web.cdn.japan-tac.local
192.168.20.7
SRFQDN の名前解決で Service Engine の IP アドレスが返されるため、Service Engine に対して SRFQDN でアクセスすることになります(HTTPリクエスト内の Hostヘッダが SRFQDN になります)。
$ telnet 192.168.20.7 80
Trying 192.168.20.7...
Connected to 192.168.20.7 (192.168.20.7).
Escape character is '^]'.
GET /abc.html HTTP/1.0
Host: web.cdn.japan-tac.local
HTTP/1.0 200 OK
Connection: Close
Accept-Ranges: bytes
ETag: "816453-4-48d228c0"
Last-Modified: Tue, 13 Dec 2011 06:23:07 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 4
Date: Tue, 13 Dec 2011 06:25:03 GMT
Server: Cisco-CDS
abc
Connection closed by foreign host.
DNSベース・リダイレクトを使用する場合の注意点
DNSベース・リダイレクトでは、リダイレクト先の Service Engine が提供している Service や、Service Engine の負荷を意識せずにリダイレクトを行うため、適切でない Servivce Engine へリダイレクトされる可能性があります。