すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:Alibaba Cloud CDNを使用したアクセスの高速化

最終更新日:May 06, 2024

Alibaba Cloud CDNは、OSSへのアクセスを高速化するために、リクエスト元に近いPOP (Point of presence) にOSS (Object Storage Service) オブジェクトをキャッシュします。 Alibaba Cloud CDNは、OSSよりも高い帯域幅を提供し、OSSのアウトバウンド帯域幅制限や地理的距離の影響を受けることなく、リクエスタがより高速にOSSにアクセスできるようにします。 Alibaba Cloud CDNは、アクセス速度をさらに向上させます。

シナリオ

Alibaba Cloud CDNを使用してOSSアクセスを高速化し、さまざまなシナリオでユーザーエクスペリエンスを向上させることができます。

  • オンラインオーディオとビデオの再生

    オンラインのオーディオおよびビデオ再生シナリオでは、Alibaba Cloud CDNを使用して、OSSからグローバルに配布されているPOPにオーディオおよびビデオコンテンツを配信できます。 これにより、オーディオとビデオのバッファリング時間を短縮し、ユーザーエクスペリエンスを向上させることができます。

  • 高同時アクセス

    Webサイトまたはアプリケーションへのアクセス要求が非常に同時に発生した場合、Alibaba Cloud CDNは、負荷分散のためにアクセス要求を複数のPOPに配信します。 これにより、Webサイトまたはアプリケーションのサーバー負荷を軽減し、迅速な応答を維持できます。

  • 大きなオブジェクトの転送

    OSS内のラージオブジェクトにアクセスしたり、OSSからラージオブジェクトをダウンロードしたりする必要がある場合は、Alibaba Cloud CDNを使用して帯域幅とデータ転送速度を向上させ、オブジェクトのダウンロードに必要な時間を短縮できます。

  • グローバルアクセス

    Webサイトまたはアプリケーションが世界中のユーザーを対象としている場合、Alibaba Cloud CDNを使用して、ユーザーに近いPOPにコンテンツをキャッシュし、レイテンシーを短縮してアクセスを高速化できます。

前提条件

  • OSSバケットが作成され、リソースがバケットにアップロードされます。 詳細については、「オブジェクトのアップロード」をご参照ください。

  • Alibaba Cloud CDNが有効化されています。 詳細については、「Alibaba Cloud CDNの有効化」をご参照ください。

  • ルートドメイン名が登録されています。 Alibaba Cloudに登録されていないドメイン名をバケットにマッピングできます。 ドメイン名がない場合は、Alibaba Cloudドメイン名で登録できます。 詳細については、「Alibaba Cloudでのドメイン名の登録」をご参照ください。

  • ドメイン名のマッピング先のバケットが中国本土にある場合は、ドメイン名に対してICP (Internet Content Provider) の申請が取得されます。 ICP申請が完了していないドメイン名は、Alibaba Cloud ICP申請システムを使用してマッピングできます。 ドメイン名のICP申請を申請していない場合は、Alibaba Cloud ICP申請システムを使用してICP申請を申請できます。 詳細については、「ICPファイリングアプリケーションの概要」をご参照ください。

背景情報

データアクセスの増加をより適切に処理し、パフォーマンスのボトルネックを回避するために、静的データをOSSに保存し、Alibaba Cloud CDNを使用してOSSへのアクセスを高速化することを推奨します。 これにより、動的リソースと静的リソースを一緒に保存する従来のWebサイトアーキテクチャから、動的リソースと静的リソースを別々に保存するクラウドベースのWebサイトアーキテクチャにWebサイトが変わります。 クラウドベースのWebサイトアーキテクチャにより、Webサイトの安定性と信頼性が大幅に向上し、Webサイトのアクセス速度が大幅に向上します。

従来のWebサイトアーキテクチャ

従来のWebサイトアーキテクチャでは、動的リソースと静的リソースは分離されていません。 したがって、Webサイトへのアクセスが増加すると、Webサイトのパフォーマンスがボトルネックになります。 次の図は、従来のWebサイトアーキテクチャを示しています。

image

従来のWebサイトアーキテクチャには、次の特徴があります。

  • 動的リソースと静的リソースは同じサーバーに保存されます。

  • ユーザーはサーバーに直接アクセスしてデータを要求できます。

