CDN利用開始前の検証に「ステージング機能」 :CDNext機能紹介

2023.01.16

J-Stream CDNext

CDN

CDNext紹介

CDNの利用を開始すること自体はそれほど難しい作業ではありません。ただし仮に、配信するWebサイトの仕様に対して不適切、あるいは誤った設定が含まれていた場合は、Webサイトの配信に支障が出てしまうこともあるので、事前の検証が不可欠です。今回は、CDNの利用開始前の具体的な検証方法と、JストリームのCDNサービス「J-Stream CDNext」で利用できる「ステージング機能」についてご紹介します。

1. CDN利用開始時における検証の必要性

検証はどのような目的、またどのような観点から行うべきでしょうか。チェックすべき箇所が判然としない時や、配信対象のWebサイトの構成がかなり複雑になっている場合などは、よくCDN事業者と情報を連携して、サービス導入時や、利用中の設定変更時のつまずきを回避しましょう。

Webサイトの表示自体に影響がないか確認する

CDNではWebサイトの仕様に応じて、「特定のコンテンツはキャッシュしない」「TTLを短く・長くする」「このリファラ情報を持つクライアントしかアクセスできないようにする」「このクエリストリングを持っている場合はキャッシュファイルを個別に持つ」など細かい設定を行う場合があります。
CDNの設定に誤りがあると、意図した通りの表示がされなかったり、そもそもWebサイトへアクセス出来なかったりといった事象が起こる可能性があります。事前の検証により回避可能なので、Webサイトへアクセスしたいエンドユーザーへ影響が出ないよう、いきなり本番環境へCDNを適用するのは避けるべきです。

同じFQDNに含まれるすべてのファイルが配信の対象になる

CDNはFQDN単位で導入されるサービスです。「www.example.com」にCDNを導入すると、このFQDN配下のコンテンツは全てCDNを経由してリクエストされ、またレスポンスされることになります。CDNサービスの機能によって「このディレクトリ配下のコンテンツはキャッシュしない」「このファイルはキャッシュしない」というような設定をすることが出来る場合がありますが、その場合でも「ファイルをキャッシュしない」というだけで、通信の経路上はCDNを通って配信されることに変わりありません。

CDNを利用した配信の例。(CDNがまだキャッシュを持っていない場合)
あるFQDNにCDNを導入すると、そのFQDN配下の通信は必ずCDNを経由することになる。

そのため、主にCDNの効果を期待したいページだけでなく、同じFQDNに含まれるすべてのコンテンツについて、CDNの設定に問題が無いか確認する必要があります。

キャッシュするべきコンテンツとするべきでないコンテンツの選別

同じFQDNに含まれるすべてのコンテンツがCDNを経由して配信されるということは、特に設定を工夫せずにCDNの利用を開始すると、すべてのコンテンツがCDNによりキャッシュされるようになるということです。
Webサイト全体を見回してみると、個人情報が含まれている部分など、キャッシュをしない方が良い部分が含まれている場合もあるでしょう。
CDNを利用する時は、キャッシュさせたいコンテンツがしっかりキャッシュされているか確認することも必要ですが、反対にキャッシュさせるべきでないコンテンツがキャッシュされていないかについても確認を行いましょう。

2. CDNの利用開始・検証方法

CDNの利用開始方法

CDNの利用を開始するには、大抵の場合DNSのCNAMEレコードを利用します。CNAMEレコードはあるドメインの正式な名称を指定するレコードです。CDNを導入したい公開用のFQDNと、CDNサービスに接続されるCDNホストのFQDNをCNAMEレコードで関連付けることによって、公開用のドメインにアクセスしたクライアントはCDNのネットワークへ誘導されます。

JストリームのWebサイトのFQDNに登録されているCNAMEレコード
www.stream.co.jpの正式名はCDNサービスのFQDNであると指定されている。

CDN利用開始時の検証方法

