CDNの使い方:導入の検討開始~導入後までの流れ

2022.09.08

J-Stream CDNext

パフォーマンス改善

CDN

これからCDNサービスの利用を検討する方にとってCDNは難解なサービスに思えるかも知れません。一つひとつサービスの使い方について順を追って確認をすることで、仕組みの理屈を理解できれば、納得してサービスを利用することが出来るでしょう。本記事ではサービスの導入から運用開始後までのCDNサービスの使い方について、J-Stream CDNextの場合を例に解説します。

はじめに(CDNとは? 導入~運用の流れ)

CDNサービスの使い方の解説に入る前に、CDNとは何か、そして大まかな導入~運用の流れについて触れておきます。

CDNとは?

CDN(Content Delivery Network)とは、インターネットなどにおける大量、あるいは大容量のコンテンツ配信の最適化を行うサービスです。コンテンツの閲覧をリクエストするユーザーに対して、実際にコンテンツが格納されているサーバー(オリジンサーバー)よりも手前に位置することで、サーバーにかかる配信負荷を肩代わりします。

CDNの設置イメージ

CDNの利用を検討する理由としては、

  • 人気コンテンツへのアクセス集中によるサーバー負荷を減らして応答の遅延を解消したい
  • 突発的な大量アクセスによるサーバーダウンを防ぎたい
  • ファイル容量の大きなコンテンツを安定して配信できるようにしたい

などが代表的です。
Webサイトの「遅い」「重たい」「落ちる」を解消しようと思う場合には利用を検討すべきでしょう。

導入~運用の流れ

Jストリームでは自社で運営するCDNサービスである「J-Stream CDNext」を提供しています。ここからはCDNextを新規に導入する際の対応を例に解説します。

CDNサービスの導入~運用は、下記のような流れで進みます。

CDNサービス導入~運用の流れ

それぞれ詳しく解説していきます。

1. 導入前の確認

まずはCDNの導入を検討するWebサイトについて、問題無くCDNが利用できる状態になっているか確認を行いましょう。

CNAMEレコードの設定が出来るか

最終的な工程になりますが、CDNの導入のためには、対象のWebサイトのドメインについて、DNSのCNAMEレコードが編集可能である必要があります。
詳細は後述しますが、ここでは、

  • 対象のドメインを管理している人は誰か
  • ネイキッドドメインではないか

以上の2点について確認しましょう。

ドメインは、そのドメインを購入して管理している担当者がいるはずですので、企業の場合であればどの部署の誰が管理をしているのか確認を行ってください。
ネイキッドドメインとは、例えば「stream.co.jp」や「stream.com」のように、先頭に「www」などが付かないドメインの事を指します。ネイキッドドメインはDNSの一般的な制約として、CNAMEレコードを編集することが出来ないので注意が必要です。ネイキッドドメインのWebサイトをCDN化したい際にも対応方法はありますので、ご相談ください。

HTTPS通信の仕様に問題がないか

CDNサービスを利用する際にHTTPS通信を行いたい場合、ユーザーとCDNの間の通信をHTTPS化するためのSSL証明書が必要になります。利用できるSSL証明書が無い場合は用意をしましょう。

SSL証明書の用意ができたらCDNサービスへの登録を行いますが、多くのCDNサービスにおいて、登録するSSL証明書はSNI(Server Name Indication)が基本仕様となります。

SNIは古いブラウザやフィーチャーフォンなど一部の環境をサポートしていないため、それらの環境からアクセスしようとすると通信エラーとなります。古い環境を利用しているユーザーが想定される場合には注意が必要です。

CDNサービスによってはSSL/TLSのバージョンにも利用可否の制限があります。J-Stream CDNextでは2022年8月現在、TLS1.0/1.1のバージョンに対応していません。SSL/TLSのバージョンアップは脆弱性への対応のために行われるので、古いバージョンでの通信を許可しているとセキュリティ上のリスクがあります。

2. キャッシュするコンテンツとさせないコンテンツの確認

CDNを利用する際には、配信するコンテンツについて、以下3点の確認を行う必要があります。

  • キャッシュをしてはいけないコンテンツ
  • キャッシュをしても良いコンテンツ
  • アクセスする端末に応じて出し分けるコンテンツ

配信するコンテンツをそれぞれ仕分けして、CDNに対して適切な配信設定を行います。CDNを利用すると、同じドメイン(FQDN)に含まれるコンテンツは全てCDNを通って配信されることになります。したがって、同じドメインのコンテンツであれば全てCDNの機能的な仕様や設定した配信・キャッシュのルールの影響を受けるということです。それほどCDNの効果を期待しないページがあったとしても、配信対象のWebサイトと同じドメインであればチェックが必要です。

キャッシュをしてはいけないコンテンツ

