--- title: "CDNの申し込み" slug: "globalcdn-create" tags: ["CDN", "Global CDN"] updated: 2026-09-17T09:31:49Z published: 2026-09-17T09:31:49Z canonical: "guide.ncloud-docs.com/globalcdn-create" stale: true --- > ## Documentation Index > Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # CDNの申し込み Classic/VPC環境で利用できます。 NAVERクラウドプラットフォームコンソールで CDNサービスを申し込む方法を説明します。 ## CDNの申し込み Global CDNサービス新たに申し込む方法は、次の通りです。 1. NAVERクラウドプラットフォームコンソールで、**Menu** > **All Services** > **Content Delivery** > **Global CDN**メニューを順にクリックします。 2. **[CDNの申し込み] **ボタンをクリックします。 3. 次のステップを順に行います。 - [1. サービス設定](/docs/ja/globalcdn-create#1%EC%84%9C%EB%B9%84%EC%8A%A4%EC%84%A4%EC%A0%95) - [2. ソース設定](/docs/ja/globalcdn-create#2%EC%9B%90%EB%B3%B8%EC%84%A4%EC%A0%95) - [3. キャッシュ設定](/docs/ja/globalcdn-create#3%EC%BA%90%EC%8B%B1%EC%84%A4%EC%A0%95) - [4. Viewer転送設定](/docs/ja/globalcdn-create#4Viewer%EC%A0%84%EC%86%A1%EC%84%A4%EC%A0%95) - [5. 確認](/docs/ja/globalcdn-create#5%ED%99%95%EC%9D%B8) ### 1. サービス設定 サービス名、プロトコル、ドメインなどの CDNサービスと関連したプロパティを設定します。設定する項目は次の通りです。 | 項目 | 説明 | | --- | --- | | **サービス名** | サービスを区別する固有名を入力 - 3~35文字の英数字、ハイフン(-)を使用して入力 | | **サービスプロトコル** | CDNサービスで使用するプロトコルの設定 - **HTTP**/**HTTPS**/**ALL**の中から選択 - HTTPS選択時にソースサーバからも HTTPSに通信必要 - 顧客が保有する別途のドメインの使用時に HTTPのみサポート | | **サービスドメイン** | クライアントがアクセスする CDNドメインの設定 - **CDNドメインを使用する**: NAVERクラウドプラットフォームの CDNドメインを使用 - **自動作成**: 「任意の ID.gcdn.ntruss.com」の形式に自動作成 - **直接入力**: 「入力値.gcdn.ntruss.com」の形式に作成。入力値は英数字、ハイフン(-)を使用して、40文字以内で入力 - **顧客保有ドメインの使用**: NAVERクラウドプラットフォームが提供するドメインではなく、顧客が保有するドメインを使用。使用するドメインを直接入力 - 最大50個のドメインをサポート - 多数のドメインの入力時に、改行で区分 - CDNの申し込み後に、運用中の DNSシステムやホスティング会社で [NAVERクラウドプラットフォームのドメインを CNAMEに設定](/docs/ja/globalcdn-create#CDN%EC%82%AC%EC%9A%A9%EC%9D%84%EC%9C%84%ED%95%9C%EA%B3%A0%EA%B0%9DDNS%EC%84%A4%EC%A0%95)する必要がある | | **Access Log** | CDNに流入されるリクエスト情報ログを Object Storage内での保存有無を選択 - **使用する**を選択する場合、使用する Object Storageのリージョンとバケットを選択 - ログデータは毎時20分ごとに1時間の間隔で保存し、バケット内の「サービス名_インスタンス ID_YYYYMMDD_HH.log.gz」の形式で保存 - 最初ログの収取時に一定時間(最大24時間)がかかる | | **説明** | 必要に応じて CDNの簡単なメモを入力 | 参考 - ログ保存機能の使用時に、Object Storageのご利用の申し込みとバケットの作成が完了している必要があります。サービス利用に関する詳細は、[Object Storageご利用ガイド](/docs/ja/storage-storage-6-1)をご参照ください。 - ログファイルは複数の項目を含めており、各項目は空白で区分されます。データがない場合は「-」と表示します。 - ログファイルのフォーマット `client_ip - - [date] "http_method url_stem HTTP/1.1" status_code total_bytes "referrer" "user_agent" "cookie"` - `client_ip`: クライアント IPアドレス - `- -`: 使用しない値 - `[date]`: リクエスト日時 - `"http_method url_stem HTTP/1.1"`: HTTPリクエストメソッド、URI、HTTPバージョン - `status_code`: レスポンスコード - `total_bytes`: サーバがクライアントにレスポンスした全体容量 - `"referrer"`: リクエスト時の referrer情報 - `"user_agent"`: クライアントのエージェント情報 - `"cookie"`: リクエスト時の Cookie値 - 例) ``` 211.249.40.9 - - [09/Feb/2018:03:50:01 +0000] "GET /nrbjdrlsuogw479257.gcdn.ntruss.com/sample_mv.mp4 HTTP/1.1" 200 20444604 "-" "curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.19.1 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2" "-" ``` ### 2. ソース設定 注意 Object Storageを Global CDNに連携する場合、**公開すべきでない情報を Object Storageバケットに保存**しないでください。 コンテンツソースの場所を指定し、ソースサーバと CDNキャッシュサーバ間の通信に関連したプロパティを設定します。設定する項目は次の通りです。 | 項目 | 説明 | | --- | --- | | **ソースの位置** | CDNサービスを利用するコンテンツソースの場所を指定 - **Object Storage**: NAVERクラウドプラットフォームの Object Storageにソースがある場合は選択し、リージョンとバケットを指定 - 特定のサーバのみアクセスを許可する**アクセス制御**が適用されたバケットは使用不可 - CDNと Object Storage間で発生するネットワーク転送料金は無料 - **直接入力**: Object Storage以外の場所にソースがある場合に選択し、その IPアドレスやドメイン名を入力 - ドメインに設定することをおすすめ - 選択したサービスプロトコルタイプによってプロトコルのポート番号を入力 - HTTPプロトコルの基本ポート番号とは異なるポートを使用する場合、セキュリティポリシーにより以下のポート番号のみを許可: 72、80-89、443、488、591、777、1080、1088、1111、1443、2080、7001、7070、7612、7777、8000-9001、9090、9901-9908、11080-11110、12900-12949、45002 - HTTPSの使用時に「man-in-the-middle(MITM)」攻撃を防ぐためにソースの証明書の有効性を確認。有効性が確認される認証機関のリストは、[有効認証機関](/docs/ja/globalcdn-create#%EC%9C%A0%ED%9A%A8%EC%9D%B8%EC%A6%9D%EA%B8%B0%EA%B4%80CertificateAuthority)を参照。 | | **ソースのパス(選択)** | 実際にコンテンツソースが位置している詳細ディレクトリを入力。ソースの場所が全体パスではなく、特定のパスを使用する場合にのみ追加指定。 - 「/base_directory_name」の形式で入力 - 最下位のディレクトリには「/」を省略 | | **Forward Host Header** | CDNからソースサーバにリクエストする場合に転送されるホストヘッダを設定。ソースが Object Storageにある場合、**Origin Hostname**のみ設定可能。 - **Incoming Host Header**: クライアントのリクエスト時には転送されたホストヘッダをそのまま使用。サービスドメインのホストヘッダベース。サービスプロトコルとして HTTPを選択し、コンテンツソースが外部に位置している場合に選択可能。 - **Origin Hostname**: ソースサーバが特定のバーチャルホストのみ受信するように設定された場合、そのホストヘッダを使用。 - **Custom Value**: ホストヘッダをユーザー指定値に設定。ホストヘッダ値を直接入力。 | | **Cache Key Hostname** | コンテンツの固有 IDのキャッシュキーを設定。サービス特性に応じて適切に選択すると、キャッシュ効率が向上。 - **Incoming Host Header**: ドメイン名によってコンテンツを個別的なキャッシュキーで区分。サービスドメインによって転送するコンテンツが異なる場合に選択。 - **Origin Hostname**: ドメイン名が異なる場合でも、同じキャッシュキーで識別。サービスのソースサーバと転送するコンテンツが同じである場合に選択。 | | **Gzip Compression** | コンテンツの圧縮転送の有無を選択 - 圧縮する場合、ソースサーバのトラフィックを減らしてレスポンス速度を向上 - CDNからソースサーバに"Accept-Encoding: gzip"をリクエストし、圧縮されたコンテンツのレスポンスを受ける - ソースから Gzip圧縮をサポートする必要がある | | **Custom Header(ソースリクエスト)** | ソースのリクエスト時にヘッダを追加/変更/削除してリクエストするように設定。ソースに対するアクセスの制御目的で活用可能。 - ヘッダ値は最大256byteまで入力可能 - 使用できない文字列: "(),/:;<=>?@[]{}"、英数字以外の文字、空白 例) **Action**: Add / **Header Name**: NCP-Custom-Header / **Header Value**: ncp | #### 有効認証機関(Certificate Authority) HTTPSの使用時に「man-in-the-middle(MITM)」攻撃を防ぐために、ソースサーバの証明書の有効性を確認します。以下の Certificate Authority(CA)で発行された証明書は、有効性が確認されます。 | Certificate Authority | | --- | | VeriSign Class 4 Public Primary Certification Authority - G3 | | AddTrust External CA Root | | Class 2 Primary CA | | Network Solutions Certificate Authority | | Entrust Root Certification Authority | | thawte Primary Root CA | | DigiCert Assured ID Root CA | | QuoVadis Root CA 2 G3 | | GlobalSign Root CA | | America Online Root Certification Authority 2 | | QuoVadis Root Certification Authority | | QuoVadis Root CA 3 | | SwissSign Silver CA - G2 | | Certum CA | | GlobalSign | | SwissSign Gold CA - G2 | | SecureTrust CA | | AffirmTrust Commercial | | Go Daddy Root Certificate Authority - G2 | | Entrust Root Certification Authority - G2 | | Global Chambersign Root | | thawte Primary Root CA - G3 | | Starfield Services Root Certificate Authority - G2 | | Baltimore CyberTrust Root | | VeriSign Class 3 Public Primary Certification Authority - G5 | | VeriSign Universal Root Certification Authority | | GeoTrust Global CA | | AffirmTrust Premium | | DigiCert High Assurance EV Root CA | | QuoVadis Root CA 2 | | UTN-USERFirst-Hardware | | Entrust.net Certification Authority (2048) | | GeoTrust Primary Certification Authority | | AffirmTrust Networking | | GeoTrust Primary Certification Authority - G3 | | DST Root CA X3 | | COMODO Certification Authority | | UTN - DATACorp SGC | | VeriSign Class 3 Public Primary Certification Authority - G3 | | TC TrustCenter Class 2 CA II | | Cybertrust Global Root | | DigiCert Global Root CA | ### 3. キャッシュ設定 Global CDNのキャッシュオプション、キャッシュの有効期限切れ時間などのキャッシュと関連プロパティを設定します。設定する項目は次の通りです。 | 項目 | 説明 | | --- | --- | | **Caching Option** | 基本的なキャッシュポリシーの設定 - **ソースの cache controlと expiresヘッダ優先**: ソースサーバに設定された `Cache-Control` または `Expires` ヘッダ値によってキャッシュ動作 - ソースでキャッシュ基準になるヘッダのレスポンスがない場合、下位の **Cache expiry**設定値を適用 - **Cache**: **Cache expiry**または `max-age`に設定された期間の間にインスタンスキャッシュ - **No Store**: CDNサーバでキャッシュしない - **Bypass Cache**: インスタンスをキャッシュせずに、すべてのリクエストをソースに送ってレスポンスを転送 - **Honor Origin Cache Control**: ソースサーバに設定された `Cache-Control`ヘッダ値によってキャッシュ動作 - **Honor Origin Expires**: ソースサーバに設定された `Expires`ヘッダ値によってキャッシュ動作 | | **Force Revalidation of Stale Objects** | ソースサーバとの通信が難しい場合、キャッシュされたコンテンツの提供有無を選択 - **有効有無に関わらずキャッシュされたコンテンツを提供**: ソースサーバにコンテンツの有効性を再検証できない場合でも、キャッシュされたコンテンツを提供。ソースサーバに障害がある場合でもサービス可能。 - **有効なコンテンツのみ提供**: ソースサーバで有効性の再検証が完了したコンテンツのみ提供。ソースサーバの障害時に無効なコンテンツの転送がサービスに影響を与える場合に選択。 | | **Cache expiry** | キャッシュされたコンテンツとソースを比較し、変更の有無を確認する周期を指定 - ソースサーバのレスポンスヘッダに `Cache-Control: max-age`の存在時にその設定を優先適用 - コンテンツのアップデート周期が短い場合、期間を短く指定することをおすすめ。ただし、ソースの負荷が増加。 | | **Ignore Query String** | ソースサーバにコンテンツをリクエストする場合、クライアントのリクエスト文のクエリ文字列の無視有無を選択。キャッシュの効率のために使用可能。 - ソースサーバでクエリ文字列に関係なく、同じコンテンツをレスポンスする場合に使用 | | **Remove Vary Header** | ソースで `Vary` ヘッダをレスポンスする場合、ヘッダの削除有無を選択。キャッシュの効率のために使用可能。 - Varyヘッダをレスポンスしても、コンテンツが同じである場合に使用 - コンテンツによって様々なバージョンがあり `User-Agent`、`Referer`、`Cookie`などの Varyリクエストヘッダによって他のコンテンツをレスポンスする場合に使用しない | | **Large File Optimization** | 大容量ファイルをサービスする場合、キャッシュの効率のための最適化転送有無を選択 - 100MB以上のファイル転送時に2MB単位ずつキャッシュ - サポート拡張子: 3g2、3gp、asf、avi、bz2、dmg、exe、f4v、flv、gz、hdp、iso、jxr、m4v、mkv、mov、mp4、mpeg、mpg、mts、pkg、qt、rm、swf、tar、tgz、wdp、webm、webp、wma、wmv、zip - サポート容量: 100MB~323GB - 機能を使用するには、ソースサーバで Rangeレスポンスの設定が必要 - コンテンツ名を変更せずに更新するには、パージ実行後に更新が必要 | ### 4. Viewer転送設定 CDNキャッシュサーバからユーザーにコンテンツを転送する場合に適用するプロパティを設定します。設定する項目は次の通りです。 | 項目 | 説明 | | --- | --- | | **Gzip Compression** | クライアントにコンテンツを転送する場合、圧縮転送の有無を選択 - ソースサーバでコンテンツの拡張子またはリクエストヘッダによって柔軟に適用するには、**ソースの圧縮設定と同様に適用**を選択 - クライアントのエージェント(ブラウザまたはデバイス)で Gzip/Unzipのサポートが必要。HTML、JavaScript、Textベースの10KB以上のコンテンツをサービスする場合に使用することをおすすめ。 - 画像(jpg、pngなど)、動画(mp4、flvなど)、既に圧縮が適用されたコンテンツのみサービスする場合、使用しないことをおすすめ - 圧縮転送を使用する場合、対象コンテンツに以下の Mime Typeを適用 `Text/html*, text/css*, application/x-javascript*, application/javascript*` | | **Referrer Domain** | 特定のドメインリファラが含まれているリクエストのみレスポンスするように設定。アクセス制御の目的として活用。 - 使用時にレスポンスを許可するリファラを入力 - 最大50個を入力でき、ワイルドカード(*)、ハイフン(-)、ピリオド(.)使用可能* - ワイルドカード()の使用時に、サブドメインも含めてレスポンスを許可 - 機能の使用時に、リファラがないリクエストは基本的にレスポンスを許可するが、登録されたリファラがある場合にのみレスポンスを許可するには、**許可しない**を選択 | | **Security Token** | トークン認証で許可されたリクエストのみレスポンスするように設定 - 使用時にトークンの位置を **Query String**または **Cookie**の中から選択 - **認証例外対象の拡張子(選択)**: 入力した拡張子は例外として認証トークンなしでもコンテンツの呼び出し/レスポンスができるように設定。拡張子名を入力し、 **[Enter]** キーを押して登録。 - トークンを作成する方法の詳細は、[認証トークンの作成](/docs/ja/globalcdn-create#%EC%9D%B8%EC%A6%9D%ED%86%A0%ED%81%B0%EC%83%9D%EC%84%B1)を参照 | | **Custom Header(ユーザーレスポンス)** | レスポンス時にヘッダを追加/変更/削除してレスポンスするように設定 - ヘッダ値は最大256byteまで入力可能 - 使用できない文字列: "(),/:;<=>?@[]{}"、英数字以外の文字、空白 例) **Action**: Add / **Header Name**: Access-Control-Allow-Origin / **Header Value**: * | #### 認証トークン作成 **Security Token**を使用する場合、以下の内容を参照して認証トークンを作成します。 - トークンは言語別に提供される SDKを通じて作成できます。 - Python: [https://github.com/akamai/EdgeAuth-Token-Python](https://github.com/akamai/EdgeAuth-Token-Python) - Java: [https://github.com/akamai/EdgeAuth-Token-Java](https://github.com/akamai/EdgeAuth-Token-Java) - Ruby: [https://github.com/akamai/EdgeAuth-Token-Ruby](https://github.com/akamai/EdgeAuth-Token-Ruby) - NodeJS: [https://github.com/akamai/EdgeAuth-Token-Node](https://github.com/akamai/EdgeAuth-Token-Node) - Golang: [https://github.com/mobilerider/EdgeAuth-Token-Golang](https://github.com/mobilerider/EdgeAuth-Token-Golang) - C#: [https://github.com/BookBeat/EdgeAuth-Token-CSharp](https://github.com/BookBeat/EdgeAuth-Token-CSharp) - トークン作成に必要なパラメータは、次の通りです。 - トークン名: 「token」に一括適用 - Start(st)/End times(exp): トークンが有効な開始/終了時間 - Key: **Security Token**設定時に自動で発行され、**認証パスワード**として表示される値 - ACL(Access Control List): トークンでアクセスを許可する対象 URI。ワイルドカード(*)を用いて特定のパス単位で設定可能。 - 例) - Javaで認証トークンを作成 ``` package com.akamai.edgeauth; public class ExampleEdgeAuth { public static void main(String[] args) { String hostname = "example.cdn.ntruss.com"; //サービスドメイン名 String ET_ENCRYPTION_KEY = "b2b1"; // トークンを作成するための key String tokenName = "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(); } } } ``` ``` http://example.cdn.ntruss.com/sample.pdf?token=st=1592202370~exp=1592205970~acl=/sample.pdf*~hmac=d422a548ae769bbaddc1d27f03fe6e096a4ba492928f3eb9c09824f93d78f507 ``` - トークン作成のサンプルコード - コード実行後に作成されたリクエスト URL - Pythonで認証トークンを作成 ``` $ 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 ``` ``` http://example.cdn.ntruss.com/sample.pdf?token=st=1592204787~exp=1592208387~acl=/sample.pdf*~hmac=79872098f16596c8c40ebab649ae2aac8cce3e3bece204b641c99b6cfac42779 ``` - トークン作成のサンプルコード - コード実行後に作成されたリクエスト URL 参考 ユーザーのトークン作成サーバの時間が CDNサーバの時間より2~4秒早い場合、CDNサーバでトークンパラメータのうち start_time値を「too early」と認識して認証失敗が発生することがあります。これを防ぐために、start_time値を現在より10秒早く設定し、end_time値を10秒遅く設定してください。トークンを作成するウェブサーバの時間を NTPで正確に同期します。 ### 5. 確認 設定内容を確認し、画面下の** [CDNの申し込み] **ボタンをクリックします。 - 申し込んだ CDNがリストに追加され、**申込中**のステータスで表示されます。 - CDNがグローバル拠点にすべて構成されるまで約2時間以上がかかり、構成が完了したら**運用中**のステータスに変更されます。 ## CDN使用のための顧客 DNS設定 正常にサービスを利用するには、CDNの申し込み時にサービスドメインを顧客が保有する別途のドメインに設定し、CDNサービスの申し込み後に表示される CDNサービスドメインを運用中の DNSに接続する必要があります。 運用中の DNSシステムまたはホスティング会社で CNAMEレコードを用いて CDNサービスドメインを登録します。 サーバで `dig` または `nslookup` コマンドを通じて CNAMEレコードが正常に設定されているか確認できます。 - 例) 顧客ドメインが「sample.example.com」、CDNサービスドメインが「example.gcdn.ntruss.com」」の場合 ``` sample.navercdn.com 600 IN CNAME example.gcdn.ntruss.com. ```