DNSのリソースレコードを変更すれば、当然対象のFQDNにアクセスする全てのクライアントがその指示に従うようになってしまうので、検証時にはDNSを設定する以外の方法を採用する必要があります。その際用いられるものがhostsファイルです。

hostsファイルとは、あるIPアドレスとFQDNが対応していることを記述するテキストファイルです。DNSのAレコードと同じ役割を果たします。
hostsファイルはOSのシステムファイルとしてローカルに格納されているものであるため、hostsファイルに記述された内容に従って名前解決を行うのは、そのhostsファイルを持っている特定の端末のみということになります。これにより、DNSによるCDNの全体適用前に、特定の検証端末でのみ、CDNを経由した配信を行うことが可能です。
具体的には、hostsファイルにCDNを導入したい公開用のFQDNとCDNのキャッシュサーバーのIPアドレスとの対応の関係を記述します。この状態で公開用のFQDNにアクセスすると、リクエストはCDNのキャッシュサーバーへ誘導されることになります。

3. 「ステージング機能」の利用

Jストリームが提供するCDNサービス「J-Stream CDNext」には、hostsファイルを利用した検証をサポートする機能が備わっています。ステージング機能があることで、必要情報の取得や検証が手軽に実施できます。

下記はCDNextの管理画面です。右側に「ステージ反映」とある部分で、ステージング環境機能の設定が可能です。

ステージング環境機能(最右)。
CDNextの本番配信機能と同様の環境でテスト配信が実施できる。

CDNextでの検証の流れ

CDNextの管理画面において、まずは配信の設定を完了させます。これは必要に応じてエンジニアのサポートを受けることが出来ます。その上で「ステージ反映」欄の「反映」を押下することで、ステージング環境の利用が可能になります。

CDNextの管理画面には、hostsファイルに登録するための、検証用IPアドレス情報が記載されています。このIPアドレスと、検証したいWebサイトのFQDNをhostsファイルに記載することで検証の準備は完了です。

4. ブラウザからの配信確認

hostsファイルの記載を済ませた端末のブラウザから、検証したいWebサイトへアクセスしましょう。Webサイトが表示されたら、正しくCDNから配信されているか確認します。

デベロッパーツールで確認したレスポンスヘッダ情報。
CDNextから配信する際に付与される情報が確認できる

前述のような観点で、配信されているコンテンツに問題がないか検証することに加えて、ブラウザのデベロッパーツールを用いて、レスポンスヘッダ情報から動作を確認しましょう。
CDNからコンテンツがレスポンスされる際には、そのCDNサービスで指定されるヘッダ情報が付与された状態になっています。

CDNextの場合は「via」ヘッダが「JSTCDN」に、「X-Cache」が「HIT」「MISS」「-」のどれかに、「X-Cache-Age」が管理画面で設定したTTLの値になっています。管理画面おいてキャッシュをしないという設定をしたコンテンツについては「X-Cache」が必ず「MISS」の判定になります。問題が無いことが確認できれば検証は完了です。DNSの設定変更へ進みましょう。

以上、CDNの利用開始前の具体的な検証方法とCDNの利用開始前の検証を手軽に実施できるCDNextの「ステージング機能」についてご紹介しました。
Jストリームでは国内で長らくコンテンツ配信事業を行ってきた経験をもとに、自社で運用するCDNサービスに小回りの利いた機能を追加開発してきました。これらの機能を用いて、専任エンジニアより最適な設定をご案内いたします。是非お気軽にお問合せ下さい。

J-Stream CDNext「料金と機能の一覧資料」をダウンロードする

サービス詳細

関連する記事一覧

Jストリームの
ソリューションに
興味をお持ちの方は
お気軽に
お問い合わせください。

電話でのお問い合わせ

0120-658140

【受付時間】9:30~18:30(土日祝日を除く)

登録無料!

Jストリームのサービスを活用した成功事例や、お客さまの課題解決につながるお役立ち情報などをメールでお届けしています。

メールマガジン登録

電話でのお問い合わせ

0120-658140

【受付時間】9:30~18:30(土日祝日を除く)