CDN 操作マニュアル

本マニュアルでは、 Cloudn CDNのご利用方法に関してご説明いたします。
右のサイドバーより検索がご利用いただけます
Flashオンデマンドストリーミング機能につきまして、2016年7月31日に新規申込停止、2017年5月31日に提供終了させていただきます

1. はじめに

1.1. サービスの概要

CDN(Contents Delivery Network)とは、世界各地域に配置したキャッシュサーバーを通じウェブコンテンツを迅速かつ軽快に配信するサービスのことです。

Cloudn CDN をご利用いただきますと、”オリジンサーバー” [1] に配置したコンテンツを次の地域にあるキャッシュサーバーを経由して配信することが可能です。

参照者はオリジンサーバーがどこにあるかに関わらず、最寄りのキャッシュサーバーからコンテンツにアクセスできます。
このため、全世界からの参照者に向けて物理的な距離に依存することのない迅速かつ軽快なコンテンツアクセスを提供できます。
合わせて参照者からのアクセスが各キャッシュサーバーに分散できるため、オリジンサーバーの負荷も 軽減できます。
|brandname| CDN 機能概要

CDN機能概要

脚注

[1]オリジンサーバーとはHTTPもしくはFlash(オンデマンドストリーミング)用のコンテンツを格納するサーバーのことです。 本サーバーに保存したコンテンツがキャッシュサーバーを通じて配信されます。 なお、本サービスにおけるオリジンサーバーには、Cloudn サービス上の仮想サーバーまたはCloudn PaaSのアプリケーションが指定できます。

1.2. 事前に準備いただくもの

Cloudn CDNをご利用頂くにあたっては、以下のものをご用意ください。

Cloudn Compute上に作成された仮想サーバーもしくはPaaS上のアプリケーション

Cloudn CDNサービスにおいて、配信されるコンテンツを保持するサーバー (以下、オリジンサーバーと呼称) として、 Compute上に作成された仮想サーバーもしくはPaaS上のアプリケーションをご用意ください。
仮想サーバーの作成方法については、「Compute操作マニュアル」をご参照ください。
PaaS上のアプリケーションの作成方法については、「Cloudn PaaS操作マニュアル」をご参照ください。

コンテンツ配信用URL用のドメインサービス

上記オリジンサーバー上のコンテンツを配信する公開URLのためのドメインサービスに事前にご加入ください。
本サービスのご使用にあたっては、ここで取得されたドメイン名に対し、設定時に指定されるCNAMEを別途登録する必要があります。

インターネットに接続するための機器

パソコンやモデム等、イントラネット/インターネットに接続する為に必要な機器をご用意ください。

インターネットに接続するためのサービス

インターネットへ接続するためのサービスをご用意ください。
例:OCNダイヤルアクセスサービス、OCN ADSL接続サービス、スーパーOCN等の常時接続サービスなど

※他社のインターネット接続サービスでもご利用いただけます。
※プロキシサーバーを利用されている場合は、「https(ポート番号443)」が開放されていることをご確認下さい。

コントロールパネルを閲覧するためのソフト(ブラウザソフト)

Firefox18.0.1 以降が推奨となります。 それ以外のブラウザは、一部、正常に表示されない場合がありますのでご注意ください。

「【クラウド・エヌ】ご利用内容のご案内」メール

開通時に送付される「 【クラウド・エヌ】ご利用内容のご案内 」を用意してください。

サービス利用登録後にメール送付される、下記ご利用案内(タイトル「 【クラウド・エヌ】ご利用内容のご案内 」)を参照しながら、本ご利用ガイドに従ってセットアップを実施してください。

ご利用内容のご案内メール

ご利用内容のご案内:メール本文

必要情報の一覧
Cloudn ポータルURL https://portal.cloudn-service.com/comgi/login
Cloudn ポータルログインID メールに記載のある文字(お申し込み時に設定したログインID、上記例ではTest0001)
Cloudn ポータルパスワード お申し込み時に設定されたパスワード

1.3. サービスの用語・提供機能一覧・技術仕様

Cloudn CDNの用語、提供機能一覧、および技術仕様について説明します。

Cloudn CDNで用いられる用語

オリジンサーバ
お客様がCDNをご利用される元となるコンテンツの収容されたサーバーです。
Cloudn の場合、Computeの仮想サーバー上に構築されたWebサーバーや、PaaSサービスのアプリケーションとなります。
キャッシュサーバ
CDNにより提供される、コンテンツ配信用のサーバーです。
オリジンサーバーより取得されたコンテンツをキャッシュすることで、エンドユーザへより速く安定したコンテンツ配信を提供します。
CDN DNS
エンドユーザがアクセスする際に問合せ先となるDNSです。
CDNのキャッシュサーバーのIPアドレスを返し、適切なキャッシュサーバーへエンドユーザーを誘導します。
コンテンツアクセス