従来のWebサイトアーキテクチャには、次の欠点があります。

  • Webサーバーのオーバーロード

    動的データと静的データは同じサーバーを共有します。 ウェブサイトへのアクセスが増加すると、サーバーは高負荷を処理できなくなり、ウェブサイトの速度が低下したり、クラッシュしたりする可能性があります。

  • ストレージスペースの拡張

    静的リソースのストレージスペースは、サーバーのハードディスク容量によって制限されます。 ストレージ容量が不足している場合は、サーバーのハードディスクを拡張またはアップグレードする必要があります。これには追加の資本と時間が必要です。

クラウドベースのWebサイトアーキテクチャ

クラウドベースのWebサイトアーキテクチャでは、動的リソースと静的リソースが分離されています。 したがって、ウェブサイトへのアクセスが増加しても、ウェブサイトの性能が保証される。 次の図は、クラウドベースのWebサイトアーキテクチャを示しています。

image

クラウドベースのWebサイトアーキテクチャには、次の特徴があります。

  • webアプリケーションやデータベースなどの動的リソースは、Elastic Compute Service (ECS) インスタンスに保存されます。

  • 画像、ビデオ、オーディオファイル、静的スクリプトなどの静的リソースは、OSSバケットに保存されます。

  • OSSバケットはAlibaba Cloud CDNのオリジンとして機能し、ユーザーに近いPOPにオブジェクトをキャッシュしてデータアクセスを高速化します。

クラウドベースのWebサイトアーキテクチャには、次の利点があります。

  • webサーバーのワークロードの削減

    OSSリソースは、ユーザーがいるリージョンに最も近いPOPにキャッシュされ、そこから配布されます。 このように、伝送距離が短くなるため、データアクセスが高速化される。

  • 無制限のストレージ

    OSSバケットの容量は柔軟に拡張できます。 ストレージアーキテクチャをアップグレードする必要はありません。

  • ストレージとトラフィックコストの削減

    このアーキテクチャでは、OSSバケットにデータを保存するためのストレージ料金、Alibaba Cloud CDNのアウトバウンドトラフィック料金、および低いback-to-originトラフィック料金が課金されます。 OSSバケットにデータを保存するためのストレージ料金は、同じ容量のECSディスクの場合よりも50% に安くなります。 CDNトラフィックの単価は、インターネット上のOSSアウトバウンドトラフィックの単価の40% にのみ30% されます。

    説明

    詳細については、「ストレージ料金」をご参照ください。

課金ルール

オリジンサーバーがOSSバケットの場合、Alibaba Cloud CDNからのアウトバウンドデータ転送 (Alibaba Cloud CDNによって課金) およびOSSからAlibaba Cloud CDNへのデータ転送 (OSSによって課金) に対して課金される可能性があります。 詳細については、「OSS コンテンツアクセラレーションの課金」をご参照ください。

手順

次の手順では、oss.example.comはバケットへのアクセスを高速化するCDN高速化ドメイン名として使用されます。 高速化ドメイン名として、ルートドメイン名、第2レベルドメイン名、またはワイルドカードドメイン名を指定できます。

手順1: ドメイン名の追加と解決

迅速な展開

Resource Orchestration Service (ROS) を使用して、Alibaba Cloud CDNによって割り当てられたCNAMEにドメイン名を高速化および解決するドメイン名を追加できます。

  1. ROSコンソールの [スタックの作成] ウィザードに移動します。

  2. ROSコンソールの [スタックの作成] ウィザードの 設定パラメータ ステップで、[高速化ドメイン名] フィールドで高速化するドメイン名 (この例ではoss.example.com) を指定し、[ソースステーション情報] フィールドでアクセスを高速化するバケットのパブリックドメイン名を指定し、[次へ] をクリックします。 チェックと確認ステップで、設定を確認し、作成する をクリックします。

    表示されるページの [スタック情報] タブで、スタックのステータスは [作成中] になります。

  3. スタックのステータスが作成済みになったら、[出力] タブをクリックしてCNAMEを表示します。

