Content Delivery Network(CDN)を使用してCloud Object Storage(COS)のアクセラレーションを行うことで、バケット内のコンテンツを広範囲にダウンロード、配信することができます。特に、同一のコンテンツを繰り返しダウンロードするユースケースに適しています。back-to-origin認証機能を使用すると、CDNを使用したプライベート読み取りバケット内のコンテンツのアクセラレーションを実現できます。CDN認証機能を使用すると、コンテンツを正当なユーザーにのみダウンロード可能とすることができ、ダウンロードを開放することに伴うデータセキュリティおよびトラフィックコストなどの問題を防ぐことができます。
説明:CDNアクセラレーションドメイン名を有効にした場合、CDNアクセラレーションドメイン名を使用してデータのダウンロードやアクセスを行うと、CDN back-to-originラフィックとCDNトラフィックが発生します。詳しくは、COSをCDNオリジンサーバーとした場合発生するトラフィックをご参照ください。
CDNは既存のInternet上に追加された新しいネットワークアーキテクチャのレイヤーであり、世界各国に分布する高性能なアクセラレーションノードで構成されます。これらの高性能なサービスノードは一定のキャッシュポリシーに従ってお客様の業務コンテンツを保存しており、お客様のユーザーがある業務コンテンツをリクエストすると、リクエストがユーザーから最も近いサービスノードにスケジューリングされ、サービスノードから直接迅速にレスポンスすることで、ユーザーのアクセス遅延を効果的に低減し、可用性を向上させます。
CDNはキャッシュおよびback-to-origin行為を行います。すなわち、ユーザーがあるURLにアクセスしたとき、エッジノードに解決されてもレスポンスを必要とするキャッシュコンテンツにヒットしなかった場合、またはキャッシュが期限切れの場合は、オリジンサーバーに戻ってレスポンスを必要とするコンテンツを取得するものです。
アクセスノードとはユーザーがバケットを作成する際、バケットのリージョンおよび名称に基づいて、システムが自動的にバケットに割り当てるアクセスドメイン名であり、このドメイン名によってバケット内のデータにアクセスすることができます。
静的ウェブサイト機能を有効にすると、静的ウェブサイトのアクセスノードを1つ追加で取得でき、それはデフォルトのアクセスノードとは性質の異なる、特殊な設定のレスポンス内容を表示するために用いられます。
ユーザーはカスタムCDNアクセラレーションドメイン名によって、COSへのアクセラレーションアクセスを行うことができます。ユーザーは初めにICP登録済みのカスタムドメイン名をご自身で準備し、オリジンサーバーをCOSバケットに指定することで、カスタムCDNアクセラレーションドメイン名を使用したバケット内のオブジェクトに対するアクセラレーションアクセスを実現できます。
説明:Tencent Cloud CDNのアクセラレーションドメイン名はデフォルトではIPアドレスを提供しません。ドメイン名の解決状況を確認したい場合は、digコマンドを使用して照会することができます。
バケットをパブリックアクセス許可に設定すると、CDN back-to-originをCOSアクセスノードに設定した場合、back-to-origin認証を有効にしなくても、CDNエッジノードがバケット内のオブジェクトデータを取得してキャッシュすることが可能です。
CDNコンソールで認証設定を有効にして、バケット内のデータを限定的に保護することも引き続き可能です。CDNのこの機能を有効にしているかどうかにかかわらず、バケットのアクセスドメイン名を知っているユーザーはバケット内のすべてのオブジェクトにアクセス可能なためです。CDN認証設定の違いによる、ドメイン名のパブリック読み取りバケットに対するアクセス機能の違いについては次の表をご参照ください。
CDN認証設定 | CDNアクセラレーションドメイン名アクセス | COSドメイン名アクセス | 一般的なケース |
---|---|---|---|
無効(デフォルト) | アクセス可 | アクセス可 | 全サーバーでパブリックアクセス許可、CDNとオリジンサーバーどちらからのアクセスも可 |
有効 | URLを使用した認証が必要 | アクセス可 | CDNアクセスに対してはリンク不正アクセス防止が有効、ただしオリジンサーバーアクセスは保護されないため非推奨 |
バケットがデフォルトのプライベート読み取りである場合、CDN back-to-originをCOSアクセスノードに設定すると、CDNエッジノードはデータの取得とキャッシュが一切できなくなります。このため、CDNサービスIDをバケットアクセスポリシー(Bucket Policy)に追加するとともに、そのIDによる次の操作の実行を許可する必要があります。
CDNコンソールとCOSコンソールはいずれもワンクリックでの権限承認機能をご提供しています。CDNサービス権限承認の追加をクリックすれば完了です。この操作の完了後、back-to-origin認証オプションを有効にする必要があります。これでCDNエッジがこのサービスIDを使用してCOS内のデータにアクセスできるようになります。
注意:
- バケットがプライベート読み取りに設定されている場合は、必ず権限承認を追加し、back-to-origin認証を有効にしてください。これを行わなければCOSはアクセスを拒否します。
- CDNエッジは各ルートアカウントにつき、1つのサービスアカウントを生成します。このため、アカウントの権限承認はアクセラレーションドメイン名が所属するルートアカウントに対してのみ有効であり、異なるアカウント間でバインドしたアクセラレーションドメイン名はアクセスが拒否されます。
CDNサービス権限承認を追加し、back-to-origin認証を有効にすると、CDNエッジノードはデータを直接取得およびキャッシュできるようになります。このため、プライベートデータの保護が必要な場合は、認証設定を有効にして、バケット内のデータを保護することを強く推奨します。CDN認証設定の違いによる、ドメイン名のプライベート読み取りバケットに対するアクセス機能の違いについては次の表をご覧ください。
CDN認証設定 | CDNアクセラレーションドメイン名アクセス | COSドメイン名アクセス | 一般的なケース |
---|---|---|---|
無効(デフォルト) | アクセス可 | COSを使用した認証が必要 | CDNドメイン名に直接アクセス可能、オリジンサーバーデータ保護 |
有効 | URLを使用した認証が必要 | COSを使用した認証が必要 | 全リンクのアクセスを保護、CDN認証リンク不正アクセス防止をサポート |
この記事はお役に立ちましたか?