キャッシュサーバーにコンテンツが存在しない、もしくは コンテンツの有効期限が切れている場合に、キャッシュサーバーよりオリジンサーバーに コンテンツを取得しにいくことを指します。

CDNの仕組み

CDN概要

技術仕様・制限

POPロケーション
  • アジア/オセアニア

    • 香港
    • シンガポール
    • シドニー
    • メルボルン
    • 東京
    • 大阪
    • バダム
    • ジャカルタ
    • 台湾
  • 北米

    • アッシュバーン
    • アトランタ
    • シカゴ
    • ダラス
    • ロサンゼルス
    • マイアミ
    • ニューヨーク
    • サンノゼ
    • シアトル
  • 南米

    • サンパウロ
  • ヨーロッパ

    • アムステルダム
    • パリ
    • ロンドン
    • フランクフルト
    • マドリード
    • ウィーン
    • ストックホルム
    • コペンハーゲン
    • ヘルシンキ
    • ミラノ
    • ワルシャワ
POPロケーション

POPロケーション

キャッシュ
キャッシュ方式

リバースプロキシキャッシュ方式を利用します

  • エンドユーザからのリクエストにより、キャッシュサーバはオリジンサーバにコンテンツ取得のアクセスを実施

  • キャッシュの有効期限内の動作

    • エンドユーザからリクエストをキャッシュサーバから配信
  • キャッシュの有効期限後

    • エンドユーザからのリクエストはキャッシュサーバからオリジンサーバにコンテンツの更新確認を実施
キャッシュ方式

キャッシュ方式

キャッシュの有効期限設定
  • オリジンサーバからのHTTPヘッダ情報をもとに設定されます

  • HTTPヘッダによりキャッシュしないことを明示していない場合は、全てのコンテンツをキャッシュします

    • コンテンツの更新頻度などをもとに、適切な有効期限をオリジンサーバに設定してください。
    • キャッシュすべきでない コンテンツ(動的コンテンツなど)は、キャッシュさせないことを明示的に指定してください。
キャッシュコンテンツの識別
Stale Content

オリジンサーバのダウン時、キャッシュされているコンテンツに限り有効期限が切れてから数分間配信されます。

コンテンツアップロード

リバースプロキシの動作に加え、ポータルサイトからキャッシュ対象のURLを登録・設定することで、全POPのキャッシュサーバにコンテンツをアップロードできます。 オリジンサーバ側で認証をかけているコンテンツの場合、利用できないことがございます。 キャッシュ済みコンテンツをアップロードする場合は、キャッシュの削除を事前に行ってください。

キャッシュの削除

キャッシュサーバがキャッシュしているコンテンツの削除は、コンソールより実施できます

HTTPリクエストヘッダ
  • HTTP Method

    • POSTリクエストは、キャッシュしません
  • Host Header

    • 契約FQDNのみ受付可能です
    • 契約FQDN以外のリクエストはアクセス拒否します
HTTPレスポンスヘッダ
Cache-Control
  • 設定可能項目

    • max-age : オブジェクトが新鮮である期間 (相対時間) を表します (秒)
    • no-cache: オブジェクトがキャッシュされてはならないことを示します
    • must-revalidate: 必ず有効なコンテンツを利用することを示します (Staleコンテンツを返却しない)
  • キャッシュサーバにコンテンツをキャッシュさせる有効期限をmax-ageで設定してください

  • キャッシュさせない場合はno-cacheで設定してください

Last-Modifiedヘッダ

オリジンサーバで、オブジェクトが最後に更新された時間を表します。

  • Last-Modifiedヘッダが設定されていない場合

    • キャッシュコンテンツの更新確認のリクエストが、IF-Modified-Sinceリクエストではなく新規リクエストと同様のアクセスとなります
  • 複数のオリジンサーバがある場合、同じコンテンツのLast-Modifiedヘッダの値は同じになるようにしてください

  • 上記2点のどちらか(あるいは両方)が当てはまる場合、キャッシュ効率が悪くなります

Varyヘッダ
  • Varyヘッダ付きコンテンツもキャッシュします

  • キャッシュさせたくない場合は、Cache-Controlでno-cacheを設定してください

    • 『Varyヘッダ』とは、リクエストのUser AgentやAccept-Languageにより返却するコンテンツが異なる場合にオリジンサーバが送信するヘッダです
Etag