手動展開

  1. 加速するドメイン名を追加します。

    1. Alibaba Cloud CDN コンソールにログインします。 左側のナビゲーションウィンドウで、[ドメイン名] をクリックします。

    2. [ドメイン名] ページで、[ドメイン名の追加] をクリックします。 表示されるページで、次のパラメーターを設定します。

      • リージョン: [中国本土のみ] を選択します。

      • 加速するドメイン名: 加速ドメイン名として指定するドメイン名を入力します。 この例では、oss.example.comを入力します。

      • ビジネスタイプ: [画像と小さなファイル] を選択します。

      • オリジンサーバー: [オリジンサーバーの追加] をクリックします。 表示されるダイアログボックスで、[オリジン情報] として [OSSドメイン] を選択し、[ドメイン名] ドロップダウンリストからアクセスを高速化するバケットのドメイン名を選択します。 ダイアログボックスの他のパラメータのデフォルト設定を保持します。 [OK] をクリックします。

    3. 国境を越えたデータ転送に関するコンプライアンス保証をお読みください。上記のコンプライアンスのコミットメントを読み、同意します。をクリックします。次へをクリックし、ドメイン管理に戻る.

    4. ドメイン名のステータスが有効になるまで待ちます。 CNAMEレコードの値をコピーします。 この例では、CNAMEレコードの値はoss.example.com.w.kunlunaq.comです。

  2. ドメイン名を解決します。

    1. DNSコンソールにログインします。 左側のナビゲーションウィンドウで、[ドメイン名の解決] を選択します。

    2. [ドメイン名の解決] ページで、高速化ドメイン名 (この例ではoss.example.com) を見つけ、[DNS設定] をクリックします。

    3. [DNS設定] ページで、[DNSレコードの追加] をクリックします。

    4. [DNSレコードの追加] パネルで、次のパラメーターを設定します。

      • レコードタイプ: ドロップダウンリストからCNAMEを選択します。

      • ホスト名: この例では、ossと入力します。

      • レコード値: 以前にコピーしたCNAMEレコード値を貼り付けます。 この例では、レコード値はoss.example.com.w.kunlunaq.comです。

      • その他のパラメータ: デフォルト設定を保持します。

    5. [OK] をクリックします。 数分待ってからpingコマンドを実行し、高速化ドメイン名が有効かどうかを確認します。 コマンド出力が次の図に示すコマンド出力と同様の場合、高速化ドメイン名が有効です。

      ping

手順2: 自動CDNキャッシュ更新を有効にし、キャッシュのTTLを指定する

  1. 自動CDNキャッシュ更新を有効にします。

    1. [ドメイン名] ページで、高速化されたドメイン名を見つけ、[CDNキャッシュの自動更新] 列の [サポートされている操作] をクリックします。

    2. ドロップダウンリストで、CDNキャッシュの自動更新をトリガーするAPI操作を選択し、[OK] をクリックします。

  2. ディレクトリまたはファイル名拡張子で静的リソースの有効期限 (TTL) を設定します。

    TTLが終了すると、POPにキャッシュされたリソースは無効になり、利用できなくなります。 期限切れのオブジェクトにアクセスしようとするリクエストは、オリジンサーバーにリダイレクトされます。 リソースがオリジンサーバーから取得された場合、リソースはPOPにキャッシュされます。 詳細については、「リソースのキャッシュルールの作成」をご参照ください。

