2022.10.03
CDN(Content Delivery Network)を導入するためには、DNSの知識が不可欠です。本記事では、DNSサーバーの種類やCDN導入時に必要となるDNSの設定内容など、実際にどういった知識が必要になるのかについて解説します。
CDNについて詳しく知りたい人はこちらの記事をご覧ください。
・【関連記事】CDNとは? ~ノンエンジニア向けにわかりやすく解説~
DNS(Domain Name System)はドメイン名とIPアドレスの対応付けを行うシステムのことです。ドメイン名からIPアドレスを取得することを「名前解決」といいます。
コンテンツを配信する為にはネットワーク上にサーバー等を準備して配信を行います。
IPアドレスとはネットワーク上に割り当てられている住所のようなもので、サーバーにはこのIPアドレスを利用して到達します。
IPアドレスは「101.102.235.199」のような形をしていていますが、これだと誰の家であるかが人間にはすぐには分かりません。これを分かりやすくするものがドメインです。
IPアドレスを人間にとって分かりやすくするために付与するものがドメインです。
弊社のコーポレートサイトは「www.stream.co.jp」というドメインとなります。
ドメイン名「www.stream.co.jp」をWebブラウザに入力するとページが表示されるのは、DNSサーバーによりドメイン名「www.stream.co.jp」とIPアドレス「101.102.235.199」が対応付けされているためです。対応付けされているIPアドレスを利用してサーバーに到達し、コンテンツがダウンロードされます。
ドメイン名とIPアドレスの対応付けを行うシステムを提供するサーバーのことを「DNSサーバー」と呼びます。DNSサーバーには、「DNSコンテンツサーバー」と「DNSキャッシュサーバー」の2種類があります。
DNSコンテンツサーバーはドメイン名とIPアドレスの対応情報(ゾーン)を保有・管理するDNSサーバーです。
DNSキャッシュサーバーはDNSサーバーに問い合わせを行い、その結果を一定期間(TTL)保持するDNSサーバーです。
通常、PCやスマートフォンを利用している場合、このDNSキャッシュサーバーに名前解決を依頼します。DNSキャッシュサーバーが無い場合、毎回DNSコンテンツサーバーに問い合わせが発生し、不必要にリソースを消費してしまいますが、DNSキャッシュサーバーを利用することによってリソースを有効に活用できます。
注意点としては、DNSコンテンツサーバーにある対応情報(ゾーン)を変更したとしても、DNSキャッシュサーバーでは一定期間(TTL)保持され続けるため、変更が即時反映されるとは限りません。
CDNを導入するために必要なDNSの設定は、DNSコンテンツサーバー内の対応情報(ゾーン)ファイルに記述されています。1行毎にドメインとIPアドレスの対応情報を設定します。これをDNSレコードと呼びます。
DNSレコードは、以下のような形式で記述されます。
DNSレコードにはいくつかの種類があるので、代表的なDNSレコードをご紹介します。
最も基本的なDNSレコードで、ドメイン名に対応するIPアドレスを定義します。
ドメイン名の別名を定義します。
CDNを導入する際には、CNAMEレコードにCDNホスト(ドメイン)を別名として定義する必要があります。
ただし、CNAMEレコードにはいくつかの制約があるので後述します。
CNAMEレコードと同様にドメイン名の別名を定義し、CNAMEレコードが持つ制約を持たない拡張レコードとなります。
ただし、ALIASレコードを提供するDNSサービスは限られています。
CDN導入のための3つの確認ポイント
を解説します。
CDNを導入する際には、CDNのホスト(ドメイン)を設定する必要があります。
www.stream.co.jp. 300 IN CNAME dummy-cdn.stream.ne.jp.
CNAMEレコードには以下のような制約があります。
CNAMEレコードを他のレコードと一緒に設定してしまった場合に、正しく名前解決ができなくなったり、メールが届かなくなったりといった問題が起ってしまう場合があります。
CNAMEレコードを定義する前には、既存のレコードにどういった設定がされているのかを確認しておく必要があります。
ネイキッドドメインはホスト部が無いドメインのことを指します。CNAMEレコードでは、ネイキッドドメインは定義できません。ネイキッドドメインでのCDN利用について詳しく知りたい人はこちらの記事をご覧ください。
TTLはDNSのキャッシュ保持期間を表します。
例えば、以下のAレコードを設定した場合、最大1時間は同じ情報がキャッシュから応答されます。
通常運用においては、TTLを長い時間に設定していても問題はありません。
www.stream.co.jp 3600 IN A 101.102.235.199
DNSキャッシュサーバーの項目でも説明しましたが、設定TTL「3600秒」の場合、CDN導入のためCNAMEレコードを設定した際になにか問題が発生しすぐにAレコードに書き換えたとしても、最大1時間キャッシュを持ち続けてしまうため、切り戻しに時間が必要になってしまいます。
そのため、CNAMEレコード設定時にはある程度TTLを短い時間(300秒など)に設定し、サービスに問題が無いことを確認した後、TTLを元の設定に戻すといった運用を推奨しています。
以上、CDNを導入するために必要なDNSの知識について解説しました。
J-Stream CDNextは最短1カ月からご利用頂けるサービスです。実際にかかるデータ転送量の目安が予想できない方は、試しに1カ月間ご利用頂いて、以降の期間についての費用算出の参考にすることも可能です。お客様に対して専任の営業担当と、経験豊富なエンジニアにより最適な利用方法をご提案します。お気軽にお問合せ下さい。
DNSの運用には、サーバーやネットワークといったHWの保守・管理が必要な場合や、高度な技術力が必要になる場合があります。そういった場合に知っておきたいのが「マネージドDNSサービス」です。マネージドDNSサービスは、サーバーやOS等の保守・運用が不要で、レコード管理もWeb上から簡単に行うことができるサービスです。
当社は、より高速で高い堅牢性を持ったマネージドDNSサービスを提供しています。安定的なコンテンツ配信、堅牢性の高いマネージドDNSサービスをお探しの方はお気軽にお問合せください。
Jストリームの
ソリューションに
興味をお持ちの方は
お気軽に
お問い合わせください。