オリジンサーバ側で複数のサーバをロードバランサで負荷分散させている場合、同一時刻に更新した同じオブジェクトであってもサーバごとにETagヘッダが異なるとキャッシュシステムはオブジェクトが更新されたものと認識してしまいます。ETagヘッダを削除することでキャッシュ効率が上がります。

名前解決の仕様/オリジンサーバへのアクセス
名前解決の仕様
  • 導入対象ホスト

    • 導入対象ホストに「www」相当のホスト名が必要となります

    • 導入対象ホストに対してDNSのCNAMEレコード設定を行う必要があります

      • 他のレコード設定がされている場合はご利用できません
オリジンサーバへのアクセス
  • 送信元IPアドレスについて

    • CDN導入時にはオリジンサーバに対するアクセスはCDNのキャッシュサーバのIPアドレスとなります
    • エンドユーザのアクセスが同じキャッシュサーバからオリジンサーバへアクセスされない場合もあります
  • Keep-Aliveについて

    • Keep-AliveはOFFもしくは、Onにされる場合は、KeepAliveTimeoutを1秒にしてください。
  • Hostヘッダについて

    • キャッシュサーバからオリジンサーバへリクエストする際、HTTPヘッダ内のHost情報は、契約FQDNとなります
アクセスログ
  • ログフォーマットは、一般的なwebサーバで使われている以下のものに対応しています

    • combined: NCSA combined log format (Extended Common)
  • アクセスログはFTPサーバまたはポータルから取得することが可能です

  • アクセスログのタイムゾーンは、GMTです

  • アクセスログファイルの中のログは、時刻でソートされません

    • 変更することは出来ません
  • アクセスログの保存期間は10日間です

  • アクセスログの生成・収集に時間が掛かる場合があります

  • アクセスログの命名規則は以下の通りです

wpc_XXXX_YYYYMMDD_YYYY.log.gz
  • キャッシュの種類 (wpc)
  • 弊社指定ID4桁
  • ログの日付 (YYYYMMDD)
  • ランダムな4桁の数字
ロードバランサの設定
お客様サーバ側でロードバランサをご利用でかつ、セッション維持を送信元IPアドレスを元に実施されている場合、CDNを導入すると動作に不具合がでる可能性があります。
セッション維持をされる場合は、Cookieなどをご利用ください。
HTTPアクセスに関する制限

SSL (HTTPS)はご利用いただけません。

2. CDNサービスを管理する

CDNサービスは月定額の料金と追加料金で支払額が決定するサービスです。
そのため、サービスの申し込み、および解約がお客様ご自身にて必要となります。

以下、サービスの申し込み、および解約の方法について説明します。

2.1. CDNサービスに申し込む

CDNサービスに申し込みます。

手順

Cloudn ポータルにログインし、CDNのアイコンへのマウスオーバーにて表示される、 「利用開始する」ボタンをクリックします。

利用の開始

利用の開始

お申し込みに関する確認画面が表示されますので、内容についてご同意頂いた上、 「同意する」のチェックボックスをチェックし、「次へ」ボタンをクリックします。

サービス申し込み

サービス申し込み(同意)

CDNサービスへのお申込みの確認画面が表示されますので、「申込み」ボタンをクリックします。

サービス申し込み

サービス申し込み

処理中のプログレスバーが表示された後、お申込み完了画面が表示され、お申込み完了となります。

申し込み完了

申し込み完了

警告

お申込みが完了した時点で、月額基本料金が発生いたしますので、ご留意ください。

2.2. CDNサービスを解約する

CDNサービスを解約します。

手順

Cloudn ポータルにログインし、ご利用いただいているリージョンの「CDN」のアイコンへのマウスオーバーにて表示される、 「解約」ボタンをクリックします。

|brandname| ポータルの画面

Cloudn ポータルの画面

解約に関する確認画面が表示されますので内容についてご同意頂いた上、 「同意する」のチェックボックスをチェックし、「次へ」ボタンをクリックします。

サービス解約条件への同意

サービス解約条件への同意

再度、ご解約に関する確認画面が表示されますので、「解約する」ボタンをクリックします。

解約の確認

解約の確認

解約完了画面がポップアップし、解約処理完了となります。

解約の完了

解約の完了

参考

料金については、こちらを御覧ください

3. CDN コンソールを利用する

Cloudn CDNコンソールについて説明します

3.1. CDNコンソールを起動する

Cloudn CDNを管理するコンソールを起動します。

手順

Cloudn ポータルにログインし、「CDN」のアイコンへのマウスオーバーにて表示される、 「コンソールへ」をクリックします。

|brandname| ポータルの画面

