ユースケースとキャッシュ動作制御ルールの記述例

対象リージョン:全リージョン

コンテンツ配信サービスを利用するにあたって、典型的なユースケースを例にとり、作業手順とキャッシュ動作制御ルールの記述例を示します。

Webサイトのコンテンツ配信

  • 構築手順の例

    1. 仮想サーバを作成し、オリジンサーバとなるWebサーバを構築します。
    2. 必要に応じて、ロードバランサー(例: http://lb-001.loadbalancing-jp-east-1.cloud.global.fujitsu.com)、データベースなども構築します。
    3. オリジンサーバにコンテンツをアップロードします。
    4. ブラウザを使用して、オリジンサーバにアクセスできることを確認します。
    5. コンテンツ配信サービスAPIを利用して、配信設定を作成します。

      このときAPIのパラメーターに指定するキャッシュ動作制御ルールに、ロードバランサーのURLを指定します。キャッシュTTLは、仮に3日 (3d) を指定します。

    6. API実行の結果、配信URLが取得できます。(例: http://xxx-123abc.cdn-edge.cloud.global.fujitsu.com)
    7. ブラウザから、配信URLを入力してアクセスできることを確認します。
  • キャッシュ動作制御ルールの例

    {
      "rules": [
        {
          "matches": [
            {
              "name": "url-wildcard",
              "value": "/*"
            }
          ],
          "behaviors": [
            {
              "name": "origin",
              "value": "-",
              "params": {
                "digitalProperty": "-",
                "originDomain": "lb-001.loadbalancing-jp-east-1.cloud.global.fujitsu.com",
                "cacheKeyType": "origin",
                "cacheKeyValue": "-",
                "hostHeaderType": "origin",
                "hostHeaderValue": "-"
              }
            },
            {
              "name" : "caching",
              "type" : "honor"
              "value" : "3d"
            }
          ]
        }
      ]
    }

独自ドメインでのコンテンツ配信

  • 構築手順の例

    ヒント: 独自ドメインの名前解決にDNSサービスを使用する場合、あらかじめお客様の所有するドメイン名のCNAME設定ができるようにします。詳細は DNSサービスを参照してください。
    1. Webサイトのコンテンツ配信に記載した手順などで配信設定を作成し、配信URLを取得します得ます

      このとき、APIパラメーターの配信FQDNには、独自ドメイン(例:www.example.com)を指定します。

    2. ブラウザから、配信URLを入力してアクセスできることを確認します。
    3. DNSサービスを使用し、CNAMEレコードを作成します。

      このとき、CNAMEの設定として、独自ドメインがcommon-http.cdn-edge.cloud.global.fujitsu.comを指すように作成します。

    4. ブラウザを使用して、独自ドメインにアクセスできることを確認します。
  • キャッシュ動作制御ルールの例

    {
      "rules": [
        {
          "matches": [
            {
              "name": "url-wildcard",
              "value": "/*"
            }
          ],
          "behaviors": [
            {
              "name": "origin",
              "value": "-",
              "params": {
                "digitalProperty": "www.example.com",
                "originDomain": "lb-001.loadbalancing-jp-east-1.cloud.global.fujitsu.com",
                "cacheKeyType": "origin",
                "cacheKeyValue": "-",
                "hostHeaderType": "origin",
                "hostHeaderValue": "-"
              }
            },
            {
              "name" : "caching",
              "type" : "honor"
              "value" : "3d"
            }
          ]
        }
      ]
    }

セキュアーにコンテンツ配信

  • 構築手順の例

    1. オリジンサーバが、お客様が作成した仮想サーバマシンまたはロードバランサーの場合、SSL証明書を用意してください。使用可能な証明書については、 セキュアー配信を参照してください。

      ヒント: オリジンサーバがHTTPS接続だけしか受け付けない場合は、443番ポートだけを開放してください。
    2. Webサイトのコンテンツ配信に記載した手順で、配信設定を作成します。

      このとき、APIパラメーターの配信プロトコルにはhttpsを指定します。さらに、エッジサーバでHTTPSの接続だけを受け付けるようにするには、キャッシュ動作制御ルールにHTTPSを指定します。

    3. API実行の結果、HTTPSの配信URLが取得できます
    4. ブラウザから、配信URLを入力してアクセスできることを確認します。
  • キャッシュ動作制御ルールの例

    {
      "rules": [
        {
          "matches": [
            {
              "name": "url-wildcard",
              "value": "/*"
            },
            {
              "name": "url-scheme",
              "value": "HTTPS"
            }
          ],
          "behaviors": [
            {
              "name": "origin",
              "value": "-",
              "params": {
                "digitalProperty": "-",
                "originDomain": "lb-001.loadbalancing-jp-east-1.cloud.global.fujitsu.com",
                "cacheKeyType": "origin",
                "cacheKeyValue": "-",
                "hostHeaderType": "origin",
                "hostHeaderValue": "-"
              }
            },
            {
              "name" : "caching",
              "type" : "honor"
              "value" : "3d"
            }
          ]
        }
      ]
    }

独自ドメインでセキュアーにコンテンツ配信

  • 構築手順の例

    コンテンツ配信に用いたい独自ドメイン名を、仮にwww.example.comとします。オリジンサーバとなるドメイン名を、仮にorigin.example.comとします。

    1. はじめに、オリジンサーバ(origin.example.com)を構築してください。オリジンが仮想サーバ、またはロードバランサーの場合は、サーバ証明書をお客様にて用意してインストールします。証明書についてはセキュアー配信を参照してください。
    2. 申込書で指定する証明書がDV型証明書の場合は、以下の手順を実施してください。その他の型の場合は 3に進んでください。
      1. 認証(ドメイン存在確認)のため、一時的に、www.example.comをDNS CNAMEレコードにてorigin.example.com に振り向けます。さらに、httpsの443番ポートに加え、httpの80番ポートも開放します。
      2. httpで認証に使用するディレクトリへのアクセスをエッジサーバにリダイレクトする設定を行います。サンプルを以降に示します。
    3. 申込書によりwww.example.comの申し込みを行います。詳細は、セキュアー配信を参照してください。
    4. 申込書で指定した証明書に応じた、組織存在確認(Validation)を実施してください。

      詳細は以下のとおりです。

      • DV型証明書

        組織存在確認(Validation)は必要ありません。

      • OV型/EV型証明書

        組織存在確認(Validation)が必要です。

        申請組織の存在確認を実施します。

        ヒント:

        お客様や会社の代表メールアドレス・代表者番号などに対して認証局・弊社・Akamai社から連絡が入る場合があります。

    5. 申し込みの完了時に提示する資料の内容を確認し、APIにて配信設定を作成します。このとき、APIパラメーターの配信プロトコルにはhttps、FQDN情報には申し込み時に指定したFQDN(例 www.example.com)を指定します
    6. ブラウザを使用して、独自ドメインにアクセスできることを確認します。
  • Apache httpdの設定ファイル追記例

    <Directory "(DocumentRoot)">
    (略)
    RewriteEngine On
    RewriteCond %{REQUEST_URI} ^/.well-known/acme-challenge/ [NC]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule . http://dcv.akamai.com%{REQUEST_URI} [L]
    </Directory>
  • キャッシュ動作制御ルールの例

    {
      "rules": [
        {
          "matches": [
            {
              "name": "url-wildcard",
              "value": "/*"
            },
            {
              "name": "url-scheme",
              "value": "HTTPS"
            }
          ],
          "behaviors": [
            {
              "name": "origin",
              "value": "-",
              "params": {
                "digitalProperty": "-",
                "originDomain": "origin.example.com",
                "cacheKeyType": "origin",
                "cacheKeyValue": "-",
                "hostHeaderType": "origin",
                "hostHeaderValue": "-"
              }
            },
            {
              "name" : "caching",
              "type" : "honor"
              "value" : "3d"
            }
          ]
        }
      ]
    }

コンテンツの差し替え

Webサイトのコンテンツ配信に記載した手順で、配信設定を作成済みであることを前提とします。

  • 作業手順の例

    1. オリジンサーバ上の画像ファイル、PDFファイルなどを差し替えます。
    2. エッジサーバ上の指定オブジェクトの「キャッシュの消去」を行います。
    3. 一定期間経過後にブラウザから配信URLにアクセスし、差し替えたオブジェクトが表示されることを確認します。

コンテンツの更新頻度の見直し

Webサイトのコンテンツ配信に記載した手順で、配信設定を作成済みであることを前提とします。

  • 作業手順の例

    1. 指定オブジェクト(URLなど)のTTL設定を1時間に変更します(晴れアイコンなどの画像のキャッシュTTLはそのままとします)。
    2. 以降は、エッジサーバに1時間キャッシュが保持されます。
  • キャッシュ動作制御ルールの例

    {
      "rules": [
        {
          "matches": [
            {
              "name": "url-wildcard",
              "value": "/*"
            }
          ],
          "behaviors": [
            {
              "name": "origin",
              "value": "-",
              "params": {
                "digitalProperty": "-",
                "originDomain": "lb-001.loadbalancing-jp-east-1.cloud.global.fujitsu.com",
                "cacheKeyType": "origin",
                "cacheKeyValue": "-",
                "hostHeaderType": "origin",
                "hostHeaderValue": "-"
              }
            },
            {
              "name" : "caching",
              "type" : "fixed"
              "value" : "3d"
            }
          ],
          "matches": [
            {
              "name": "url-extension",
              "value": "jsp"
            }
          ],
          "behaviors": [
            {
              "name" : "caching",
              "type" : "fixed"
              "value" : "1h"
            }
          ]
        }
      ]
    }

特定条件でのアクセス制限

Webサイトのコンテンツ配信に記載した手順で、配信設定を作成済みであることを前提とします。

  • 作業手順の例

    1. キャッシュ動作制御ルールを編集し、「配信設定の編集」機能で、指定パス以下のアクセス地域を日本だけに変更します。
    2. 以降は、日本以外からのアクセスが除外されます。
  • キャッシュ動作制御ルールの例

    {
      "rules": [
        {
          "matches": [
            {
              "name": "url-wildcard",
              "value": "/*"
            }
          ],
          "behaviors": [
            {
              "name": "origin",
              "value": "-",
              "params": {
                "digitalProperty": "-",
                "originDomain": "lb-001.loadbalancing-jp-east-1.cloud.global.fujitsu.com",
                "cacheKeyType": "origin",
                "cacheKeyValue": "-",
                "hostHeaderType": "origin",
                "hostHeaderValue": "-"
              }
            },
            {
              "name" : "caching",
              "type" : "honor"
              "value" : "3d"
            }
          ],
          "matches": [
            {
              "name": "url-wildcard",
              "value": "/domestic/*"
            }
          ],
          "behaviors": [
            {
              "name": "geo-whitelist",
              "type": "country",
              "value": "JP"
            }
          ]
        }
      ]
    }

コンテンツ配信の終了

  • 作業手順の例

    1. 独自ドメインを使用している場合は、CNAME先を配信URLから、お客様のオンプレ環境などのURLに戻します。
    2. 「配信設定の削除」機能を使用して、配信設定を削除します。