このトピックでは、Alibaba Cloud CDN を使用して Object Storage Service (OSS) へのアクセスを高速化することに関するよくある質問に回答します。
CDN が OSS へのアクセスを正常に高速化していることを確認する方法
ステップ 1: CNAME レコードを確認する
Alibaba Cloud DNS を例に説明します。DNS コンソールにログインし、[パブリック権威 DNS 解決] を選択し、ドメイン名の横にある [DNS 設定] をクリックします。
CDN 高速化ドメイン名の CNAME レコードが追加されていることを確認します。たとえば、`oss.example.com` の CNAME レコードは `oss.example.com.w.kunlunaq.com` のようになります。

ステップ 2: nslookup コマンドを使用してドメイン名が CDN ノードを指していることを確認する
コマンドプロンプト (Windows) またはターミナル (macOS/Linux) を開きます。
nslookup -type=CNAME と高速化ドメイン名を入力します。結果が CDN コンソールの高速化ドメイン名の CNAME 値と一致する場合、CDN の高速化が有効になっています。

CNAME を設定していない場合は、「CNAME の設定」をご参照ください。
CDN を使用してプライベート OSS バケットへのアクセスを高速化する方法
高速化ドメイン名のオリジンがプライベートバケットである場合は、プライベート OSS バケットのオリジンフェッチを有効にして、CDN を使用してプライベート OSS バケット内のリソースへのアクセスを高速化します。
プライベートバケットのオリジンフェッチを有効にすると、CDN 高速化ドメイン名を使用してプライベートバケット内のすべてのリソースにアクセスできます。URL の元のプライベート認証方式は無効になります。不正アクセスからリソースをより適切に保護するには、Alibaba Cloud CDN が提供するホットリンク保護 (Referer) および URL 署名機能を使用します。詳細については、「Referer のブラックリストまたはホワイトリストを設定する」および「URL 署名の設定」をご参照ください。
CDN を使用して OSS へのアクセスを高速化する場合に HTTPS 証明書をデプロイする方法
CDN を使用して OSS へのアクセスを高速化する場合は、CDN コンソールで HTTPS 証明書をデプロイします。詳細については、「HTTPS 証明書の設定」をご参照ください。
証明書が Certificate Management Service で管理されている場合は、Certificate Management Service コンソールからデプロイすることもできます。詳細については、「Alibaba Cloud サービスへの SSL 証明書のデプロイ」をご参照ください。
CDN がプライベート OSS バケットへのアクセスを高速化するシナリオで、OSS 静的 Web サイトホスティング機能を使用する方法
OSS バケットに静的 Web サイトホスティング機能を設定しており、バケットまたはそのデフォルトインデックスページ (index.html など) がプライベートである場合は、プライベート OSS バケットのオリジンフェッチを有効にする必要があります。

問題の説明
CDN 高速化ドメイン名にアクセスすると、You don't have permission to access the URL on this server や You are forbidden to list buckets などのエラーメッセージが返されます。