Cloudn ポータルの画面

新しいウィンドウでCDNコンソールが起動します。

|brandname| DNS 機能概要

Cloudn DNSコンソール画面

CDNコンソールの機能について説明します。

:header-rows: 1 :widths: 15 10 30
タブ名 機能
コンテンツ管理
この配下には以下の機能があります。

[配信管理]
- 新たにキャッシュサーバーを利用して配信するHTMLコンテンツのオリジンサーバー名と公開URLを指定できます。

[キャッシュ削除]
- キャッシュサーバーから配信中のキャッシュを削除できます。
コンテンツ管理 (Flash)
この配下には以下の機能があります。

[配信管理(Flash)]
- 新たにキャッシュサーバーを利用して配信するFlashコンテンツのオリジンサーバー名と公開 URL を指定できます

[キャッシュ削除(Flash)]
- キャッシュサーバーから,配信中のキャッシュを削除できます
レポート
この配下には以下の機能があります。

[データ転送量]
- 各月のデータ転送量を棒グラフの形式で参照できます
- また,転送量のデータをCSV形式でダウンロードできます

[キャッシュヒット率]
- 各月のキャッシュヒット率を折れ線グラフの形式参照できます
- キャッシュヒット率のデータをCSV 形式でダウンロードできます

[ログ]
- ログを FTP 経由で取得するためのアクセス情報の確認とログインパスワードの登録/変更ができます

3.2. CDNコントロールパネルを終了する

CDNコントロールパネルを閉じます。

手順

CDNコントロールパネル右側上部の「閉じる」をクリックします。

|brandname| Object Storageの起動

Cloudn ポータルの画面

確認画面がポップアップしますので、「OK」ボタンをクリックしますと、CDNコントロールパネルのウィンドウが閉じられます。

CDNコントロールパネル右側上部の「閉じる」をクリックします。

|brandname| Object Storageの起動

Cloudn ポータルの画面

4. コンテンツを管理する

4.1. コンテンツを登録する

新規にコンテンツを登録します。
設定前に、CDNを導入するFQDNから配信する全てのコンテンツに対し、以下の選定を実施することをおすすめします。
  • キャッシュ対象とするコンテンツ
    • 例: 静的なコンテンツ
      • JPEGなどのイメージファイル、JavaScriptファイル、スタイルシートなど
    • 動的なコンテンツでもエンドユーザよらず同じコンテンツになるもの
      • 検索結果のコンテンツなど
  • キャッシュ対象としないコンテンツ
    • 例: 動的なコンテンツで、エンドユーザ毎に異なるコンテンツになるもの
      • “○○さんようこそ!” とユーザごとに異なるレスポンスを生成し返すページなど
    • Set-Cookieを払い出しているコンテンツなど
      • キャッシュ対象としないコンテンツもCDNを経由したトラフィックは課金対象となります
登録方法はHTMLコンテンツ、Flashコンテンツともに共通となります。

手順

CDN コントロールパネルから「コンテンツ管理」 タブ、もしくは「コンテンツ管理(Flash)」タブをクリックの上、「配信管理」 のリンクをクリックします。
(以下では「コンテンツ管理」タブにおける操作例についてご説明します。)
配信管理

配信管理

「オリジンサーバーホスト名」、および「公開URL」に以下の内容を入力の上、「登録」ボタンをクリックします。

  • オリジンサーバーホスト名

    • Compute上に構築した仮想サーバーに設定されたホスト名、もしくは付与されたグローバルIPアドレスを、CDNのキャッシュサーバー機能を利用するオリジンサーバーとして指定します
  • 公開 URL

    • キャッシュサーバー機能による配信コンテンツにアクセスするための公開URLを指定します
配信用URLの登録

配信用URLの登録

注釈

本公開URLのドメイン名は、サービス加入に先だって事前に任意ドメインサービスにて取得頂いたものになります。 また公開URLとしては、プロトコル名(スキーム名)を省いた形にてご登録ください。

(例: “http://www1.example.com” であれば “www1.example.com” として登録)

注釈

PaaS v2をご利用の場合(2014年6月19日以降からご利用の場合)、オリジンサーバーホスト名に下記をご指定ください。

userapp.paas.jp-e1.cloudn-service.com

またgud map-routeコマンドにより、PaaSのアプリケーションに対して、公開URLに指定したURLをマッピングする必要があります。

PaaS v1をご利用の場合は、オリジンサーバーホスト名に下記をご指定ください。

userapp.cloudnpaas.com

またudn mapコマンドにより、PaaSのアプリケーションに対して、公開URLに指定したURLをマッピングする必要があります。 udn mapの利用方法は、PaaS操作マニュアル「5-1)独自ドメインを利用する」をご参照ください。

