Content Delivery Network (CDN) を使用して、Object Storage Service (OSS) バケットからの静的リソースの配信を高速化できます。 ここでは、CDN を OSS と統合するシナリオと、CDN コンソールでアクセラレーションを設定する方法について説明します。

始める前に

このタスクについて

Alibaba Cloud CDN は、正確なスケジューリングシステムで動作します。 システムは、静的リソースに対するリクエストを、リクエストを行ったエンドユーザーに最も近いエッジノードにリダイレクトします。 このメカニズムにより、必要なリソースの効率的な取得が可能になり、ネットワークの輻輳が最小限に抑えられます。

OSS バケットに保存される静的リソースには、静的スクリプト、画像、添付ファイル、オーディオファイル、およびビデオファイルが含まれます。 CDN ノードは、OSS バケットの静的リソースをキャッシュします。 クライアントがキャッシュされた静的リソースをリクエストすると、スケジューリングシステムはそのリクエストをクライアントに最も近いエッジノードにリダイレクトします。 次に、このエッジノードはキャッシュされたリソースをクライアントに返します。 次の図は、CDN と OSS バケットを統合するアーキテクチャを示しています。シナリオ
このアーキテクチャには、次の利点があります。
  • オリジンサーバーへのすべてのリクエストが CDN ノードに送信されます。 これにより、オリジンサーバーの負荷が軽減されます。
  • OSS バケットから返されるリソースと比較して、CDN ノードから返されるリソースは、アウトバウンドデータ転送料金が低くなります。
  • クライアントが、最も近い CDN ノードから静的リソースを取得します。 これにより、ネットワーク伝送距離が最小化され、取得されたリソースの品質が保証されます。

次のセクションでは、Alibaba Cloud Domain Name System (DNS) コンソールで CNAME (Canonical Name) レコードを追加する方法について説明します。

