Object Storage Service (OSS) をAlibaba Cloud CDNとともに使用して、OSSに保存されているオブジェクトをAlibaba Cloud CDNポイントオブプレゼンス (POP) にキャッシュできます。 多数のユーザーがOSSバケット内のオブジェクトに頻繁にアクセスする必要がある場合、ユーザーはCDN POPからオブジェクトを取得できます。 これにより、応答時間が短縮される。
前提条件
バケットが中国本土にある場合、バケットにマッピングするドメイン名について、産業情報技術省 (MIIT) からインターネットコンテンツプロバイダ (ICP) の申請書を取得します。 詳細については、「ICPファイリングとは」をご参照ください。
背景情報
Alibaba Cloud CDNと一緒にOSSを使用すると、CDNアウトバウンドトラフィック料金、オリジントラフィック料金、およびAPI操作呼び出し料金が課金されます。
高速化されたオブジェクトのアップロードや非静的オブジェクトの高速化されたダウンロードなどのシナリオでは、OSSの転送高速化機能を使用してデータ転送を高速化することを推奨します。 詳細については、「転送アクセラレーションの有効化」をご参照ください。
OSS コンソールの使用
カスタムドメイン名をバケットにマップします。
OSSコンソールにログインします。
左側のナビゲーションウィンドウで、バケットリスト をクリックします。 [バケット] ページで、目的のバケットを見つけてクリックします。
左側のナビゲーションウィンドウで、バケットの設定 > ドメイン名管理 を選択します。
ドメイン名管理 ページで、カスタムドメイン名のマッピング をクリックします。
カスタムドメイン名のマッピング パネルで、バケットにマップするドメイン名を ドメイン名 フィールドに入力します。
重要CNAMEレコードの追加を自動的にオンにしないでください。
ドメイン競合エラーが発生した場合、ドメイン名は別のバケットにマップされます。 この問題を解決するには、別のドメイン名をバケットにマップするか、ドメイン名の所有権を確認してドメイン名をバケットに強制的にマップします。 ドメイン名の所有権を確認してドメイン名をバケットに強制的にマッピングすると、ドメイン名と以前のバケットとの間のマッピングは削除されます。 詳細については、「カスタムドメイン名のマップ」をご参照ください。
提出する をクリックします。
CDNアクセラレーションを設定します。
ドメイン名リストで、管理するドメイン名のAlibaba Cloud CDN列で 設定されていない をクリックします。
[ドメイン名の追加] ページで、パラメーターを設定します。 下表に、各パラメーターを説明します。 詳細については、「ドメイン名の追加」をご参照ください。
[次へ] をクリックし、[ドメイン名一覧に戻る] をクリックします。
ドメイン名リストに、ドメイン名のCNAMEを記録します。
CNAMEレコードを追加します。
ドメイン名がAlibaba Cloudによってホストされていない場合は、DNSプロバイダーのドメインネームシステム (DNS) にCNAMEレコードを追加する必要があります。 Tencent Cloud (旧称DNSPod) またはXinnetにCNAMEレコードを追加する方法の詳細については、「ドメイン名にCNAMEレコードを追加する」をご参照ください。
この例では、Alibaba Cloud DNSを使用して、ドメイン名にCNAMEレコードを追加する方法を説明します。
Alibaba Cloud DNSコンソールにログインします。
左側のナビゲーションウィンドウで、[ドメイン名の解決] をクリックします。 [ドメイン名解決] ページで、CNAMEレコードを追加するドメイン名の [操作] 列で [DNS設定] をクリックします。
[DNS設定] タブで、[DNSレコードの追加] をクリックします。 [DNSレコードの追加] パネルで、パラメーターを設定します。 次の表にパラメーターを示します。
パラメーター
説明
レコードタイプ
追加するレコードのタイプ。 この例では、CNAMEが選択されています。
ホスト名
ドメイン名のプレフィックスに基づくホストレコード。
aliyun.com
などのルートドメインを追加するには、@ を入力します。サブドメイン名を追加するには、サブドメイン名のプレフィックスを入力します。 ドメイン名が
abc.aliyun.com
の場合は、abcを入力します。すべてのサブドメイン名をバケットのパブリックドメイン名にマップするには、* と入力します。
DNSリクエストソース
ドメイン名の解決に使用されるDNSライン。 システムが最適な行を選択できるようにするには、このパラメーターに [デフォルト] を選択することを推奨します。
レコード値
ステップ2で記録されたCNAME値を入力します。
TTL期間
レコードが更新される間隔。 デフォルト値を保持します。
[OK] をクリックします。
新しいCNAMEレコードがすぐに有効になります。 変更されたCNAMEレコードが有効になるまでに最大72時間かかります。
自動CDNキャッシュ更新を有効にします。
OSSコンソールで、[ドメイン名] ページに移動し、ドメイン名の [CDNキャッシュの自動更新] をオンにします。
特定の操作に対して自動CDNキャッシュ更新を設定する場合は、ドメイン名の [自動CDNキャッシュ更新] 列で [サポートされる操作] をクリックし、自動CDNキャッシュ更新をトリガーできる操作を選択します。 次の表に、サポートされる操作を示します。
操作
説明
PutObject
シンプルアップロードを使用してオブジェクトをアップロードします。 詳細は、「簡易アップロード」をご参照ください。
PostObject
フォームアップロードを使用してオブジェクトをアップロードします。 詳細は、「フォームアップロード」をご参照ください。
CopyObject
オブジェクトをコピーします。 詳細については、「オブジェクトのコピー」をご参照ください。
AppendObject
追加可能なオブジェクトにコンテンツを追加します。 詳細は、「アップロードの追加」をご参照ください。
CompleteMultipartUpload
マルチパートアップロードまたは再開可能アップロードを使用してオブジェクトをアップロードします。 詳しくは、「マルチパートアップロード」をご参照ください。
DeleteObject
オブジェクトを削除します。 詳細については、「オブジェクトの削除」をご参照ください。
DeleteObjects
複数のオブジェクトを削除します。 詳細については、「オブジェクトの削除」をご参照ください。
PutObjectACL
オブジェクトのアクセス制御リスト (ACL) を変更します。 詳細については、「オブジェクトACL」をご参照ください。
ライフサイクルルールに基づくオブジェクトまたはパーツの削除とストレージクラスの変換は、CDNキャッシュの自動更新機能をトリガーしなくなりました。 自動CDNキャッシュ更新を有効にする場合は、次の項目に注意してください。
CNAME/ObjectName
形式のURLを使用して、CDNキャッシュの更新データにアクセスできます。 ただし、画像処理 (IMG) やビデオスナップショットのパラメーターなど、リクエストパラメーターを含むURLを使用して、更新されたデータにアクセスすることはできません。 たとえば、高速化ドメイン名example.com
がバケットにマップされ、バケットのルートディレクトリ内のa.jpgオブジェクトが更新されます。example/a.jpg
を使用して、CDNキャッシュ上の更新されたオブジェクトにアクセスできます。example.com/a.jpg?x-oss-process=image/w_100
を使用すると、元のオブジェクトにアクセスできます。自動CDNキャッシュ更新機能を使用して開始されたデータ更新タスクは、失敗または遅延する可能性があります。
したがって、自動CDNキャッシュ更新機能を使用して、少数のオブジェクトのみを更新することを推奨します。 自動CDNキャッシュ更新機能を使用して多数のオブジェクトを更新する場合、トラフィックの抑制により一部の更新タスクが破棄されることがあります。
重要多数のオブジェクトまたはページを更新するには、RefreshObjectCaches操作を呼び出すことを推奨します。 詳細は、「RefreshObjectCaches」 をご参照ください。
よくある質問
自動CDNキャッシュ更新を無効にできますか。
はい、自動CDNキャッシュ更新を無効にできます。 手順:
[ドメイン名] ページで、ドメイン名の [自動CDNキャッシュ更新] 列の [サポートされている操作] をクリックします。
選択した操作をすべて削除します。
[OK] をクリックします。
バケットにマップされている高速化ドメイン名にアクセスしたときにAccessDeniedエラーが発生した場合はどうすればよいですか?
カスタムドメイン名をバケットにマッピングした後、カスタムドメイン名に特定のパスを追加して、特定のOSSリソースにアクセスできます。 例: http://example.com/test/1.jpg
。 http://example.com
などのカスタムドメイン名に直接アクセスすると、AccessDeniedエラーが発生します。
Alibaba Cloud CDNがドメイン名に設定された後、OSSコンソールの [ドメイン名] タブを更新したときに、Alibaba Cloud CDN列のドメイン名のステータスが設定済みと未設定の間で入れ替わる場合はどうすればよいですか。
ドメイン名のAlibaba Cloud CDNの設定を有効にするには、約10分かかります。 したがって、Alibaba Cloud CDNのステータスは、[ドメイン名] タブで変更される場合があります。 ドメイン名のCDNを設定してから10分待ってから、タブを更新してステータスを確認することをお勧めします。
Alibaba Cloud CDNを使用してOSSからオブジェクトを取得するときに、OSSから返されるエラー情報を非表示にするにはどうすればよいですか。
この問題を解決する方法の詳細については、「CDNを使用してOSSからオブジェクトを取得するときにOSSから返されるエラー情報を非表示にする方法」をご参照ください。
Alibaba Cloud CDNを使用してプライベートバケットからオブジェクトを取得するときに、バケットのデフォルトのホームページにアクセスできないのはなぜですか。
この問題の原因と解決策の詳細については、CDNを使用してプライベートバケットからオブジェクトを取得するときにバケットのデフォルトのホームページにアクセスできない理由をご参照ください。
参考資料
高速化ドメイン名を使用してHTTPS経由でOSSリソースにアクセスするには、OSSでSSL証明書をホストする必要があります。 詳細については、「ホストSSL証明書」をご参照ください。
Alibaba Cloud CDNが有効化されているときにクロスオリジンリソース共有 (CORS) を実装するには、Alibaba Cloud CDNコンソールでCORSルールを設定する必要があります。 詳細については、以下をご参照ください。 HTTPヘッダーを使用したCORSの設定
Alibaba Cloud CDNの有効化後にホットリンク保護を設定するには、Alibaba Cloud CDNコンソールでホットリンク保護を設定する必要があります。 詳細については、「リファラーホワイトリストまたはブラックリストを設定してホットリンク保護を有効化する」をご参照ください。