注釈

Object Storageに格納しているコンテンツをCDN経由で配信されたい場合は、 オリジンサーバーホスト名に「配信対象バケット名.str.cloudn-service.com」をご指定下さい。

配信用URLの登録に関する確認画面がポップアップしますので、入力内容について確認の上、「登録」ボタンをクリックします。

配信用URLの登録

配信用URLの登録

登録完了画面がポップアップしますので「閉じる」ボタンをクリックします。

登録の確認

登録の確認

登録された配信URLが下記のように表示されますので、ご確認ください。
また、「CNAME」に、システムから払い出された、CNAMEが表示されます。
登録の完了

登録の完了

配信設定完了までには、このCNAMEを、公開URL用ドメイン名に対し登録する必要があります。
詳しくは、 DNSサーバーを設定する (CNAMEを登録する) をご参照下さい。

注釈

ご登録頂いたオリジンサーバ上のコンテンツが、キャッシュサーバー経由で配信されるまで、 1 時間弱を要します。 (キャッシュ反映後の接続確認をされたい場合は、 キャッシュサーバーへの接続を確認する をご参照下さい。)

注釈

「コンテンツ管理(Flash)」よりFlashの配信管理をする場合、公開URLのプロトコル部は

rtmp://www1.example.com

のように “rmpt://” を付与した形で登録されます。

4.2. コンテンツを削除する

登録済の配信URLを削除します。
削除方法はHTMLコンテンツ、Flashコンテンツともに共通となります。

手順

CDN コントロールパネルから「コンテンツ管理」もしくは「コンテンツ管理(Flash)」タブをクリックの上、 「配信管理」 のリンクをクリックします。

(以下では「コンテンツ管理」タブにおける操作例についてご説明します。)

配信管理の選択

配信管理の選択

削除する配信用URLを、登録済みの配信用URL一覧から選択の上、当該行の「削除」ボタンをクリックします。

配信用URLの削除

配信用URLの削除

配信用URLの削除に関する確認画面がポップアップしますので、内容について確認の上、「削除」ボタンをクリックします。

配信用URLの削除

配信用URLの削除

削除完了画面がポップアップし、削除処理完了となります。

配信用URLの削除の完了

配信用URLの削除の完了

注釈

削除頂いた内容が反映されるまでに、1時間弱を要します。

4.3. キャッシュを作成する

キャッシュコンテンツを指定してアップロードすることができます。
作成方法はHTMLコンテンツ、Flashコンテンツともに共通となります。

手順

CDN コントロールパネルから「コンテンツ管理」 タブもしくは「コンテンツ管理(Flash)」タブをクリックの上、「キャッシュ作成」 のリンクをクリックします。
キャッシュ作成

キャッシュ作成

作成したいキャッシュコンテンツを「公開URL」により指定の上、特定コンテンツへのパスを「コンテンツパス」にて入力します。
入力後、「作成」ボタンをクリックします。
キャッシュコンテンツの作成

キャッシュコンテンツの作成

警告

  ・同一名ファイルのアップデートは、一度キャッシュ削除を行ってから実施してください。
  ・1つずつアップロードしてください。(ワイルドカードはご利用できません)

キャッシュコンテンツ作成に関する確認画面がポップアップしますので、対象について確認の上、 「作成」ボタンをクリックします。

キャッシュコンテンツ作成の確認

キャッシュコンテンツ作成の確認

作成完了画面がポップアップし、作成処理完了となります。

注釈

  ・アップロード時間はコンテンツの大きさ次第です。

4.4. キャッシュを削除する

キャッシュサーバーより配信中のキャッシュコンテンツを削除します。
削除方法はHTMLコンテンツ、Flashコンテンツともに共通となります。

手順

CDN コントロールパネルから「コンテンツ管理」 タブもしくは「コンテンツ管理(Flash)」タブをクリックの上、「キャッシュ削除」 のリンクをクリックします。

キャッシュ管理

キャッシュ管理

削除したいキャッシュコンテンツを「公開URL」により指定の上、「削除」ボタンをクリックします。

必要に応じ、さらに特定コンテンツへのパスを「コンテンツパス」にて入力することで、指定コンテンツのみ削除することも可能です。
  • 公開 URL

    • キャッシュサーバーを利用した配信を停止するURLをドロップダウンメニューから選択します。
キャッシュコンテンツの削除

キャッシュコンテンツの削除

キャッシュコンテンツ削除に関する確認画面がポップアップしますので、対象について確認の上、 「削除」ボタンをクリックします。

