2023.01.16
J-Stream CDNext
CDN
CDNext紹介
CDNの利用を開始すること自体はそれほど難しい作業ではありません。ただし仮に、配信するWebサイトの仕様に対して不適切、あるいは誤った設定が含まれていた場合は、Webサイトの配信に支障が出てしまうこともあるので、事前の検証が不可欠です。今回は、CDNの利用開始前の具体的な検証方法と、JストリームのCDNサービス「J-Stream CDNext」で利用できる「ステージング機能」についてご紹介します。
検証はどのような目的、またどのような観点から行うべきでしょうか。チェックすべき箇所が判然としない時や、配信対象のWebサイトの構成がかなり複雑になっている場合などは、よくCDN事業者と情報を連携して、サービス導入時や、利用中の設定変更時のつまずきを回避しましょう。
CDNではWebサイトの仕様に応じて、「特定のコンテンツはキャッシュしない」「TTLを短く・長くする」「このリファラ情報を持つクライアントしかアクセスできないようにする」「このクエリストリングを持っている場合はキャッシュファイルを個別に持つ」など細かい設定を行う場合があります。
CDNの設定に誤りがあると、意図した通りの表示がされなかったり、そもそもWebサイトへアクセス出来なかったりといった事象が起こる可能性があります。事前の検証により回避可能なので、Webサイトへアクセスしたいエンドユーザーへ影響が出ないよう、いきなり本番環境へCDNを適用するのは避けるべきです。
CDNはFQDN単位で導入されるサービスです。「www.example.com」にCDNを導入すると、このFQDN配下のコンテンツは全てCDNを経由してリクエストされ、またレスポンスされることになります。CDNサービスの機能によって「このディレクトリ配下のコンテンツはキャッシュしない」「このファイルはキャッシュしない」というような設定をすることが出来る場合がありますが、その場合でも「ファイルをキャッシュしない」というだけで、通信の経路上はCDNを通って配信されることに変わりありません。
そのため、主にCDNの効果を期待したいページだけでなく、同じFQDNに含まれるすべてのコンテンツについて、CDNの設定に問題が無いか確認する必要があります。
同じFQDNに含まれるすべてのコンテンツがCDNを経由して配信されるということは、特に設定を工夫せずにCDNの利用を開始すると、すべてのコンテンツがCDNによりキャッシュされるようになるということです。
Webサイト全体を見回してみると、個人情報が含まれている部分など、キャッシュをしない方が良い部分が含まれている場合もあるでしょう。
CDNを利用する時は、キャッシュさせたいコンテンツがしっかりキャッシュされているか確認することも必要ですが、反対にキャッシュさせるべきでないコンテンツがキャッシュされていないかについても確認を行いましょう。
CDNの利用を開始するには、大抵の場合DNSのCNAMEレコードを利用します。CNAMEレコードはあるドメインの正式な名称を指定するレコードです。CDNを導入したい公開用のFQDNと、CDNサービスに接続されるCDNホストのFQDNをCNAMEレコードで関連付けることによって、公開用のドメインにアクセスしたクライアントはCDNのネットワークへ誘導されます。
DNSのリソースレコードを変更すれば、当然対象のFQDNにアクセスする全てのクライアントがその指示に従うようになってしまうので、検証時にはDNSを設定する以外の方法を採用する必要があります。その際用いられるものがhostsファイルです。
hostsファイルとは、あるIPアドレスとFQDNが対応していることを記述するテキストファイルです。DNSのAレコードと同じ役割を果たします。
hostsファイルはOSのシステムファイルとしてローカルに格納されているものであるため、hostsファイルに記述された内容に従って名前解決を行うのは、そのhostsファイルを持っている特定の端末のみということになります。これにより、DNSによるCDNの全体適用前に、特定の検証端末でのみ、CDNを経由した配信を行うことが可能です。
具体的には、hostsファイルにCDNを導入したい公開用のFQDNとCDNのキャッシュサーバーのIPアドレスとの対応の関係を記述します。この状態で公開用のFQDNにアクセスすると、リクエストはCDNのキャッシュサーバーへ誘導されることになります。
Jストリームが提供するCDNサービス「J-Stream CDNext」には、hostsファイルを利用した検証をサポートする機能が備わっています。ステージング機能があることで、必要情報の取得や検証が手軽に実施できます。
下記はCDNextの管理画面です。右側に「ステージ反映」とある部分で、ステージング環境機能の設定が可能です。
CDNextの管理画面において、まずは配信の設定を完了させます。これは必要に応じてエンジニアのサポートを受けることが出来ます。その上で「ステージ反映」欄の「反映」を押下することで、ステージング環境の利用が可能になります。
CDNextの管理画面には、hostsファイルに登録するための、検証用IPアドレス情報が記載されています。このIPアドレスと、検証したいWebサイトのFQDNをhostsファイルに記載することで検証の準備は完了です。
hostsファイルの記載を済ませた端末のブラウザから、検証したいWebサイトへアクセスしましょう。Webサイトが表示されたら、正しくCDNから配信されているか確認します。
前述のような観点で、配信されているコンテンツに問題がないか検証することに加えて、ブラウザのデベロッパーツールを用いて、レスポンスヘッダ情報から動作を確認しましょう。
CDNからコンテンツがレスポンスされる際には、そのCDNサービスで指定されるヘッダ情報が付与された状態になっています。
CDNextの場合は「via」ヘッダが「JSTCDN」に、「X-Cache」が「HIT」「MISS」「-」のどれかに、「X-Cache-Age」が管理画面で設定したTTLの値になっています。管理画面おいてキャッシュをしないという設定をしたコンテンツについては「X-Cache」が必ず「MISS」の判定になります。問題が無いことが確認できれば検証は完了です。DNSの設定変更へ進みましょう。
以上、CDNの利用開始前の具体的な検証方法とCDNの利用開始前の検証を手軽に実施できるCDNextの「ステージング機能」についてご紹介しました。
Jストリームでは国内で長らくコンテンツ配信事業を行ってきた経験をもとに、自社で運用するCDNサービスに小回りの利いた機能を追加開発してきました。これらの機能を用いて、専任エンジニアより最適な設定をご案内いたします。是非お気軽にお問合せ下さい。
関連する記事一覧
CDNとは? ~ノンエンジニア向けにわかりやすく解説~ CDNとは? ~ノンエンジニア向けにわかりやす…
2023.04.19
J-Stream CDNext
速度改善
アクセス集中対策
CDN
CDNを導入することで「可用性の向上」「配信の高速化/表示速度の高速化」「コスト削減」「DoS/DDos攻撃対策」など… CDNを導入することで「可用性の向上」「配信の高速化/表示速度の高速化」「コスト削減」「DoS…
CDNのメリット・デメリットとは? トラブル回避して上手に… CDNのメリット・デメリットとは? トラブル回…
2023.04.19
J-Stream CDNext
パフォーマンス改善
CDN
CDN(Content Delivery Network)は多くのWebサイトで利用される利便性の高い技術ですが、使い… CDN(Content Delivery Network)は多くのWebサイトで利用される利便…
CDN導入の流れと費用イメージ CDN導入の流れと費用イメージ
2023.04.19
J-Stream CDNext
速度改善
アクセス集中対策
CDN
Web表示速度対策やアクセス集中対策として有効なCDN(Content Delivery Network)。今回は「C… Web表示速度対策やアクセス集中対策として有効なCDN(Content Delivery Ne…
CDNのキャッシュ動作とは? トリガーやタイミングについて… CDNのキャッシュ動作とは? トリガーやタイミ…
2023.03.30
J-Stream CDNext
CDNext紹介
CDNはオリジンサーバーへアクセスし、ファイルをキャッシュして配信していますが、CDNとオリジンサーバーは常に通信し合… CDNはオリジンサーバーへアクセスし、ファイルをキャッシュして配信していますが、CDNとオリジ…
CDNで実装できるアクセス制御設定:CDNext紹介 CDNで実装できるアクセス制御設定:CDNex…
2023.03.30
J-Stream CDNext
CDNext紹介
CDNには特定のルールでアクセスを制御することができる設定項目が備わっている場合があります。特定のユーザーにしかアクセ… CDNには特定のルールでアクセスを制御することができる設定項目が備わっている場合があります。特…
オリジンサーバーダウン、それでも配信を継続させるためにCD… オリジンサーバーダウン、それでも配信を継続させ…
2023.03.22
J-Stream CDNext
CDN
CDNext紹介
CDNはオリジンサーバーの負荷を軽減させ、快適な配信環境を提供するサービスです。しかし配信による負荷以外の理由でサーバ… CDNはオリジンサーバーの負荷を軽減させ、快適な配信環境を提供するサービスです。しかし配信によ…
Jストリームの
ソリューションに
興味をお持ちの方は
お気軽に
お問い合わせください。