CDNはオリジンサーバーからコンテンツをキャッシュして、そのキャッシュを配信する技術です。基本的にはいつ誰がアクセスしてきても、キャッシュしている同じコンテンツを配信します。
従って、個人情報が含まれているファイル、ユーザーアカウントごとに生成されるファイル、問い合わせフォームに入力した内容を確認させるページなど、あるユーザー個人のみを対象にしたファイルはキャッシュすべきではありません。誤って第三者へこのようなファイルが配信されてしまうと、個人情報流出の恐れなどがあります。

J-Stream CDNextの場合、キャッシュしてはいけないコンテンツをディレクトリ単位、ファイル名単位、拡張子単位で決めることが出来ます。例えば/login/ディレクトリ配下のhtmlファイルはキャッシュしない、など具体的なキャッシュルールの検討を行いましょう。

キャッシュをしても良いコンテンツ

誰がいつどのような端末で閲覧しても、ファイル情報やサイズ、フォーマットなどが固定であり、全員に対して同じ状態で配信されるコンテンツのことを静的コンテンツと呼びます。静的コンテンツは配信対象を区別しないので、キャッシュをしても良いコンテンツです。画像やJS、CSSなどのファイルが対象となることが多いでしょう。

キャッシュをしても良いコンテンツについては、頻繁に更新するコンテンツと、長時間更新しないコンテンツという仕分けも行いましょう。CDNはコンテンツを決められた時間内だけキャッシュし、時間が経過したらオリジンサーバーに対して改めてアクセスし、コンテンツが更新されていないか確認するという仕組みになっています。これはオリジンサーバー側でコンテンツの更新が行われていた場合、CDNから配信されるキャッシュ済みのコンテンツが古いままだと、ユーザーに対して古いコンテンツを配信し続けることになってしまうためです。

ユーザーに対して古いコンテンツを配信してしまう例
CDNがキャッシュを保持し続ける時間を適切に設定しないと、オリジンサーバーの更新が反映されない時間が長く続いてしまう

J-Stream CDNextは、コンテンツのキャッシュを保持し続ける時間を任意に設定することが出来るので、更新頻度の高いコンテンツは短く、更新頻度が低いコンテンツは長く設定しておくことが推奨されます。更新頻度が高ければ、CDNが古いキャッシュコンテンツを配信し続けないよう短く、更新頻度が低ければ、なるべくオリジンサーバーの稼働を減らすために長く、という理由です。

アクセスする端末に応じて出し分けるコンテンツ

同じURLであっても、PCからアクセスした時とスマートフォンからアクセスした時で見栄えが変わるような作りになっているWEBサイトがあります。これはアクセスする端末の画面サイズに合わせてWEBサイトを最適化させるためのものですが、このためにサーバー側で、どのような端末からアクセスしてきたかという情報を元に、配信するコンテンツを選んで応答するという処理が行われている場合があります。CDNを利用する時、この処理をCDNが行うこともあります。

J-Stream CDNextは、原則としてURL単位でコンテンツを識別しています。同じURLで出し分けを行う場合、User-Agentと呼ばれる端末情報を元に、配信するコンテンツを出し分ける設定を行います。対象のWEBサイトに出し分けがある場合はチェックしておきましょう。

■ アクセスする端末によって表示が変わるWEBサイトの例

JストリームのWEBサイトはUser-Agentではなくブラウザの横幅によってWEBサイトの構成が組み換わる作りになっているため、サーバーによる出し分け処理は不要です。出し分け処理の要否はWEBサイトの管理者にも確認してみましょう。

3. 料金の計算と見積の取得

CDNを利用する対象のコンテンツやWEBサイトが決まったら料金の計算を行いましょう。
CDNの料金はCDNサービスの事業者によって異なりますが、概ね「CDNから何GB分のコンテンツを配信したか」が課金根拠となります。これ以外にもCDNへのリクエスト数、HTTPS通信を行った時のトラフィック、配信するドメインの数などが課金対象となる場合もあります。
見積にも従量課金のものや、決められた配信量までなら固定料金のものなどパターンがありますので、CDNサービスを選定する際に選定ポイントとして事前に確認しておくことをお勧めします。J-Stream CDNextでは「CDNから何GBのコンテンツを配信したか」のみを課金根拠としています。具体的な料金の計算は営業担当へ問い合わせましょう。

4. 設定情報とキャッシュルールの確認

具体的なCDNサービスの操作の準備に入って行きます。前述のようにCDNを利用する際には配信するコンテンツの性質についてよく確認を行い、CDNを利用しても差し支えないようにサービス側に設定を施す必要があります。Jストリームではこの設定作業をご導入企業様に代わって実施するサポートサービスを提供しています。その際には企業様との間で設定の認識に齟齬が出ないよう、ヒアリングシートを用いて設定項目を確認し合います。