キャッシュコンテンツ削除の確認

キャッシュコンテンツ削除の確認

削除完了画面がポップアップし、削除処理完了となります。

注釈

実際のキャッシュコンテンツの削除までには、削除処理完了後、 5 分程度を要します。

5. 統計情報の確認・設定

5.1. データ転送量を表示する

各月のデータ転送量を棒グラフの形式で参照します。
また, 転送量のデータをCSV 形式でダウンロードすることも可能です。
(HTTPとFlashの合計転送料が表示されます。)

手順

CDN コントロールパネルから,「レポート」 タブをクリックの上、「データ転送量」 のリンクをクリックします。

データ転送量レポートの選択

データ転送量レポートの選択

過去3か月分の転送量について、閲覧したい月を指定の上、1日ごとのデータ転送量を棒グラフ表示します。
また、「CSV出力」ボタンをクリックすることで、指定月分のデータ転送量をCSV形式でダウンロードすることが可能です。
グラフの表示

グラフの表示

注釈

データ取得のタイムラグにより、閲覧当日付近の数値が、閲覧のタイミングにより前後する場合がございます。 また、データの反映には時間差が生じるため、閲覧当日分のデータに関して、リアルタイムな値が表示されることはありません。

5.2. キャッシュヒット率を表示する

各月のキャッシュヒット率を,折れ線グラフの形式で参照します。
また, キャッシュヒット率のデータをCSV 形式でダウンロードすることも可能です。
(HTTPのキャッシュヒット率のみ表示されます。)

手順

CDN コントロールパネルから「レポート」 タブをクリックの上、「キャッシュヒット率」 のリンクをクリックします。

キャッシュヒット率の表示

キャッシュヒット率の表示

過去3か月分のキャッシュヒット率について、閲覧したい月を指定の上、折れ線グラフ表示します。
また、「CSV出力」ボタンをクリックすることで、指定月分のキャッシュヒット率をCSV形式でダウンロードすることが可能です。
グラフの表示

グラフの表示

注釈

データ取得のタイムラグにより、閲覧当日付近の数値が、閲覧のタイミングにより前後する場合がございます。

5.3. ログサーバーのログイン情報を設定する

ログをFTP 経由で取得するための、アクセス情報の確認とログインパスワードの登録/変更ができます。

手順

CDN コントロールパネルから、「レポート」 タブをクリックの上、「ログ」 のリンクをクリックします。

ログサーバーの管理

ログサーバーの管理

配信ログをダウンロードするためのFTPサーバーへのアクセス情報が表示されます。

  • FTPサーバーURL
  • ユーザー名/パスワード

パスワードを変更したい場合には新パスワードを入力の上、「実行」ボタンをクリックします。

ログサーバーパスワードの変更

ログサーバーパスワードの変更

6. [付録] チュートリアル

6.1. DNSサーバーを設定する (CNAMEを登録する)

キャッシュサーバー経由にてオリジンサーバー上のコンテンツ配信が行われるためには、 ご利用になられる公開URLの名前解決が本CDNサービスのDNSで行われる必要があります。

その設定方法について説明します。

手順

その方法は以下の通りです。

例:
登録済み公開URLを www.example.com
本公開URLに対し、システムから払い出されたCNAMEを
wpc.XXXX.edgecastcdn.net (Flashコンテンツの場合は、fms.xxxx.edgecastcdn.net)
とします。
(詳細は、 コンテンツを登録する をご参照ください。)


公開URL用のドメインが登録されているDNSサーバーのゾーンファイルに、CNAMEを以下のように追記ください。
(ハイライトされた一行)
このとき末尾の ”.”を忘れずに付与ください。
1
2
3
 $ORIGIN example.com.
 www.example.com.    IN  CNAME   wpc.XXXX.edgecastcdn.net.
 origin.example.com. IN  A       xx.xx.xx.100

注釈

本設定時には、公開URLおよびCNAMEの末尾に”.”を忘れずに記載ください。 (”.”がないと、設定不備となります。)

6.2. 配信元のWebサーバー(オリジンサーバー)を設定する

オリジンサーバーのコンテンツをキャッシュさせるためには、Webサーバー上に設定が必要となります。

注釈

  • CDNの基本動作

    • 基本的に全てのコンテンツをキャッシュします
    • キャッシュすべきでないコンテンツは、Cache-Control: no-cacheを設定してください
  • キャッシュの有効期限

    • オリジンサーバのHTTPヘッダによりキャッシュさせる・させない、キャッシュの有効期限を設定することができます

    • キャッシュ期間の設定に使用する主なHTTPヘッダ

      • Cache-Control:

        • max-age : オブジェクトが新鮮である期間 (相対時間) を表します (秒)
        • no-cache: オブジェクトがキャッシュされてはならないことを示します
        • must-revalidate: 必ず有効なコンテンツを利用することを示します (Staleコンテンツを返却しない)
      • Last-Modified: オリジンサーバで、オブジェクトが最後に更新された時間を表します