手順3: 高速化ドメイン名を使用したOSSオブジェクトへのアクセス

  1. オブジェクトのURLを表示します。

    1. OSSコンソールの左側のナビゲーションウィンドウで、[バケット] をクリックします。 [バケット] ページで、バケットの名前をクリックします。

    2. 左側のナビゲーションツリーで、[オブジェクト管理]> [オブジェクト] を選択します。 [オブジェクト] ページで、URLを表示するオブジェクトを見つけ、[操作] 列の [詳細の表示] をクリックします。

    3. [詳細の表示] パネルで、[カスタムドメイン名] ドロップダウンリストから高速化ドメイン名 (この例ではoss.example.com) を選択します。 オブジェクトのURLは、高速化ドメイン名で始まります。

    4. HTTPS証明書を設定します。

      クライアントとPOP間で送信される情報を暗号化してセキュリティを強化するには、HTTPS経由のアクセスを設定します。 HTTPS経由でのアクセスにはSSL証明書が必要です。 詳細については、「SSL証明書の設定」をご参照ください。

  2. ブラウザでURLを使用してオブジェクトにアクセスします。

    パブリック読み取りオブジェクトへのアクセス

    1. [オブジェクトURLのコピー] をクリックします。

      2.jpg

    2. オブジェクトにアクセスするには、ブラウザのアドレスバーにオブジェクトURLを貼り付けます。

      説明

      ブラウザの開発者ツールを開き、X-Cacheフィールドをチェックすることで、CDN POPからデータが提供されているかどうかを確認できます。 X-Cacheフィールドの値がMISSで始まる場合、要求されたオブジェクトはPOPのキャッシュミスであり、CDN POPはオリジンサーバーに不足しているオブジェクトを要求します。 欠落したオブジェクトがオリジンサーバーから取得された場合、オブジェクトはPOPにキャッシュされます。 オブジェクトに対する後続の要求のX-Cacheフィールドの値はHITで始まります。これは、要求されたオブジェクトがPOPにキャッシュされ、POPから提供されることを示します。

      outside.jpg

    プライベートオブジェクトへのアクセス

    1. プライベートバケットに対するAlibaba Cloud CDNアクセス権限を付与します。 詳細については、「プライベートOSSバケットへのアクセスの有効化」をご参照ください。

      重要

      プライベートバケットに対してback-to-originルーティングが有効になっている場合、Alibaba Cloud CDNは、バケットに送信されるback-to-originリクエストにAuthorizationヘッダーを追加し、ヘッダー値をバケットの認証署名情報に設定します。

    2. [オブジェクトURLのコピー] をクリックします。

      2.jpg

    3. オブジェクトURLから署名情報を削除します。

      たとえば、プライベートオブジェクトの元のURLがhttps://oss.example.com/outside.jpg?Expires=1700628094&OSSAccessKeyId=TMP.3 ********&Signature=B ******** の場合、署名情報を削除した後の新しいURLはhttps://oss.example.com/outside.jpgです。

      重要

      back-to-originリクエストでは、AuthorizationヘッダーとURLリクエストパラメーターの両方に署名情報を含めることはできません。 バケットへのback-to-originリクエストにAuthorizationヘッダーがある場合、オブジェクトURLにExpiressignatureOSSAccessKeyIdなどの署名情報を含めることはできません。 そうでない場合、OSS認証は失敗します。 詳細については、「0002 00000039」をご参照ください。

    4. 署名情報を含まないオブジェクトURLを使用して、オブジェクトにアクセスします。

      説明

      ブラウザの開発者ツールを開き、X-Cacheフィールドをチェックすることで、CDN POPからデータが提供されているかどうかを確認できます。 X-Cacheフィールドの値がMISSで始まる場合、要求されたオブジェクトはPOPのキャッシュミスであり、CDN POPはオリジンサーバーに不足しているオブジェクトを要求します。 欠落したオブジェクトがオリジンサーバーから取得された場合、オブジェクトはPOPにキャッシュされます。 オブジェクトに対する後続の要求のX-Cacheフィールドの値はHITで始まります。これは、要求されたオブジェクトがPOPにキャッシュされ、POPから提供されることを示します。

      outside.jpg

  3. オプションです。 不正アクセスを防ぐために、ホットリンク保護またはURL署名を設定します。

    • ホットリンク保護

      ホットリンク保護は、リクエスト内のRefererヘッダーに基づいてリクエストを識別およびフィルタリングして、アクセス制御を実装し、不正アクセスを防止します。 詳細については、「リファラーホワイトリストまたはブラックリストを設定してホットリンク保護を有効化する」をご参照ください。

    • URL 署名

      Alibaba Cloud CDNによって配信されるコンテンツは公開されています。 オブジェクトのURLを持つ要求者は、オブジェクトにアクセスできます。 Webサイトのリソースへの不正アクセスを防ぐために、URL署名を設定して、アクセス制御のために署名文字列とタイムスタンプをURLに追加できます。 詳細については、「URL署名の設定」をご参照ください。