■ 利用するヒアリングシートの例
CDN導入の際のヒアリングシートの例
Jストリームにて対応を行った作業内容の証明としても利用

CDNに設定すべき確認項目としては、前述の項目の他、主に次のような点が挙げられます。

  • オリジンサーバーのIPアドレス、もしくはFQDN
  • 配信プロトコル(http/https)
  • CDN導入WEBサイトのドメイン(FQDN)
  • 利用するSSL証明書
  • CDNが同じキャッシュを保持する時間
  • クエリストリングやCookieによってキャッシュを分ける必要があるか
  • IPアドレスやリファラなどによってアクセス制限を行う必要があるか
  • アクセスログの出力が必要か

これらは基本的な設定項目で、CDNサービスによっては更に細かく設定を行うことが可能です。J-Stream CDNextの場合、「HTTPステータスコード500番系のエラーが発生してしまった場合に、エラーの旨をユーザーに通知するためのsorryページを設定するかどうか」「オリジンサーバー側でキャッシュルールを制御するためのHTTPレスポンスヘッダの指定内容を優先するか無視するか」「キャッシュの保持時間が切れた時にオリジンサーバーがダウンしていたらどうするか」など他にも詳細なキャッシュと配信のルールを設定することが出来ます。
サービスを理解して使いこなすことが難しいという企業様に対しては、弊社エンジニアを交えた会話によって適切なルールを決めていきます。

5. トライアル利用の開始と設定反映

CDNに設定すべき項目が決まったらいよいよサービス用アカウントの発行です。多くのサービスで数週間から1カ月程度の無料トライアル期間が設けられているので、その期間を利用して管理画面の操作を把握したり、本番利用開始前にできる設定作業の実施を進めたりします。

J-Stream CDNextでは1カ月間の無料トライアル期間を用意しています。本番導入を検討する場合はまずトライアル状態でサービス用アカウントを発行し、1カ月の間に設定作業や検証、契約手続きを済ませることになります。

多くのCDNサービスはブラウザで操作するWEB管理画面を用意しています。設定すべき項目は前の工程で定まっているので、管理画面へのアクセスが完了したら設定の入力作業を進めましょう。Jストリームではこの作業までを代行することが出来ます。

■ J-Stream CDNextの管理画面
J-Stream CDNextの管理画面
ブラウザで操作するので特別なアプリケーションは不要

6. Hostsファイルを利用した動作検証

管理画面での設定が完了したら本番利用が開始できる状態となりますが、万一のトラブルを防ぐため、先に動作検証をしておきましょう。
冒頭で、CDNの利用のためには対象のWEBサイトのドメインについてDNSのCNAMEレコードの編集が必要と述べました。これを実施した場合、対象のWEBサイトにアクセスするすべてのユーザーがCDNから配信されたコンテンツを受け取ることになります。その前に、検証を行うテスト端末でだけCDNを利用した配信を行うことで、動作に問題が無いか確認を行いましょう。

まずDNSとは、大雑把に表現すればIPアドレスとドメインを関連付けるための仕組みです。ユーザーはあるURLにアクセスしようとすると、そのURLのドメインはどのIPアドレスのサーバーと紐づいているか、DNSで照会が行われます。IPアドレスが判明すると、目的のサーバーに対してアクセスが出来るという仕組みです。
このIPアドレスとドメインの関連付けを、特定の端末でローカルに行うHosts(ホスツ)というファイルがあります。HostsファイルにCDNのIPアドレスを設定することで、DNSを利用せずにCDNを用いた配信のテストをテスト用端末のみで行うことが出来ます。

■ DNSを用いたアクセスのイメージ
DNSを用いたアクセスのイメージ図
DNSにIPアドレスとドメインの関係が記載されていれば、どのユーザーでも目的のサーバーへたどり着ける
■ Hostsファイルを用いたアクセスのイメージ
Hostsファイルを用いたアクセスのイメージ図
Hostsに記載することで、DNSに登録が無くても、その端末でのみ有効なIPアドレスとドメインの関係を定義できる

Hostsファイルはテキストファイルです。Windowsでは通常「C:\Windows\System32\drivers\etc」の場所にあります。「hosts」という名称のファイルをテキストエディタ等で開き、CDNの動作検証を行うWebサイトのドメイン(FQDN)と、CDNサービス側のIPアドレスを記載します。例えば「192.168.1.1 www.example.com」といった具合です。これを保存することによって、この端末では「www.example.com」にアクセスすると「192.168.1.1」に接続されるようになります。この状態でWEBサイトの動作に問題が無いか確認を行いましょう。

■ Hostsファイルの記載例
Hostsファイルの記載例