その方法について、Windows, Linuxそれぞれ例をあげて説明します。

Apacheの設定方法【Linuxの場合】

httpd.confを変更します。
(CentOSをお使いの場合、httpd.confは次のパスにあります。 /etc/httpd/conf/httpd.conf

以下設定例を示します。

注) 下記の説明でディレクトリを指定した場合、サブディレクトリも対象になります。

例1: 特定のディレクトリを有効期限を指定しキャッシュ

/var/www/html ディレクトリ配下のコンテンツを有効期限600秒でキャッシュ

<Directory "/var/www/html">
    Header set Cache-Control "max-age=600"
</Directory>
例2: 特定のディレクトリのコンテンツをキャッシュしない

/var/www/html ディレクトリ配下のコンテンツをキャッシュしない

<Directory "/var/www/html">
    Header set Cache-Control "no-cache"
</Directory>
例3: ディレクトリによりキャッシュ設定を変更する
  • /var/www/html ディレクトリ配下のコンテンツを有効期限600秒でキャッシュする
  • ただし、 /var/www/html/test 配下は有効期限300秒
<Directory "/var/www/html">
    Header set Cache-Control "max-age=600"
</Directory>
<Directory "/var/www/html/test">
    Header set Cache-Control "max-age=300"
</Directory>
例4: 特定ディレクトリの特定形式ファイルのみキャッシュ
  • /var/www/html配下のpngフォーマット画像ファイルを有効期限3600秒でキャッシュ
<Directory "/var/www/html">
    <FilesMatch "\.png">
        Header set Cache-control "public, max-age=3600"
    </FilesMatch>
</Directory>
例5: コンテンツごとに有効期限を変更する
  • /var/www/html 配下のコンテンツを有効期限300秒でキャッシュ
  • ただし、一般的な画像ファイルは有効期限3600秒
<Directory "/var/www/html">
    Header set Cache-Control "max-age=300"
    <FilesMatch "\.(gif|jpe?g|png)">
        Header set Cache-control "public, max-age=3600"
    </FilesMatch>
</Directory>

IISの設定方法【Windowsの場合】

  1. タスク バーで 「スタート」→「管理ツール」 → 「インターネット インフォメーション サービス (IIS) マネージャー」 をクリック
  2. 「接続」 ウィンドウで、キャッシュ設定を行うサイト、アプリケーション、またはディレクトリに移動
  3. 「ホーム」 ウィンドウで 「HTTP 応答ヘッダー」 をダブルクリック
  4. 「HTTP 応答ヘッダー」ページで、「操作」→「共通ヘッダーの設定」 をクリック
  5. 「共通 HTTP 応答ヘッダーの設定」ダイアログ ボックスで、「期限切れのWeb コンテンツ」のチェックボックスをオンにします
  6. キャッシュ有効期限の期間を指定する場合「失効までの期間」に値を入力
  7. キャッシュ有効期限の日時を指定する場合「有効期限(世界協定時刻 (UTC))」に値を入力 [1]

脚注

[1]UTCのため日本時間に換算してください。日本時間20:00の場合、UTCでは11:00です。 日本時間11日03:00の場合、UTCでは 10日18:00です。 「共通 HTTP 応答ヘッダーの設定」ダイアログ ボックスの「OK」をクリックします。

注釈

ETagを削除することでキャッシュ効率を上げることが可能です

  • Apache設定例

    • FileETag none

注釈

オリジンサーバは、CDNご利用FQDNのHTTPリクエスト: Hostヘッダ情報を受け付けられるように設定してください。

また、キャッシュ可否および期間の決定は時間を使った計算によって行われるため、 各オリジンサーバおよびキャッシュシステムとの時間が大きくずれないよう、 全オリジンサーバにてNTP等を利用して正確な時刻に設定してください。

6.3. キャッシュサーバーへの接続を確認する

配信元のWebサーバー(オリジンサーバー)を設定する を実施したのち、 キャッシュサーバーに対し設定反映がされたタイミング(登録処理後、1時間弱程度経過後)で、 実際にキャッシュサーバー経由にてオリジンサーバー上のコンテンツが取得できるかどうかの疎通確認を行います。

wgetを利用する方法【Linuxの場合】