原因
OSS バケットに静的 Web サイトホスティングを設定する場合、index.html などのデフォルトインデックスページを設定します。Web サイトのルートディレクトリ (例: https://example.com/) への匿名リクエストは、自動的にデフォルトインデックスページ (例: https://example.com/index.html) にリダイレクトされます。ただし、CDN のプライベート OSS バケットのオリジンフェッチを有効にすると、CDN 高速化ドメイン名からのオリジンフェッチリクエストは、ルートディレクトリへの認証済みリクエストとして扱われます。OSS はデフォルトでこれらのリクエストを拒否します。
ソリューション
CDN コンソールで、アクセス URL を設定済みのインデックスページ (index.html など) に書き換える URL 書き換えルールを設定します。CDN POP (Point of Presence) は、302 リダイレクトを使用してクライアントを index.html のコンテンツに誘導します。これにより、静的 Web サイトホスティング機能が正しく機能するようになります。詳細については、「アクセス URL の書き換え」をご参照ください。
設定方法: [書き換えられるパス] を ^/$ に、[ターゲットパス] を /index.html に、[フラグ] を [リダイレクト] に設定します。

CDN を使用して OSS へのアクセスを高速化する場合に、クロスドメイン共有やホットリンク保護などの機能を設定する方法
CDN 高速化ドメイン名を使用してインターネット経由でサービスを提供する場合、リソースを保護するために、CDN コンソールでホットリンク保護 (Referer) や URL 署名などのアクセス制御機能を設定します。詳細については、「アクセスの制御」をご参照ください。
オリジン間リソース共有 (CORS) などの機能も CDN コンソールで設定する必要があります。詳細については、「オリジン間リソース共有の設定」をご参照ください。
CDN を使用して OSS へのアクセスを高速化する場合、CDN を有効にした後になぜアクセスが遅く見えるのですか?
クライアントが高速化ドメイン名を使用して初めてリソースにアクセスすると、リクエストは CDN POP に到達します。リソースはまだ POP にキャッシュされていないため、POP は OSS からリソースをフェッチしてキャッシュします。このリソースに対する後続のリクエストは、POP から直接提供されます。したがって、最初のアクセスは CDN 高速化なしの場合よりも遅くなる可能性があります。
CDN のプリフェッチ機能を使用して、OSS から CDN POP にリソースを事前にキャッシュできます。クライアントが初めてリソースをリクエストすると、オリジンサーバーではなく最寄りの POP から直接取得できます。詳細については、「リソースのリフレッシュとプリフェッチ」をご参照ください。
CDN が OSS から頻繁にフェッチする場合、キャッシュポリシーを設定する方法
Time-to-Live (TTL) を設定しない場合、または設定した TTL が適切でない場合、CDN は頻繁にオリジンフェッチ操作を実行する可能性があります。これにより、OSS へのオリジンフェッチトラフィックと関連コスト (OSS 課金の [CDN Outbound Traffic From Origin] 項目) が増加し、アクセス速度が低下する可能性があります。必要に応じてキャッシュ TTL を設定します:
イメージやアプリケーションパッケージなど、ほとんど更新されない静的ファイルの場合は、TTL を 1 か月以上に設定します。
JS ファイルや CSS ファイルなど、頻繁に更新される静的ファイルの場合は、必要に応じて TTL を設定します。
詳細については、「キャッシュの有効期限の設定」をご参照ください。
CDN を使用して OSS へのアクセスを高速化する場合、OSS ファイルがリフレッシュされた後、ユーザーが最新のリソースにアクセスできるようにする方法
OSS 内のファイルを変更した後、CDN POP がキャッシュを自動的にリフレッシュして更新されたコンテンツを提供できるようにするには、OSS コンソールで [自動 CDN キャッシュ更新] 機能を有効にします。この機能の設定については、「CDN でアクセスを高速化する」の「自動 CDN キャッシュ更新を有効にする」セクションをご参照ください。
この機能は、リフレッシュタスクが正常に送信されることや、迅速に送信されることを保証するものではありません。適時性が重要であるか、タスクの結果を知る必要がある場合は、CDN のリフレッシュ機能を使用できます。詳細については、「リソースのリフレッシュとプリフェッチ」をご参照ください。
ドメイン名を最初にバインドする必要があるため、OSS コンソールで自動 CDN キャッシュ更新を有効にできない場合の対処方法
問題の説明
自動 CDN キャッシュ更新を有効にできず、「Please bind this domain name on OSS first.」というメッセージが表示されます。

ソリューション
ドメイン名の [OSS ドメインバインディング] 列の [バインド解除] をクリックし、プロンプトに従ってドメイン名をバインドします。
CDN 高速化ドメイン名をすでにバインドしており、その DNS レコードが CNAME を指している場合は、OSS でドメイン名をバインドした後に DNS 設定を変更しないでください。変更すると、CDN 高速化サービスが中断されます。
CDN を使用して OSS を高速化した後、OSS イメージ処理パラメーターが効果を発揮しないのはなぜですか?
CDN を使用して OSS へのアクセスを高速化すると、リクエストは最初に CDN POP に到達します。CDN でパラメーターを無視する機能が有効になっている場合、POP はリクエスト URL から疑問符 (?) に続くパラメーターをすべて削除します。リソースがすでにキャッシュされている場合、POP は OSS から再度フェッチしません。その結果、OSS イメージ処理は有効になりません。詳細については、「パラメーターを無視する」をご参照ください。
これを解決するには、CDN コンソールでパラメーターを無視する機能を無効にします。ユーザーリクエストにパラメーターが含まれている場合、OSS へのオリジンフェッチがトリガーされ、イメージ処理が期待どおりに適用されます。
パラメーターを無視する機能を無効にすると、パラメーターを含むすべてのリクエストがオリジンフェッチをトリガーするため、キャッシュヒット率が低下する可能性があります。または、CDN が提供する イメージ処理機能を使用して POP 上でイメージを処理することもできます。