network)の導入を検討していると、現在Webサイトを公開するために利用しているサーバーはオリジンサーバーと呼ばれるようになります。CDNはオリジンサーバーをアクセス負荷から保護するために、元々の仕組み以外にも様々な機能を兼ね備えています。万一オリジンサーバーがダウンしてしまった場合CDNの基本について知りたい場合は、下記の記事をお読みください。CDNとの関係オリジンサーバーの「オリジン(Origin)」は「起源、発端」といった意味の言葉で、「オリジンサーバー」は配信したいコンテンツが実際に格納されているWebサーバーのことを指します。CDNはオリジンサーバーからコンテンツをキャッシュし、クライアント(コンテンツにアクセスする端末など)に対してオリジンサーバーに成り代わってコンテンツの配信を行います。CDNが持っているのはオリジナルのコンテンツではなくキャッシュコンテンツなので、それに対してオリジナルのコンテンツが存在するサーバーという意味でオリジンサーバーと呼ばれます。オリジンサーバーとはCDNとの関係性によって表される呼称であり、現在利用しているWebサーバーのことを大概の場合は指しています。CDNの利用を検討するからといって、「オリジンサーバー」というものを新たに用意する必要は必ずしもありません。CDN事業者によってはオリジンサーバーを提供している場合があります。CDNext」でもオプションとして提供を行っています。これは例えば配信するコンテンツをこれから制作する場合、キャンペーンページを始めとした一定期間で配信が終了するコンテンツを格納する場合などに利用例が顕著です。Jストリームが展開する動画配信サービスにおいて、1日~数日で終了するイベント配信のために、動画公開用Webページを格納するWebサーバーが必要となり、アクセス負荷対策の意味も兼ねてこれを提供する場合もあります。CDNはオリジンサーバーを保護して配信を最適化させるソリューション前述の通り、CDNはオリジンサーバーに成り代わってクライアントに対してコンテンツの配信を行います。クライアントからリクエストがあった場合は、オリジンサーバーに直接アクセスさせるのではなく、CDNを経由させるようDNSにて指定を行います。リクエストを受け取ったCDNは、オリジンサーバーからキャッシュしたコンテンツをレスポンスします。これにより、オリジンサーバーの稼働を抑えることが出来ます。CDNは配信すべきコンテンツをキャッシュするためにオリジンサーバーに対してコンテンツのリクエストを行いますが、一般のクライアントからのリクエストのボリュームに比べれば規模は小さいでしょう。オリジンサーバー側でコンテンツの更新を行わない限りは、一度キャッシュしたコンテンツをオリジンサーバーから再取得せずに配信し続けることができるので、オリジンサーバーにかかる負荷の差は歴然です。CDNは大容量コンテンツのインターネット上での安定配信、大量アクセス集中の負荷分散のためなどに用いるものです。大量配信に耐えうるように、サーバーや配信拠点を冗長化させたり、配信負荷を拠点ごとに割り振る仕組みを導入したりして設計されています。オリジンサーバーに対してクライアントに直接アクセスさせてしまうと、レスポンスの遅延が起こったり、サーバーがダウンして応答不能な状態に陥ったりしてしまう懸念がある場合の対策に効果的です。CDNは画像や音楽、映像の利用などによるデジタルコンテンツのリッチ化、また大手のポータルサイトや広告、テレビなど他メディアから短時間かつ集中的に流入するアクセス負荷への対策として近年普及が進んでいます。CDNext機能CDNは元々の利用目的として、オリジンサーバーを保護することによる配信の最適化を掲げるソリューションでした。CDNext」も前述のような課題を解消するために様々なWebサイトの配信を行っています。CDNext」は、その配信キャパシティ自体以外にもオリジンサーバーを保護するための機能を兼ね備えています。配信するWebサイトの仕様に合わせて設定を行うことにより、更に可用性を高めることが可能です。オリジンサーバーの冗長構成への対応CDNを利用する際、オリジンサーバーは一台のWebサーバーである必要はありません。冗長化のためにオリジンサーバーを複数台で運用しているWebサイトでも利用できます。CDNext」では、各オリジンサーバーのIPアドレスやFQDNをリスト化して登録することが可能です。その際の挙動としては、オリジンサーバーAとBに2:1の割合でアクセスを振り分けるなどの重みづけをしたラウンドロビン設定や、オリジンサーバーAのダウンを検知した場合にはBへ迂回させるといったアクティブ/スタンバイ構成での設定ができます。フェッチロックオリジンサーバーの稼働を抑え、CDNからコンテンツを配信するためには、CDNがオリジンサーバーからコンテンツをキャッシュ済みである必要があります。CDNext」はあえてプリフェッチ(予めオリジンサーバーからコンテンツをキャッシュしておくこと)の操作をしない限り、クライアントからのリクエストを受けて初めて、該当コンテンツをオリジンサーバーに対してリクエストして、オリジンサーバーからレスポンスされたコンテンツをキャッシュします。ある時刻に公開されて一斉にアクセスを集めるようなWebサイトをCDNから配信する場合、CDN側でキャッシュコンテンツを保持する前に大量のリクエストを受けてしまうことが考えられます。その時CDNは自力でコンテンツの配信ができる状態ではないので、クライアントからの大量のリクエストをオリジンサーバーまで到達させてしまいます。するとオリジンサーバーはCDNを利用している恩恵を受けられないことになります。そのような状態に陥ることを防ぐためにフェッチロック機能の利用が有効です。当機能を利用することで、最初のユーザーのリクエストはオリジンサーバーまで到達させておいて、二人目以降のユーザーからのリクエストを数秒間待機させておけるようになります。CDNext」はコンテンツをキャッシュし、二人目以降のユーザーにはキャッシュコンテンツを配信するという仕組みです。数秒程度の待機時間は発生してしまいますが、オリジンサーバーがアクセス負荷の影響を受けてしまうことと比較すれば有効な機能として検討できるでしょう。■CDNがキャッシュした後の応答RangeCache(レンジキャッシュ)RangeCache機能は一つのコンテンツを部分的にキャッシュすることが出来る機能です。ファイルサイズが大きなコンテンツに対して当機能を利用することで、例えば0~10MB部分のキャッシュと、11~20MB部分のキャッシュのように、ファイルを分割してキャッシュすることが出来るようになります。この機能を利用せずにファイルサイズが大きなコンテンツを配信する場合、大きなファイル全体をCDNがオリジンサーバーからキャッシュすることになるので、オリジンサーバーの配信負荷も比較的大きくなります。Varyキャッシュ正規化Varyはリクエストしてきたクライアントに対して、特定の条件によってレスポンスする内容が変わる場合があることを示すHTTPヘッダです。User-Agent」ヘッダを応答する時、User-Agentによって配信されるコンテンツが変わる場合があることを示します。PC用ページとスマートフォン用ページを用意しているWebサイトで用いられます。User-Agent」を応答された時、クライアントのUser-Agentごとにキャッシュコンテンツを分けて保持することができるので、サーバー側でレスポンシブデザインの制御をするWebサイトにおいても利用することが出来ます。User-Agentはクライアントによってたくさんの種類があるので、その種類ごとにキャッシュを保持することは配信効率の低下、更にオリジンサーバーへの負荷増加に繋がります。当機能ではUser-Agentを大まかにパターン化させ、そのパターンごとにキャッシュを持つことが出来るようになっています。することでCDNは例えば「iPhone」や「iPad」などの大まかなパターンの数だけキャッシュを保持すれば良いので、配信の効率化が期待できます。前述の通り、CDNは冗長化された配信サーバー(キャッシュサーバー)などによって構成されています。キャッシュサーバーの数が多ければ多いほどCDNとしての配信能力は高いことになります。キャッシュサーバーの数があまり多いと、各キャッシュサーバーからのリクエストによってオリジンサーバーへ負荷をかけてしまう恐れがあります。CDNext」はキャッシュサーバーをグループ構成にしており、各グループの代表のキャッシュサーバーのみがオリジンサーバーへリクエストを行うようになっています。オリジンサーバーからレスポンスされた内容をグループ内で共有することで、なるべくオリジンサーバーへ負荷をかけないような設計がなされています。十分な対策を施していても、予期せぬアクシデントでオリジンサーバーがダウンしてしまう場合があります。CDNを利用していれば、オリジンサーバーがダウンしてもコンテンツの配信を継続させたり、クライアントに対して注意メッセージを配信したりすることが可能です。Live)とは、CDNにおいては、CDNがキャッシュを保持し続けている期間のことを指します。CDNext」では5分間が初期値です。CDNext」はオリジンサーバーからコンテンツのキャッシュを受け取ると、5分間はそのキャッシュを配信し続けます。5分が経過すると、オリジンサーバーに対して、該当のコンテンツが更新されていないか、確認のリクエストを行います。更新されていた場合は新たに更新後のコンテンツをキャッシュし、されていない場合はこれまで保持していたキャッシュコンテンツを改めて5分間保持し続けるという動作をします。CDNext」がこれまで保持していたキャッシュコンテンツの配信を継続することが出来る機能を用意しています。この時配信するコンテンツはTTLが既に超過している古いキャッシュコンテンツで、オリジンサーバー側では該当コンテンツの更新がなされている可能性があります。それでも配信の継続を優先する場合、TTLを超過したキャッシュコンテンツの利用を許可することで、クライアントに対して通常通りコンテンツのレスポンスを行うことが出来るようになります。配信するコンテンツの性質や更新頻度などによって当機能の利用方法を検討することが望ましいでしょう。エラーページ、Sorryページ指定オリジンサーバーのエラーによりコンテンツの配信が出来ない状態になっている時、HTTPステータスコードのエラーコードを示す画面だけを表示させていると、クライアントへ不信感や不安感を抱かせてしまう場合もあるでしょう。配信の継続が出来なかったとしても、「現在込み合っているため少々お待ちください」といったような案内ページが配信出来ればその懸念も軽減されます。CDNext」では、そのような際に配信するSorryページを設定しておくことが出来ます。Sorryページを格納したオリジンサーバーを、普段のコンテンツ配信に利用するオリジンサーバーとは別に用意しておいて、必要な際に利用します。これはHTTPステータスコードごとに設定が可能です。HTTPステータス503エラーの時に配信するページと、504エラーの時に配信するページを分けることが出来ます。これにより更にクライアントに対して親切なWebサイト設計が可能になるでしょう。以上、オリジンサーバーとは?に加え、オリジンサーバーの稼働を保護するCDNの仕組みや機能について解説しました。している経験から、対象のWebサイトとCDNの利用目的に対して最適な提案を行います。お気軽にご相談ください。CDNextCDNext紹介CDNには特定のルールでアクセスを制御することができる設定項目が備わっている場合があります。CDNには特定のルールでアクセスを制御することができる設定項目が備わっている場合があります。CDNextCDNCDNext紹介CDNはオリジンサーバーの負荷を軽減させ、快適な配信環境を提供するサービスです。CDNはオリジンサーバーの負荷を軽減させ、快適な配信環境を提供するサービスです。配信によ...Jストリームのソリューションに興味をお持ちの方はお気軽にお問い合わせください。お問い合わせお役立ち資料ダウンロード一覧はこちら電話でのお問い合わせ【受付時間】9:30~18:30(土日祝日を除く)登録無料!Jストリームのサービスを活用した成功事例や、お客さまの課題解決につながるお役立ち情報などをメールでお届けしています。採用情報Jストリーム採用サイト関連サイト動画配信の今を伝えるエンジニア情報サイト「Voice」English保有個人データに関する事項Webサイトでの個人情報の取扱いについて採用における個人情報保護方針についてこのサイトについて。