CDNやSaaS型WAFの導入における注意点
takaraです。
今回はロードバランサやWAF(SaaS), CDNといった、Webサーバと連携して利用する、各ベンダが提供するサービス利用時の注意点 DNS設定上の制限 のお話です。
AWSのELBやCloudFront、SaaS型WAFについては、冗長性や拡張性が整備された、サービス提供元が管理するドメイン向けに通信を流すように、下記のようなCNAMEレコードの設定を案内されるものが多くなっています。
[Web通信の流れ] www.netassist.ne.jp ⇒ elb.amazonaws.com ⇒ (流動的な複数のIPアドレス) [DNSレコード設定例] www.netassist.ne.jp CNAME elb.amazonaws.com.
特定ドメイン向けのWebサービス通信をCDNやWAFサービス用ドメインに流す、といった設定で、この単純な設定変更のみでサービスが利用できる辺り、お手軽に感じますが、このCNAMEレコード、Zone Apex(最上位ドメイン)や他のリソースレコードと設定できない、といった制限(RFC1912 – 2.4 CNAME records参照)があります。
[NG例1 - Zone Apexへの設定] example.com CNAME elb.amazonaws.com. [NG例2 - 別リソースレコードとの設定] www.example.com CNAME elb.amazonaws.com. www.example.com A xxx.xxx.xxx.xxx
AWSのRoute53は少々特殊で、CNAMEレコードの代わりにALIASレコードを使うことで、AWS各サービスで提供されるDNSネーム “elb.amazonaws.com” 等に対し、Zone Apexへのアクセスを流すことが可能です。
CDNやSaaS型WAFの導入をお考えの際は、現在運用中のWebサイトのURLで、CNAME設定が可能かどうかも ご確認ください。
ではまた。
[参考URL]
Qiita – Zone apexとCNAME
鷲ノ巣 – CNAME を巡る 2/3 のジレンマ
AWS – Route53 FAQ
Developers.IO – Amazon Route 53のALIASレコード利用のススメ