登録した公開URLに対し、wgetによりコンテンツ取得を試みた際、その応答が、オリジンサーバー以外(=キャッシュサーバー)からのものであることを確認します。
具体的にはHeaderに “X-Cache: HIT” の項目があることを確認します。
例:
日本国内のLinuxサーバーから公開URL www.example.com に対し、以下のコマンドにてwgetを実施

$ wget -SO /dev/null http://www.hostname.com

結果は以下の通りです。
(ハイライトされた13行目 “X-Cache: HIT” があればキャッシュサーバー経由の取得を意味します)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
$ wget -SO /dev/null http://www.example.com
--2012-04-27 15:29:37--  http://www.example.com
Resolving www.example.com... xx.xx.xx.100
Connecting to www.example.com|xx.xx.xx.100|:80... connected.
HTTP request sent, awaiting response...
  HTTP/1.0 200 OK
  Accept-Ranges: bytes
  Cache-Control: max-age=600
  Content-Type: text/html; charset=UTF-8
  Date: Fri, 27 Apr 2012 06:29:37 GMT
  Last-Modified: Wed, 09 Mar 2011 13:26:04 GMT
  Server: ECAcc (nrt/E953)
  X-Cache: HIT
  Content-Length: 90
  Connection: keep-alive
Length: 90 [text/html]
Saving to: `/dev/null'

100%[===========================================================>] 90          --.-K/s   in 0s

2012-04-27 15:29:37 (8.58 MB/s) - `/dev/null' saved [90/90]

Firefoxのアドオンを利用する【Windowsの場合】

FirefoxにHTTP Header情報を表示するアドオンをインストールした上で、登録した公開URLに対しコンテンツ取得を試みた際、その応答がオリジンサーバー以外(=キャッシュサーバー)からのものであることを確認します。
具体的にはHeaderに “X-Cache: HIT” の項目があることを確認します。
以下、例として”Live HTTP Headers” というアドオンを利用しますが、同等の機能を持つ他のアドオンでも可能です。
手順

以下のURLにアクセスし、「インストール」ボタンをクリックし、アドオン「Live HTTP headers」をインストールする。

https://addons.mozilla.jp/firefox/details/3829

"Live HTTP headers"のインストール

“Live HTTP headers”のインストール

インストール後、Firefoxの上部メニューから、「ツール」->「Live HTTP headers」を選択すると、Live HTTP headersのウィンドウがポップアップします。

Live HTTP headersの利用

Live HTTP headersの利用

ウィンドウがポップアップされた状態で、登録した公開URLにアクセスすると、ウィンドウ上にヘッダ情報が表示されます。
具体的にはHeaderに “X-Cache: HIT” の項目があることを確認します。
キャッシュの確認

キャッシュの確認

6.4. 配信ログのフォーマット

FTPサーバー経由で取得可能なキャッシュサーバーからの配信ログのフォーマットについて説明いたします。
(フィールド名は、各ログファイルの先頭行に記述のある各項目名です。)
|brandname| DNS 機能概要

Cloudn ポータルの画面

注釈

 c-user-agent(クライアントユーザエージェント)の制約事項は以下の通りです。
  ・最大文字数(バイト数): 48KB
  ・利用可能な文字 : 英数字(a-zおよびA-Zの英字と0-9までの数字)、ダッシュ、コロン、セミコロン、アポストロフィ、カンマ、ピリオド、
   下線、等号、丸括弧、角括弧(”[”,”]”)、およびスペース

6.5. JW Playerのサンプルコード

Flashオンデマンドストリーミングサービスにおいて、キャッシュされたFlashコンテンツの公開URLをもとに、当該コンテンツを閲覧するためのJW Playerを作成する方法についてご説明します。

注釈

JW Playerの詳細につきましてはLongTail Video社提供の情報をご参照下さい。

手順

例として、以下の条件のサンプルコードを示します。

  • 公開URLとして“rtmp://www.example.com/”を指定された場合

    • “rtmp://www.example.com/contents/flash.flv” のFlashファイルをストリーミング配信する

<必要ファイル名>

  • jwplayer.js
  • player.swf

このとき、 JW Playerのサンプルコードは以下となります。

<head>
<script type=‘tesxt/javascript’ src=‘jwplayer.js”></script>
</head>
<body>
<div id=“container”>Loading the player…</div>
<script type=“text/javascript”>
   jwplayer(“container).setup({
      flashplayer: “player.swf”,
      height: 270,
      width: 480,
      file: “flash.flv”,
      provider: “rtmp”,
      streamer: “rtmp://www.example.com/contents”,
      ‘rtmp.subscribe’ : ’true’
});
</script>