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に配信します。 これにより、オリジンサーバーの負荷を軽減し、高速応答を維持できます。
大きなオブジェクトの転送
OSS内のラージオブジェクトにアクセスしたり、OSSからラージオブジェクトをダウンロードしたりする必要がある場合は、Alibaba Cloud CDNを使用して帯域幅とデータ転送速度を向上させ、オブジェクトのダウンロードに必要な時間を短縮できます。
グローバルアクセス
Webサイトまたはアプリケーションが世界中のユーザーを対象としている場合、Alibaba Cloud CDNを使用して、ユーザーに近いPOPにコンテンツをキャッシュし、レイテンシーを短縮してアクセスを高速化できます。
背景情報
データアクセスの増加をより適切に処理し、パフォーマンスのボトルネックを回避するために、静的データをOSSに保存し、Alibaba Cloud CDNを使用してOSSへのアクセスを高速化することを推奨します。 これにより、動的リソースと静的リソースを一緒に保存する従来のWebサイトアーキテクチャから、動的リソースと静的リソースを別々に保存するクラウドベースのWebサイトアーキテクチャにWebサイトが変わります。 クラウドベースのWebサイトアーキテクチャにより、Webサイトの安定性と信頼性が大幅に向上し、Webサイトのアクセス速度が大幅に向上します。
従来のWebサイトアーキテクチャ
クラウドベースのWebサイトアーキテクチャ
課金ルール
オリジンサーバーがOSSバケットの場合、Alibaba Cloud CDNからのアウトバウンドデータ転送 (Alibaba Cloud CDNによって課金) およびOSSからAlibaba Cloud CDNへのデータ転送 (OSSによって課金) に対して課金される可能性があります。 詳細については、「OSS コンテンツアクセラレーションの課金」をご参照ください。
前提条件
OSSバケットが作成され、リソースがバケットにアップロードされます。 詳細については、「オブジェクトのアップロード」をご参照ください。
Alibaba Cloud CDNが有効化されています。 詳細については、「Alibaba Cloud CDNの有効化」をご参照ください。
ルートドメイン名が登録されています。 Alibaba Cloudに登録されていないドメイン名をバケットにマッピングできます。 ドメイン名がない場合は、Alibaba Cloud Domainsサービスプラットフォームを使用して登録できます。 詳細については、「Alibaba Cloudでのドメイン名の登録」をご参照ください。
ドメイン名のマッピング先のバケットが中国本土にあり、Alibaba Cloudアカウントの実名検証が完了している場合、ドメイン名のインターネットコンテンツプロバイダ (ICP) 申請が取得されます。 ドメイン名のICP申請を申請し、Alibaba Cloudアカウントの実名認証を完了する方法の詳細については、「概要」と「Alibaba Cloud国際サイトでの実名登録に関するAlibaba Cloud国際サイトでの実名登録に関するFAQ (alibabacloud.com)」 」をご参照ください。.
手順
次の手順では、oss.example.com
はCDN高速化ドメイン名として使用されます。 高速化ドメイン名として、ルートドメイン名、第2レベルドメイン名、またはワイルドカードドメイン名を指定できます。
手順1: ドメイン名の追加と解決
迅速な展開
Resource Orchestration Service (ROS) を使用して、Alibaba Cloud CDNによって割り当てられたCNAMEにドメイン名を高速化および解決するドメイン名を追加できます。
ROSコンソールでスタック作成ウィザードを使用します。
ROSコンソールの [スタックの作成] ウィザードの 設定パラメータ ステップで、次のパラメーターを設定します。
リージョン:
国内
など、高速アクセスが必要なリージョンを選択します。高速化ドメイン名: 高速化するドメイン名を指定します (この例では
oss.example.com
) 。ソースステーション情報:
examplebucket.oss-cn-hangzhou.aliyuncs.com
など、アクセスを高速化するバケットのパブリックドメイン名を指定します。 次に、[次へ] をクリックします。 チェックと確認ステップで、設定を確認し、作成する をクリックします。
表示されるページの [スタック情報] タブで、スタックのステータスは [作成中] になります。
スタックのステータスが作成済みになったら、[出力] タブをクリックしてCNAMEを表示します。
手動展開
加速するドメイン名を追加します。
Alibaba Cloud CDN コンソールにログインします。 左側のナビゲーションウィンドウで、[ドメイン名] をクリックします。
[ドメイン名] ページで、[ドメイン名の追加] をクリックします。 表示されるページで、次のパラメーターを設定します。
リージョン: [中国本土のみ] を選択します。
加速するドメイン名: 加速ドメイン名として指定するドメイン名を入力します。 この例では、oss.example.comを入力します。
ビジネスタイプ: [画像と小さなファイル] を選択します。
オリジンサーバー: [オリジンサーバーの追加] をクリックします。 表示されるダイアログボックスで、[オリジン情報] として [OSSドメイン] を選択し、[ドメイン名] ドロップダウンリストからアクセスを高速化するバケットのドメイン名を選択します。 ダイアログボックスの他のパラメーターのデフォルト設定を保持します。 [OK] をクリックします。
国境を越えたデータ転送に関するコンプライアンス保証をお読みください。上記のコンプライアンスのコミットメントを読み、同意します。をクリックします。次へをクリックし、ドメイン管理に戻る.
ドメイン名のステータスが有効になるまで待ちます。 CNAMEレコードの値をコピーします。 この例では、CNAMEレコードの値はoss.example.com.w.kunlunaq.comです。
ドメイン名を解決します。
DNSコンソールにログインします。 左側のナビゲーションウィンドウで、[ドメイン名の解決] をクリックします。
[ドメイン名の解決] ページで、高速化ドメイン名 (この例では
oss.example.com
) を見つけ、[DNS設定] をクリックします。[DNS設定] ページで、[DNSレコードの追加] をクリックします。
[DNSレコードの追加] パネルで、次のパラメーターを設定します。
レコードタイプ: ドロップダウンリストからCNAMEを選択します。
ホスト名: この例では、ossと入力します。
レコード値: 以前にコピーしたCNAMEレコード値を貼り付けます。 この例では、レコード値はoss.example.com.w.kunlunaq.comです。
その他のパラメータ: デフォルト設定を保持します。
[OK] をクリックします。 数分待ってからpingコマンドを実行し、高速化ドメイン名が有効かどうかを確認します。 コマンド出力が次の図に示すコマンド出力と同様の場合、高速化ドメイン名が有効です。
手順2: 自動CDNキャッシュ更新を有効にし、キャッシュのTTLを指定する
自動CDNキャッシュ更新を有効にします。
OSS コンソールにログインします。 左側のナビゲーションウィンドウで、[バケット] をクリックします。 [バケット] ページで、アクセスを高速化するバケットの名前をクリックします。
左側のナビゲーションツリーで、
を選択します。 目的のドメイン名の右側にある [Unmapped] をクリックし、プロンプトに従ってマッピングを完了します。[ドメイン名] ページで、高速化されたドメイン名を見つけ、[CDNキャッシュの自動更新] 列の [サポートされている操作] をクリックします。
ドロップダウンリストで、CDNキャッシュの自動更新をトリガーするAPI操作を選択し、[OK] をクリックします。
ディレクトリまたはファイル名拡張子で静的リソースの有効期限 (TTL) を設定します。
TTLが終了すると、POPにキャッシュされたリソースは無効になり、利用できなくなります。 期限切れのオブジェクトにアクセスしようとするリクエストは、オリジンサーバーにリダイレクトされます。 リソースがオリジンサーバーから取得された場合、リソースはPOPにキャッシュされます。 詳細については、「リソースのキャッシュルールの作成」をご参照ください。
手順3: 高速化ドメイン名を使用したOSSオブジェクトへのアクセス
オブジェクトのURLを表示します。
OSSコンソールの左側のナビゲーションウィンドウで、[バケット] をクリックします。 [バケット] ページで、バケットの名前をクリックします。
左側のナビゲーションツリーで、[オブジェクト管理]> [オブジェクト] を選択します。 [オブジェクト] ページで、URLを表示するオブジェクトを見つけ、[操作] 列の [詳細の表示] をクリックします。
[詳細の表示] パネルで、[カスタムドメイン名] ドロップダウンリストから高速化ドメイン名 (この例ではoss.example.com) を選択します。 オブジェクトのURLは、高速化ドメイン名で始まります。
HTTPS証明書を設定します。
クライアントとPOP間で送信される情報を暗号化してセキュリティを強化するには、HTTPS経由のアクセスを設定します。 HTTPS経由でのアクセスにはSSL証明書が必要です。 詳細については、「SSL証明書の設定」をご参照ください。
ブラウザでURLを使用してオブジェクトにアクセスします。
パブリック読み取りオブジェクトへのアクセス
[オブジェクトURLのコピー] をクリックします。
オブジェクトにアクセスするには、ブラウザのアドレスバーにオブジェクトURLを貼り付けます。
説明ブラウザの開発者ツールを開き、X-Cacheフィールドをチェックすることで、CDN POPからデータが提供されているかどうかを確認できます。 X-Cacheフィールドの値がMISSで始まる場合、要求されたオブジェクトはPOPのキャッシュミスであり、CDN POPはオリジンサーバーに不足しているオブジェクトを要求します。 欠落したオブジェクトがオリジンサーバーから取得された場合、オブジェクトはPOPにキャッシュされます。 オブジェクトに対する後続の要求のX-Cacheフィールドの値はHITで始まります。これは、要求されたオブジェクトがPOPにキャッシュされ、POPから提供されることを示します。
プライベートオブジェクトへのアクセス
プライベートバケットへのアクセスを有効にします。 詳細については、「プライベートOSSバケットへのアクセスの有効化」をご参照ください。
重要プライベートバケットへのアクセスを有効にした場合、Alibaba Cloud CDNは、バケットに送信されたオリジンリクエストにAuthorizationヘッダーを追加し、ヘッダー値をバケットの認証署名情報に設定します。
[オブジェクトURLのコピー] をクリックします。
オブジェクトURLから署名情報を削除します。
たとえば、プライベートオブジェクトの元のURLが
https://oss.example.com/outside.jpg?Expires=1700628094&OSSAccessKeyId=TMP.3 ********&Signature=B ********
の場合、署名情報を削除した後の新しいURLはhttps://oss.example.com/outside.jpg
です。重要オリジンリクエストは、AuthorizationヘッダーとURLリクエストパラメーターの両方に署名情報を含めることはできません。 バケットへのオリジンリクエストにAuthorizationヘッダーがある場合、オブジェクトURLに
Expires
、signature
、OSSAccessKeyId
などの署名情報を含めることはできません。 そうでない場合、OSS認証は失敗します。 詳細については、「0002 00000039」をご参照ください。署名情報を含まないオブジェクトURLを使用して、オブジェクトにアクセスします。
説明ブラウザの開発者ツールを開き、X-Cacheフィールドをチェックすることで、CDN POPからデータが提供されているかどうかを確認できます。 X-Cacheフィールドの値がMISSで始まる場合、要求されたオブジェクトはPOPのキャッシュミスであり、CDN POPはオリジンサーバーに不足しているオブジェクトを要求します。 欠落したオブジェクトがオリジンサーバーから取得された場合、オブジェクトはPOPにキャッシュされます。 オブジェクトに対する後続の要求のX-Cacheフィールドの値はHITで始まります。これは、要求されたオブジェクトがPOPにキャッシュされ、POPから提供されることを示します。
オプションです。 不正アクセスを防ぐために、ホットリンク保護またはURL署名を設定します。
ホットリンク保護
ホットリンク保護は、リクエスト内のRefererヘッダーに基づいてリクエストを識別およびフィルタリングして、アクセス制御を実装し、不正アクセスを防止します。 詳細については、「リファラーホワイトリストまたはブラックリストを設定してホットリンク保護を有効化する」をご参照ください。
URL 署名
Alibaba Cloud CDNによって配信されるコンテンツは公開されています。 オブジェクトのURLを持つ要求者は、オブジェクトにアクセスできます。 Webサイトのリソースへの不正アクセスを防ぐために、URL署名を設定して、アクセス制御のために署名文字列とタイムスタンプをURLに追加できます。 詳細については、「URL署名の設定」をご参照ください。
関連ドキュメント
プライベートバケットへのアクセスを有効にすると、静的Webサイトのホームページをトリガーするリクエストでエラーが発生します。 詳細については、「Alibaba Cloud CDNを使用してプライベートバケットからオブジェクトを取得するときに、バケットのデフォルトのホームページにアクセスできないのはなぜですか。 」をご参照ください。
コンテンツ配信のためにWebサイトをAlibaba Cloud CDNに追加した後、クライアントへのレスポンスにカスタムHTTPヘッダーを設定して、クロスオリジンリソース共有 (CORS) を許可できます。 OSSバケットがオリジンサーバーとして使用され、CORSがOSSおよびAlibaba Cloud CDNで設定されている場合、Alibaba Cloud CDNのCORS設定はOSSのCORS設定を上書きします。 詳細については、「CORS の設定」をご参照ください。
範囲オリジンフェッチを設定して、コンテンツ配信効率を向上させることができます。 これは、キャッシュされていないか、期限切れになっている場合、リクエストされたリソースの必要な部分のみをオリジンサーバーからPOPにフェッチします。 詳細については、「レンジオリジンフェッチ」をご参照ください。