- 印刷する
- PDF
CDN+ ご利用ガイド
- 印刷する
- PDF
Classic/VPC環境で利用できます。
CDN+サービスの紹介
NAVERクラウドプラットフォーム CDN+サービスの概念と基本構造を説明します。
NAVERクラウドプラットフォーム CDN+
CDN+プラットフォームは、既存の国内 CDNサービスにより安定的に様々な機能を提供するよう改善された CDNプラットフォームです。CDNは、インターネットユーザーに様々なコンテンツを迅速かつ安全に伝えるサービスです。ウェブベースのコンソールで簡単に CDNサービスを申し込み、構成された CDNを通じて大容量トラフィックをサポートできます。大量のイメージや大容量コンテンツのダウンロードが必要なサービスに活用し、使用量が急増した場合でも円滑にコンテンツを転送します。
CDN+の主な機能紹介
- 大容量コンテンツの転送
イメージ、ゲームインストールファイル、メディア動画など、様々な大容量コンテンツに対するウェブキャッシュ、ダウンロードサービスを提供します。コンテンツ使用量が急増しても、安定的にコンテンツを転送し、サービス継続性を維持できます。
- 様々なソースサーバのサポート
CDN+を通じてコンテンツを転送するには、ソースサーバにアクセスしてコンテンツをキャッシュして転送します。
CDN+は HTTP/ HTTPSプロトコルを通じて様々なソースサーバとのコンテンツ連携をサポートします。ソースサーバで顧客が保有している様々なウェブサーバと NAVERクラウドプラットフォームの Object Storage、Serverを設定でき、接続のためのポートを自由に指定できます。
- 強力なコンテンツ転送セキュリティ
HTTPSでウェブサービスを提供する場合、コンテンツが HTTPで呼び出されると、多くのウェブブラウザがセキュリティ警告メッセージを表示します。CDN+では HTTPSプロトコルでコンテンツ転送が可能です。HTTPも使用可能であり、2つを混用したり HTTPSのみ活用するために HTTP制限も可能です。
HTTPSプロトコルを選択する場合、ソースサーバとも HTTPSで通信し、全体的なコンテンツ転送のパスでセキュリティが強化されます。
リファラとして登録されたドメインベースのアクセス許可機能を提供し、Secure-Tokenベースのセキュリティ URLでコンテンツへのアクセスを制限できます。
- NAVERクラウドプラットフォームの他のサービスと連携可能
NAVERクラウドプラットフォームの他のサービスとの便利な連携設定機能を提供します。コンテンツソースとして Object Storage、Serverを使用して簡単に連携でき、Live Stationを使用すると、Liveコンテンツ転送が CDNと自動的に連携して生中継サービスに活用できます。
CDN+関連用語まとめ
用語 | 説明 |
---|---|
サービスドメイン | サービスでコンテンツを転送する際にユーザーに表示されるドメインを意味する。 CDN+の構成後にこのドメインをサービス内にリンクすることで、CDNでコンテンツをキャッシュして転送。 |
キャッシング(Caching) | ユーザーのリクエストにより求められるコンテンツを素早く提供するためにキャッシュサーバに保存。 |
ソースサーバ | キャッシュされるコンテンツをインポートするための、ソースコンテンツ保存サーバ。 |
Cache Expiry | CDNでキャッシュされたコンテンツがソースサーバで変更されたかどうかを確認する周期。 |
HIT | アクセス者がリクエストしたコンテンツが有効な形式で CDNキャッシュサーバにあり、アクセス者のリクエストに対してすぐレスポンスする場合を、「Cache Hit」という。 |
MISS | リクエストしたコンテンツが CDNキャッシュサーバにないため、ソースサーバからコンテンツを転送された後、サーバに保存する場合を、「MISS」という。過去にリクエストされた履歴のない場合や有効期限切れの場合、リクエストされたがレスポンスしたことがない場合やキャッシュしないように設定した場合にのみ発生。 |
BYPASS | ソースサーバのレスポンスヘッダに Set-Cookieヘッダがあったり、Cache-Controlヘッダに private、no-cache、max-age=0などの内容がある場合、CDNサーバでキャッシュせずアクセス者に伝えることを意味する。 |
Ignore Query String | CDNサービスがソースサーバにリクエストする場合、「?id=1234」のように URLに含まれている GETパラメータを削除してからリクエスト。 |
Referrer Domain | コンテンツが指定されたドメインにのみ提供するようにし、他サイトで参照されることを防止。ドメインは www.domain.comまたは*.domain.com形式をサポートし、英数字、「*」、「-」、「.」のみ使用可能。 |
Secure Token | QueryStringベースの Secure Tokenを活用し、許可されたアクセスにのみコンテンツを伝える。 |
CDN+を申し込む
CDN+の申し込み
コンソールにアクセスして Services > Content Delivery > CDN+ メニューに移動します。
[CDNの申し込み] ボタンをクリックします。
サービス設定
サービス名、サービスプロトコル、サービスドメインを設定します。
設定する前に各項目の[?]ボタンをクリックしてヘルプをご参照ください。
① 申し込む CDN+サービス名を入力します。
② サービスプロトコルを選択します。ALLは HTTPと HTTPSプロトコルをサポートします。
- 参考 HTTPSまたは HTTP/HTTPSプロトコルの選択時の案内事項
③ サービスドメインを選択します。
- CDNドメインを使用する場合、基本的に[ランダム ID].cdn.ntruss.com形式で自動設定されます。
- 「CDNドメイン > 直接入力」 を選択すると、[入力文字列].cdn.ntruss.com形式のドメインに設定されます。
- 顧客保有ドメインを使用する場合、所有しているドメインを直接入力します。
- 顧客保有ドメインは最大10個までサポートします。
④ 顧客保有ドメインを使用してサービスプロトコルで HTTPSまたは HTTP/HTTPSを選択し、証明書を登録します。証明書は、既存の登録済み証明書を活用するか、新規証明書を登録します。新しい SSL証明書の登録は Certificate Managerに機能が移行されました。
- Let's Encryptで発行した証明書を使用する場合は、Certificate Managerで Full Chainパスを入力して使用します。
⑤ Access Logの保存有無を選択します。
CDN+にリクエストされた Logをユーザーの Object Storageに保存できます。Logを保存するには、各ストレージごとに保存場所を作成します。Object Storageで Bucketを作成します。
1時間おきにリクエストされた Logデータを圧縮フォーマット(gz)で保存します。Logを保存すると、毎時50分以降に以前時刻の Logを確認できます。使用量の多い CDNの場合、ログ収集に時間がかかり、2時間以降にログが転送されることがあります。
保存される Logの形式は次の通りであり、各項目は空白で区分します。データがない場合は「-」と表示します。
例) 2018-02-08 22:08:06 183.111.24.145 GET /cdn/test.png - 8080 - 218.55.184.71+183.111.24.145 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+10_12_6)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/63.0.3239.132+Safari/537.36 200 57287 0 http://logformat.example.com/ - - TCP_HIT gzip+deflate 155999646 57018 0 c -
項目 | 説明 |
---|---|
date | 日付 |
time | リクエスト完了時間 |
server-ip | アクセスしたサーバ IPアドレス |
cs-method | Clientがリクエストした http method |
cs-uri-stem | Clientがリクエストした URI |
cs-uri-query | Clientリクエスト時の query string |
server-port | サーバアクセスポート |
cs-username | 未使用値(-) |
c-ip | Client IP(Forward IPは+で区分) |
cs(User-Agent) | Clientの user-agent |
sc-status | レスポンスコード(2xx、3xx、4xxなど) |
sc-bytes | サーバから Clientにレスポンスした全容量(bytes) |
time-taken | レスポンスにかかった時間 |
cs-referer | リクエスト時の referer |
sc-resinfo | CDNレスポンス関連付加情報(gzip、deflate、Bypassなどの情報、「+」文字で区分) |
cs-range | rangeリクエストの場合、range byte値 |
sc-cachehit | Cache Hit/Miss情報(TCP_HIT、TCP_MISSなど) |
cs-acceptencoding | リクエスト時の accept-encoding値 |
session-id | サーバ内の session id値 |
sc-content-length | レスポンス時の Content-Lengthヘッダの値 |
time-response | First Byteレスポンス時間 |
x-transaction-status | コンテンツ容量の転送完了の有無(x-コンテンツ容量より転送容量が少ない場合、c-コンテンツ容量をすべて転送完了した場合) |
x-vhostlink | 未使用値(-) |
⑥ 説明を入力します。
- CDN+関連説明を入力できます。必須入力項目ではないので、入力しなくても構いません。
ソース設定
ソースの位置、ソースに転送する Hostヘッダ、cache key Hostname、Gzip圧縮サポートの有無を設定します。
① CDN+サービスを利用するソースの位置を指定します。
NAVERクラウドプラットフォームの Object Storageを利用する場合、Bucketを事前に作成しないと利用できません。ソースで Object Storageを活用する場合、CDN+<->Object Storage間で発生するネットワーク転送料金は無課金処理されます。
サービスプロトコルに関係なく、ソースプロトコルを入力できます。サービスプロトコルによってデフォルトのプロトコルが選択されますが、変更できます。各ポート番号は HTTP 80、HTTPSは443 が基本設定です。
注意 ソースとして「ソースパス(選択)」オプションを活用する場合、サービスパスが次のように指定されますので、ご参照ください。
例) ソースパス(選択)オプションを活用する場合: ソースサーバに/example/パスを vhost rootパスに設定した場合 * ソースパス: http://origin.naver.com/example/logo.gif * CDN+サービスパス: http://example.cdn.ntruss.com/logo.gif (入力したソースパスは除きます)
直接入力する場合は、ソースサーバの IPアドレスまたはドメイン名を入力し、IPアドレスよりもドメインに設定することをお勧めします。
ソースサーバが HTTPプロトコルの Default Port(80)の他にサービスする場合、ポート番号を指定します。
ソースで入力できない場合
プライベート IPアドレス入力不可: 127.0.0.1、10.x.x.x、172.1[6-9]|2[0-9]|3[0-1].x.x、192.168.x.x帯域は入力不可
ソースドメイン名の Aレコードがない場合: ドメインクエリにて Aレコード(IPアドレス情報)がない場合は入力不可
例) origin.example.comドメインクエリにて「NXDOMAIN」でレスポンスする場合、入力不可
② ソース位置から実際のサービスとして提供されるソースファイルが位置するディレクトリの場所を追加で指定します。
③ CDN+でソースサーバにリクエストする際に転送される Hostヘッダ情報を選択します。
- ソースサーバに Virtual Host設定時、Hostヘッダ情報を参照してレスポンスコンテンツを制御できます。Incoming Host Headerは、ユーザーのリクエスト時に転送される Host情報をソースリクエスト時にも使用します。主にウェブブラウザの場合は、サービスドメインが Hostヘッダになります。(例: ex.cdn.ntruss.com/img.jpgリクエスト時、ex.cdn.ntruss.comが Hostヘッダ)
- Origin Hostnameでソースサーバに Virtual Host設定が行われ、このドメインに対してのみ許可する場合は Origin Hostname設定を選択します。
- 基本設定値は、サービスドメインの「Incoming Host Header」値を活用します。
④ CDN+のコンテンツを Uniqueに識別する Cache Keyを選択します。
- 「Cache Key > Incoming Host Header」の使用を推奨: ソースから Virtual Hostによって異なるコンテンツをレスポンスする場合に活用
サービスドメインによって、コンテンツは個別の Cache Keyで区別されます。サービスドメインによって転送するコンテンツが異なる場合、Incoming Host Header値を選択します。
例)
http://sample.cdn.ntruss.com/logo.gifの cache keyは「sample.cdn.ntruss.com」、
http://example.cdn.ntruss.com/logo.gifの cache keyは「example.cdn.ntruss.com」で logo.gifとは別のコンテンツでキャッシュ
- 「Cache Key > Origin Hostname」の使用を推奨: ソースから Virtual Hostに関係なく URLに同じファイルをレスポンスする場合に活用。Cache Hit率を向上できるので推奨
サービスドメインは異なりますが、1つのソース Cache Keyになります。サービスのソースサーバと転送するコンテンツが同じである場合、「Origin Hostname」に設定することをお勧めします。
例)
http://sample.cdn.ntruss.com/logo.gifの cache keyは「origin.cdn.ntruss.com」、
http://example.cdn.ntruss.com/logo.gifの cache keyは「origin.cdn.ntruss.com」で logo.gifとは別のコンテンツでキャッシュ
- CDN+保有ドメインを選択したり、顧客ドメインとして単一ドメインを使用する場合、Cache Keyは「Incoming Host Header」のみ選択できます。
⑤ ソースの圧縮設定有無を選択します。
- 圧縮するとソースサーバのトラフィックを減らし、レスポンス速度が向上します。
- CDN+でソースに「Accept-Encodgin: gzip」をリクエストし、圧縮されたコンテンツのレスポンスを受けることができます。ソースでレスポンス時に Gzip圧縮をサポートする場合は、「使用」を選択します。
⑥ ソースリクエスト時、Headerを追加/変更または削除してリクエストできます。
- Headerの名前として次の文字列は入力できません: (){}[]<>@,;:"/?
- Headerの値として次の文字列は入力できません: []\空白(space)
- Header値で最大入力できる長さは256byteです。
- 例) Action: Add、Header Name: NCP-Custom-Header、Header Value: ncp => NCP-Custom-Header: ncp
キャッシュ設定
CDN+のキャッシュ有効期限切れ時間と Cache関連オプションを設定します。
① CDN+の基本キャッシュポリシーを選択します。
- 基本的にキャッシュサーバに保存する期間は、ソースサーバの「Cache-Control: max-age=..」や「Expires」ヘッダ値と同じポリシーに従うようにします。
- ソースから Cacheを調整するヘッダをレスポンスしない場合、キャッシュサーバにどれくらい保存するかは「Cache Expiry」の設定値が適用されます。
- Cacheを選択すると、キャッシュサーバでは「Cache Expiry」で設定した値が最大キャッシュ期間として適用されます。
- No-store/Bypass Cache設定は CDN+サーバでキャッシュしないオプションであり、すべてのリクエストがソースを通じてサービスされるので推奨しません。
② CDN+でソースと通信が難しい場合の動作方式を選択します。
- ソースサーバと通信できない場合、キャッシュサーバに保存されているコンテンツをユーザーに提供できます。最新の有効なコンテンツではないことがありますが、ソースサーバの障害時にもサービスが可能です。
- ソースサーバの障害時に無効なコンテンツが転送されることがサービスに影響を与える場合、常にソースサーバのコンテンツと比較して最新の有効なコンテンツを提供するように選択します。
③ Cache expiryを設定します。
- CDN+キャッシュサーバでキャッシュされたコンテンツがソースサーバから変更されたかどうかを確認する周期を指定します。ただし、ソースサーバのレスポンスヘッダに Cache-Control: max-ageが存在すると、その設定を優先します。コンテンツを頻繁にアップデートする場合、短く指定して設定します。ただし、短く指定するとソースの負荷が増えるので注意して使用します。
④ サービスリクエスト時に Query Stringを使用する場合に対する Cacheポリシーを選択します。
- ソースサーバにリクエストする場合、ユーザーリクエストの Query Stringを含めるかどうかを選択できます。ソースサーバで Query Stringに応じて他のコンテンツをレスポンスする場合、「使用しない」を選択します。
- ソースサーバで Query Stringに関係なく同じコンテンツにレスポンスする場合、「使用」を選択してキャッシング効率を高め、ソースリクエストと負荷を減らすことができます。
⑤ ソースからの Varyヘッダレスポンスに対する Cacheポリシーを選択します。
- もし、ソースサーバで「Vary」ヘッダをレスポンスしてもコンテンツが同じである場合、キャッシング効率のために削除することをお勧めします。ソースから Varyヘッダをレスポンスしても同じコンテンツとして認識するため、キャッシュから除外できます。
- コンテンツには様々なバージョンがあり、User-Agent、Referer、Cookieなどの Varyリクエストヘッダによってレスポンスコンテンツが異なる場合、「使用」を選択します。
⑥ 大容量ファイルをサービスする場合、キャッシング効率のために最適化転送オプションを選択します。
- 大容量ファイルを転送する場合は10MBのチャンクでキャッシュし、ユーザーがダウンロードを完了せずに一定容量以上が残っている場合は、これ以上ソースとしてリクエストせず、ソースの負荷を軽減します。適用するには、ソースから Rangeレスポンス設定が必要です。オプションを活用する際にコンテンツ名を変更せずにアップデートする場合、コンテンツ整合性のために必ず Purgeを実行します。
- 容量は100MB~16GBまでのコンテンツに適用できます。
Viewer転送設定
CDN+でユーザーにコンテンツ転送時の制御オプションを設定します。
① CDN+でユーザーにコンテンツを転送時、圧縮設定有無を選択します。
ユーザーの User-Agent(ブラウザまたは Device)が Gzip/Unzipをサポートする場合、コンテンツを圧縮してユーザーに転送します。ネットワーク品質の低いユーザーに圧縮転送すると、レスポンス速度が向上します。
HTML、JavaScriptまたは Textベースの10KB以上のコンテンツに適用することが効果的です。ソースサーバでコンテンツ拡張子またはリクエストヘッダに応じて圧縮/非圧縮レスポンスを柔軟に適用するには、「ソースの圧縮設定と同様に適用」を選択します。
画像(jpg、pngなど)や動画(mp4、flvなど)、または既に圧縮が適用されているコンテンツは、追加圧縮を適用しないことをお勧めします。圧縮済みフォーマットのコンテンツのみをサービスする場合は、使用しないを選択します。
圧縮転送を使用する場合、対象コンテンツは以下の Mime Typeに適用されます。
Text/html*, text/css*, application/x-javascript*, application/javascript*
② ユーザーリクエスト時にリファラに応じてアクセス制御を設定します。
- 指定されたドメインのリファラが含まれていたり、リファラがないリクエストへのアクセス制御を設定できます。ドメインベースの設定であるため、特殊文字は「*」、「-」、「_」を許可し、ワイルドカード(*)使用時にサブドメインも含めてアクセス制御設定されます。
- 基本的に、リファラがない場合もコンテンツを許可します。登録したリファラに限って許可するには、「許可しない」を選択します。
③ Secure Tokenを活用して、許可したリクエストにのみコンテンツをレスポンスする場合に選択します。
- Secure Tokenはワンタイムの Access Tokenを作成し、コンテンツリクエスト時に認証に成功したリクエストにのみコンテンツをレスポンスします。
- Secure Tokenは URL内の Query Stringと Headerの Cookieヘッダでサポートします。
- 「認証例外対象拡張子」に設定された拡張子は、認証 Tokenなしにコンテンツの呼び出し/レスポンスができます。
- 「ソースに Tokenを転送する拡張子」に設定した拡張子は、CDNキャッシュサーバを通じてソースサーバリクエスト時に token値を転送します。Live Stationのメディア関連サービスを活用する際に使用します。
- Cookie認証使用時の注意事項
- ウェブの CORSポリシーにより、顧客保有ドメインは活用できません。CDNが提供するドメイン*.cdn.ntruss.comを使用します。
- Tokenの有効時間と Cookie自体の有効時間を一致させます。
Secure Tokenを作成する SDKを Programming言語別に提供します。使用するプログラミング言語に応じて選択し、Secure Tokenを作成できます。
- Python: https://github.com/akamai/EdgeAuth-Token-Python
- Java: https://github.com/akamai/EdgeAuth-Token-Java
- Ruby: https://github.com/akamai/EdgeAuth-Token-Ruby
- NodeJS: https://github.com/akamai/EdgeAuth-Token-Node
- Golang : https://github.com/mobilerider/EdgeAuth-Token-Golang
- C# : https://github.com/BookBeat/EdgeAuth-Token-CSharp
Token有効時間の開始時間(st)、終了時間(exp)、ACL(URLパス条件)を活用して認証 Tokenを作成し、作成した Tokenを Query String、Cookieヘッダで転送する設定例です。
- Token名: 「token」値で作成する必要があります。
- Start(st)/End times(exp): 認証 Tokenが有効な開始/終了時間です。
- Key: Security Token設定時に発行される key値で作成する必要があります。
- ACL(Access Control List): tokenでワンタイムアクセス許可対象の URIです。*文字を通じて特定の Path単位で設定できます。
Java言語を使用した認証 Tokenの作成方法
- Java SDKを活用して Tokenを作成するコードを作成します。 (Sample Code)
package com.akamai.edgeauth; public class ExampleEdgeAuth { public static void main(String[] args) { String hostname = "example.cdn.ntruss.com"; //サービスドメイン名 String ET_ENCRYPTION_KEY = "b2b1"; //tokenを作成するための key String tokenName = "token"; // token名は「token」に固定 long duration = 3600L; // 3600 seconds = 1 hour try { EdgeAuth ea = new EdgeAuthBuilder() .key(ET_ENCRYPTION_KEY) .startTime(EdgeAuth.NOW) .windowSeconds(duration) .tokenName(tokenName) .escapeEarly(false) .build(); String acl = "/sample.pdf*"; //*/ String file_url = "/sample.pdf"; String token = ea.generateACLToken(acl); String url = String.format("http://%s%s?%s=%s", hostname, file_url, tokenName, token); System.out.println(url); } catch (EdgeAuthException e) { e.printStackTrace(); } } }
- Javaを実行して作成された Request URLの作成のユースケースです。
http://example.cdn.ntruss.com/sample.pdf?token=st=1592202370~exp=1592205970~acl=/sample.pdf*~hmac=d422a548ae769bbaddc1d27f03fe6e096a4ba492928f3eb9c09824f93d78f507
- 作成した Tokenを Cookieヘッダに含むリクエストのユースケースです。
- URL : http://example.cdn.ntruss.com/sample.pdf -リクエスト時に含む Header情報 Cookie: token=st=1628596072~exp=1628682472~acl=/sample.pdf*~hmac=8094467ff875e72e8fccc2e579a0cfd002f680cda7acd10b820c193f671952d8
Python言語を使用した認証 Tokenの作成方法
- Gitで提供したファイルで Tokenを作成します。 (Sample Code)
$ python cms_edgeauth.py -k b2b1 -n token -s now -w 3600 -a /sample.pdf* 例のように入力語を入力 =>次のような結果を出力 token=st=1592204787~exp=1592208387~acl=/sample.pdf*~hmac=79872098f16596c8c40ebab649ae2aac8cce3e3bece204b641c99b6cfac42779
- 作成した Tokenを含む最終 Request URL作成のユースケースです。
http://example.cdn.ntruss.com/sample.pdf?token=st=1592204787~exp=1592208387~acl=/sample.pdf*~hmac=79872098f16596c8c40ebab649ae2aac8cce3e3bece204b641c99b6cfac42779
- 作成した Tokenを Cookieヘッダに含むリクエストのユースケースです。
- URL : http://example.cdn.ntruss.com/sample.pdf -リクエスト時に含む Header情報 Cookie: token=st=1628596072~exp=1628682472~acl=/sample.pdf*~hmac=8094467ff875e72e8fccc2e579a0cfd002f680cda7acd10b820c193f671952d8
C#言語を使用した認証 Tokenの作成方法
- Gitで提供したファイルで Tokenを作成するコードを作成します。 (Sample Code)
using BookBeat.Akamai.EdgeAuthToken; namespace MyNameSpace { public class MyTokenGenerator { public string GenerateMyToken(long window, string acl, string key) { var tokenConfig = new AkamaiTokenConfig { Window = window, // Time to live (in seconds) Acl = /sample.pdf*, // Access control list containing token permissions Key = b2b1, // Encryption key StartTime = DateTimeOffset.Now.ToUnixTimeSeconds() // Time to Start Timing(From Now) }; var tokenGenerator = new AkamaiTokenGenerator(); var token = tokenGenerator.GenerateToken(tokenConfig); return token; } } }
- 作成した Tokenを含む最終 Request URL作成のユースケースです。
http://example.cdn.ntruss.com/sample.pdf? token=st=1628596072~exp=1628682472~acl=/sample.pdf*~hmac=8094467ff875e72e8fccc2e579a0cfd002f680cda7acd10b820c193f671952d8
- 作成した Tokenを Cookieヘッダに含むリクエストのユースケースです。
- URL : http://example.cdn.ntruss.com/sample.pdf -リクエスト時に含む Header情報 Cookie: token=st=1628596072~exp=1628682472~acl=/sample.pdf*~hmac=8094467ff875e72e8fccc2e579a0cfd002f680cda7acd10b820c193f671952d8
st(startTime)値に関する注意事項: 顧客の Token作成サーバの時間が CDN+ Edgeサーバの時間より2~4秒ほど早い場合、Edgeサーバでトークンの開始時間(st値)が「too early」と認識され、認証に失敗する場合があります。このような場合を防止するために、Tokenを作成するメソッドを呼び出す際に start time値を現在の時間より10秒早めに設定し、end time値を10秒遅らせることをお勧めします。もっとも重要なのは、Tokenを作成するウェブサーバの時間を NTPで正確に同期することです。
④ ユーザーのレスポンス時に Headerを追加/変更または削除してレスポンスできます。
- Headerの名前として次の文字列は入力できません: (){}[]<>@,;:"/?
- Headerの値として次の文字列は入力できません: []\空白(space)
- Header値で最大入力できる長さは256byteです。
- 例) Action: Add、Header Name: Access-Control-Allow-Origin、Header Value: => 「Access-Control-Allow-Origin: 」の CORSヘッダを Edgeでレスポンスするように設定できます。
CDN+設定事項の確認と申し込み
CDN+設定事項の確認
入力した設定項目の情報を確認します。確認後、最終的に [CDNの申し込み] ボタンをクリックします。
- 入力した設定項目を変更したい場合、 [戻る] ボタンをクリックします。
- [CDNの申し込み] で CDN設定が開始され、構成が完了すると「申し込み中」から「運用中」にステータスが変更されます。
CDN+ご利用のためのドメイン登録
- NAVERクラウドプラットフォームで提供するドメインとして使用する場合は、該当しません。
- 顧客保有ドメインをサービスドメインとして申し込んだ場合、CDN+を申し込めば CDN+ドメインの確認ができます。
- サービスを利用するためには、必ず運用する DNSシステムまたはホスティング会社で NAVERクラウドプラットフォームドメインを CNAMEに設定します。
例)
顧客ドメイン: sample.example.com
NAVERクラウドプラットフォームドメイン: example.cdn.ntruss.com
sample.example.com 600 IN CNAME example.cdn.ntruss.com.
CDN+管理
設定変更
CDN+の申し込み時に設定した内容を変更できます。
① 設定を変更する CDN+サービスを選択します。
② [設定変更] ボタンをクリックします。
③ サービス名、CDNドメインを除いた残りの項目の設定変更が可能です。変更事項の入力/選択が完了したら、 [次へ] ボタンをクリックします。
- サービスドメインの変更不可によるドメイン変更方法
新規 CDNを作成した後、顧客サービス内の CDNドメインを新規作成したドメインに変更します。
既存の CDN転送量とリクエスト数の使用量統計を確認し、使用量がなければサービスドメインの移行が完了したので返却してください。
④ 既存の設定で変更された事項はハイライトで表示され、確認後に [設定変更] ボタンをクリックすると、CDNサービス設定が変更します。設定変更の反映には数分かかり、変更が完了すると「変更中」から「運用中」にステータスが変更されます。
Purge
Purgeは、キャッシュサーバに保存されているコンテンツを削除する機能です。
① すべてのファイル: ドメインに該当するすべてのファイルの Purgeを実行します。
② ディレクトリ: ドメイン内の特定のディレクトリパス(サブディレクトリを含む)に該当するファイルの Purgeを実行します。
③ ファイルを直接入力: 入力した特定のコンテンツのみ Purgeを実行します。ファイルは一度に100個のみ入力できます。
1つの CDN+サービスで複数のドメインを運用し、Cache Keyが Incoming Host Headerの場合、Purgeを適用するドメインを選択して行います。1つまたは複数のドメインのマルチセレクトが可能です。
「すべてのファイル」、「ディレクトリ」 Purge実行時にキャッシュが削除され、ソースへのリクエストが増加することがありますので、ご注意ください。
GUI以外の APIベースでも Purge機能を活用できます。
詳細ガイドは、CDN+ Purge API referenceをご参照ください。
Purgeログ
Purge実行した回数履歴を確認できます。
① Purge履歴を確認する CDN+サービスを選択します。
② [Purgeログ] ボタンをクリックします。
③ 最近5回の間に適用された履歴を確認できます。ただし、ファイル名が間違って入力された場合でも、Purgeは成功と表示されます。
CDNの一時停止
一時的に CDN+コンテンツ転送を中止できます。
① 一時停止する CDN+サービスを選択します。
② [一時停止] ボタンをクリックします。
CDN+サービスドメインが停止するので注意して使用します。
CDNの再開/解約
一時的にコンテンツ配信を中止していた CDN+サービスを再開または解約できます。
ステータスが 停止 ステータスの場合のみ実行可能です。
① 停止 ステータスで再開または解約する CDN+サービスを選択します。
② [再開] または [CDNの解約] ボタンをクリックします。
③ 再開が完了すると、リストでステータスが 停止 から 運用中 に変更されます。解約が完了するとリストから消えます。
証明書管理
CDN+で証明書登録/管理していた機能は、Certificate Managerに機能が移行されました。
Certificate Managerを使って簡単に証明書を管理できます。
モニタリング
モニタリングの選択
照会対象サービス名と期間を選択して、転送量、リクエスト数、Cache Hit率、レスポンスコードの統計グラフを確認できます。
CDNキャッシュサーバからのデータ収集/加工の統計遅延により、20分程度のデータ遅延があります。
モニタリングデータの照会期間の選択は最低2日から最大3か月まで可能であり、未来の日付は選択できません。
照会期間によるデータ分析周期は、次の通りです。
- 2日以内: 5分
- 2日超過~1週間以内: 30分
- 1週間超過~1か月以内: 2時間
- 1か月超過~3か月以内: 6時間
モニタリング項目
① トラフィック(Mbps): CDN経由で転送されたデータのネットワーク帯域幅
② 転送量(Bytes): CDNを通じて転送されたデータの転送量(サービス利用料金算定の基準)
③ リクエスト数(件): CDNで流入したサービスリクエスト数(サービス利用料金算定の目安)
④ リクエスト数対比 Cache Hit(%): CDNの要求数とソースに流入したリクエスト数の比率、Hit率が高いほどキャッシュサーバ内のキャッシュコンテンツの再利用が高く、ソースへのリクエストとソース負荷が減少します。
⑤ レスポンスコード(件): CDNでユーザーにレスポンスしたコード(2xx、3xx、4xx、5xx)別件数
⑥ ソースサーバトラフィック(Mbps): CDNで測定されたソースサーバから転送されたデータのネットワーク帯域幅
⑦ ソースレスポンス(件): CDNで測定されたソースサーバからレスポンスを受けたコード(2xx、3xx、4xx、5xx)別件数
統計
統計選択
照会対象サービス名と期間を選択して、転送量、リクエスト数統計グラフを確認できます。
統計データの照会期間の選択は最低2日から最大1年まで可能で、統計は1日単位のデータで確認できます。
データ照会日を選択する場合、現在が基準であり、未来の日付は選択できません。
比較期間を選択して確認でき、照会期間(2日、1週間、1か月など)は同一にします。
統計項目
① トラフィック(bps): CDNを通じて転送されたデータのネットワーク帯域幅
② 転送量(Bytes): CDNを通じて転送されたデータの転送量(サービス利用料金算定の基準)
③ リクエスト数(件): CDNで流入したサービスリクエスト数(サービス利用料金算定の目安)
関連情報に移動する
以下のご利用ガイドから関連情報を確認できます。