ブラウザで対象のWEBサイトへアクセスをしたら、ブラウザの開発者ツール等を用いてCDNに接続された配信であるか確認します。J-Stream CDNextの場合、ユーザーからのコンテンツ閲覧のリクエストに対して、サーバーからレスポンスされる情報として「via:JSTCDN」というレスポンスヘッダ情報が返されます。これがJ-Stream CDNextから配信されているという証になります。

Hostsファイルでの動作確認が完了したら、記述した内容の削除を行いましょう。

7. DNSのTTL値の確認

動作検証が済んだらDNSの設定を済ませて、CDNの本番利用を開始します。その前に、DNSのTTL(Time To Live)値の変更を検討しましょう。
DNSにおけるTTLとは、その設定値を保持して良い時間の事を指します。前述の通り、DNSとは大雑把にはIPアドレスとドメインを紐づけるものですが、その紐づいた関係をどれだけの時間保持して良いのかを設定するものがTTLです。TTLの時間が過ぎたら、改めて紐づきの関係が更新されていないか確認が行われます。

現状のDNSの設定において、IPアドレスとドメインを紐づける設定項目のTTLが例えば1時間と指定されていた場合、CDNを利用するための設定を登録しても、最大1時間の間はその設定が反映されないことになります。CDNの本番導入時、なるべく早く配信に問題の無いことを確認するために、事前にTTLの値を短く設定しておくことを推奨します。TTLが長いために、DNSの設定を変更しても反映されるまで時間がかかってしまうことを指して、DNSの浸透待ち、などと言うことがありますが、適切な表現ではないのであまり積極的には用いられません。

8. DNSレコードの設定

いよいよCDNの利用を開始するためにDNSの設定を行います。この設定は、冒頭で確認したドメインの管理者によって行われることが多いでしょう。

DNSではIPアドレスとドメインの紐づけだけでなく、ドメインに関わるいくつかの設定を行うことが可能です。設定はテキスト情報ですが、設定行を指してレコードと呼びます。レコードにも種類があり、IPアドレスとドメインの紐づけを行うレコードはAレコードと呼びます。

CDNの利用のために設定するレコードはCNAMEレコードです。CNAMEレコードはあるドメインの別名を定義するレコードです。ユーザーがアクセスする「www.example.com」と、CDNサービス側で発行される、CDNに接続するためのドメインをCNAMEレコードで紐づけます。J-Stream CDNextの場合、サービスの管理画面から「(32桁の文字列).cdnext.stream.ne.jp」というCDN側のドメインが払い出されます。

【設定例】
www.example.com. 600 IN CNAME (32桁の文字列).cdnext.stream.ne.jp.

このように二つのドメインを紐づけることで、www.example.comにアクセスしたユーザーはCDNに誘導されるので、この作業によってCDNの利用が開始できるということになります。この例の600はTTLを表しています。両ドメインの最後に「.」が付いていますが、これはこの箇所まででこのドメインが省略などのない完全な形であることを示すものです。利用しているDNSサービスの仕様によって要否が異なるので注意しましょう。

9. 本番配信の開始

CNAMEレコードの設定によってCDNの本番利用が開始されます。J-Stream CDNextの場合、対象のコンテンツに対してアクセスを行うことをトリガーにして、CDNがオリジンサーバーへコンテンツのキャッシュを行います。無事CDNを利用できているか確認するために、Hostsによる確認時と同じように「via:JSTCDN」ヘッダーをチェックしましょう。

10. 本番導入開始後の運用

CDNの導入が完了したら、基本的にはその後の運用作業はほとんど発生しません。キャッシュ効率を上げるために必要に応じてチューニングを行うこともありますが、CDNを利用しているということを意識しないくらい、特別問題が発生していなければ静観して良いでしょう。SSL証明書は有効期間がありますので、必要に応じて更新作業を行います。

J-Stream CDNextの場合は、WEB管理画面からアクセスログが取得出来たり、リアルタイムの統計情報が閲覧出来たりしますので、どれくらいのアクセスが集まっているか、またそのアクセス負荷をCDNがさばいているか確認してみましょう。また配信量を管理画面からチェックして、月々の支払額の確認を行ってみても良いでしょう。

■ J-Stream CDNextの管理画面から閲覧できるアクセス統計情報
J-Stream CDNextの管理画面から閲覧できるアクセス統計情報例

以上、J-Stream CDNextの場合を例に、CDNサービスの導入から運用開始後までの使い方について解説しました。
CDNは特殊な技術ではなく広く利用されているものですが、初めて利用を検討する人にとっては難解なポイントも多いでしょう。Jストリームでは専任のエンジニアにより、初心者の方にも安心の導入支援を行っております。まずは営業担当者からのサービス紹介も承りますので、お気軽にお問合せ下さい。

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

サービス詳細

関連する記事一覧

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

電話でのお問い合わせ

0120-658140

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

登録無料!

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

メールマガジン登録

電話でのお問い合わせ

0120-658140

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