手順

  1. CDN コンソールで、OSS バケットに関連付けられたカスタムドメインを使用して、CDN ドメインを追加します。
    1. CDN コンソールにログインします。
    2. 左側のナビゲーションペインで、[ドメイン名] をクリックします。
    3. [ドメイン名] ページで、[ドメイン名の追加] をクリックします。
    4. [オリジンサイト情報] セクションで [OSS ドメイン] を選択し、その他の必要な設定を入力します。 次の表で、CDN ドメイン追加のパラメーターについて説明します。
      パラメーター オプション 説明
      ドメイン名 N/A
      ドメイン名を入力します (例:ch.aliyun.com) 。 次のルールに従ってください:
      • サブドメイン名またはワイルドカードドメイン名を CDN ドメイン名として使用できます。 (例: cdntest.example.com)
      • ワイルドカードドメインに対応しています。中国語ドメインには対応していません。 指示に従って、ワイルドカードドメイン名を入力します (例:*.test.com ) 。 ワイルドカードドメイン名を追加する方法の詳細については、「ワイルドカードドメイン名を追加するルール」をご参照ください。
      • CDN ドメインを複数回追加することはできません。 [DomainAlreadyExist] エラーが発生した場合は、チケットを起票し、サポートセンターにお問い合わせください。
      • 各アカウントに最大 50 の CDN ドメインを追加できます。 CDN ドメインをさらに追加するには、チケットを起票し、サポートセンターにお問い合わせください。
      • CDN ドメインから提供されるコンテンツは、CDN の制限事項に準拠する必要があります。 詳細は、「制限事項」をご参照ください。
      ビジネスタイプ イメージと小さなファイル ウェブサイトでの小さいサイズの静的コンテンツ (小さいファイル、イメージ、スタイルシートなど) の配信を高速化したい場合は、[ビジネスタイプ] のドロップダウンリストから [イメージと小さなファイル] を選択することを推奨します。
      大きなファイルのダウンロード 20 MB を超える静的ファイル (ゲームインストールパッケージ、アプリの更新、モバイル読み取り専用メモリのアップグレード、アプリパッケージのダウンロードなど) の配信を高速化したい場合は、[ビジネスタイプ] のドロップダウンリストから [大きなファイルのダウンロード] を選択することを推奨します。
      VOD オンデマンドのビデオまたはオーディオコンテンツの配信を高速化したい場合は、[ビジネスタイプ] のドロップダウンリストから [VOD] を選択することを推奨します。
      ライブストリーミング ライブストリーミングコンテンツの配信を高速化したい場合は、[ビジネスタイプ] のドロップダウンリストから [ライブストリーミングメディア] を選択することを推奨します。 次のルールに従ってください:
      • RTMP または HLS 形式のストリームのみに対応しています。
      • このビジネスタイプの CDN ドメインのオリジンのカスタマイズは非対応です。 CDN は、統合ライブセンターサーバー video-center.alivecdn.com を提供します。
      DCDN Web サイトまたはアプリケーションのコンテンツの大部分が動的リソースの場合、[ビジネスタイプ] のドロップダウンリストから DCDN を選択できます。 簡単な設定を行うだけで、DCDN (CDN の動的ルート) で動的コンテンツと静的コンテンツの配信を別々に高速化することができます。 Alibaba Cloud の最適なリンクアルゴリズムとプロトコルレイヤーの最適化をもとに静的コンテンツがキャッシュされ、動的コンテンツがオリジンから取得されます。
      オリジンサイト情報 IP 1 つ以上のサーバーのパブリック IP アドレスを指定できます。 Alibaba Cloud Elastic Compute Service (ECS) インスタンスの IP アドレスは、手動審査の対象外です。
      オリジンドメイン 1 つまたは複数のオリジンサーバーのドメイン名を指定できます。
      指定するオリジンドメインは、CDN ドメインと同じにすることはできません。 同じにすると、DNS 解決ループが発生し、オリジンリクエストは正しく転送されません。 たとえば、CDN ドメイン名が cdn.yourdomain.com に設定されている場合、オリジンドメインを img.yourdomain.com に設定できます。
      OSS ドメイン xxx.oss-cn-hangzhou.aliyuncs.com など、Alibaba Cloud Object Storage Service (OSS) バケットのインターネットドメイン名を手動で入力できます。 OSS バケットのインターネットドメイン名を表示するには、OSS コンソールに移動します。 同じアカウント配下の OSS バケットを直接選択することもできます。
      FC ドメイン Function Compute ドメインの Region および Domain Name パラメーターを設定する必要があります。 詳細については、「Function Compute のドメイン名の設定」をご参照ください。
      ポート
      必要に応じてポートを選択します。
      • ポート 80

        HTTP を介したリソースへのアクセスを指定します。

      • ポート 443

        HTTPS を介したリソースへのアクセスを指定します。

      リージョン 中国本土以外 中国本土以外 を選択した場合、中華人民共和国工業情報化部 (MIIT) に ICP ライセンスを申請する必要はありません。
      グローバル グローバルを選択した場合、中華人民共和国工業情報化部 (MIIT) に ICP ライセンスを申請する必要があります。 詳細は、「制限事項」をご参照ください。
      中国本土 中国本土 を選択した場合、中華人民共和国工業情報化部 (MIIT) に ICP ライセンスを申請する必要があります。 詳細は、「制限事項」をご参照ください。
      domain
    5. [次へ] をクリックします。
      CDN ドメインの審査と承認が完了した後、CDN コンソールの [ドメイン名] ページにドメイン名が表示されます。 追加されたドメインは [有効] ステータスで表示されます。 domain complete
  2. CDN コンソールにログインし、CDN ドメインの CNAME を取得します。
  3. Alibaba Cloud DNS コンソールで、CNAME レコードを追加します。
    1. Alibaba Cloud DNS コンソールにログインします。
    2. [ドメイン名解決の管理] ページで、[ドメイン名] タブをクリックし、ターゲットドメイン名を見つけ、[アクション] 列の [設定] をクリックします。
    3. [レコードを追加] をクリックします。
    4. [レコードを追加] ダイアログボックスで、パラメーターを設定し、[OK] をクリックします。
      • タイプ[CNAME] を選択します。
      • ホスト:ドメイン名の接頭辞を入力します。
        ドメイン名 ホスト
        testcdn.aliyun.com testcdn
        www.aliyun.com www
        aliyun.com @
        *.aliyun.com *
      • ISP 回線:デフォルト値のままにします。
      • :手順 1 で取得した CNAME を入力します。
      • TTL:デフォルト値のままにします。
      CDN サービスは、新しい CNAME レコードが有効になった直後に有効になります。
      • 新しい CNAME レコードはすぐに有効になりますが、変更した CNAME レコードは 72 時間以内に有効になります。
      • CNAME レコードを追加した後、対応するドメイン名のステータスが更新されるまでに 10 分ほどかかります。
  4. ローカルコンピューターで、CNAME レコード機能が期待どおりに機能するかどうかを確認します。

    新しい CNAME レコードが有効になるまでの時間は、DNS プロバイダーによって異なります。

    ping または dig コマンドを実行して、ターゲットドメインにアクセスできるかどうかを確認できます。 アクセスリクエストの宛先が *.*kunlun*.com の場合、CNAME レコードと CDN サービスの両方が有効になります。

  5. OSS コンソールで、CDN ドメインに対して [CDN キャッシュの自動更新] をオンにします。

    [CDN キャッシュの自動更新] を有効にすると、OSS は、指定されたバケットで更新が完了した直後に、対応する CDN ノードで更新されたオブジェクトを更新します。 この方法で、CDN ノードは OSS から最新のオブジェクトをキャッシュできます。

    指定されたバケットから CDN ドメインのバインドを解除しても、OSS は CDN ノードにキャッシュされたオブジェクトを自動で更新しません。 ただし、CDN コンソールで更新およびプリロード機能を設定できます。 詳細については、「更新機能およびプリフェッチ機能の設定」をご参照ください。

    1. OSS コンソールにログインします。
    2. 左側のナビゲーションペインで、[バケット] の下の対象バケットを選択します。
    3. [概要] タブをクリックします。 [ドメイン名] タブをクリックします。
    4. [ドメイン名] タブで、CDNドメインに対して [CDN キャッシュの自動更新] を有効にします。
      CDN キャッシュの自動更新

次のステップ

CNAME レコードが有効になった後、エンドユーザーがリクエストに CDN ドメインのみを含めることで OSS リソースをリクエストすると、AccessDenied エラーが発生します。 この場合、エンドユーザーは次のいずれかの方法を使用してリソースを取得できます。
  • ウェブページで OSS リソースをリクエストするには、リクエストで CDNドメインとその後ろに対象ファイルパスを含めるようにします。 たとえば、CDN ドメインが mydomain.cnで対象ファイル 123.jpg がルートディレクトリにある場合、対象ファイルを要求する URL は http://mydomain.cn/123.jpg です。
  • クライアントを使用して OSS リソースをリクエストするには、CDN ドメインを OSS バケットドメインとして指定し、CDN ドメインを使用してバケットに接続します。