見出し画像

Tencent Cloud CDN に移行する際によくあるご質問

こんにちは!株式会社メテリクスです。

前回のエントリでは、Amazon S3との連携について書きました。今回は、他のCDNベンダーからTencent Cloud CDN (Content Delivery Network)に移行するお客様からよく聞かれる基本的な設定に関する質問を取り上げてみたいと思います。

SSL証明書

CDN SSL証明書は、以下の2つのパターンで設定することができます。

  • External certificate (既にお持ちの証明書をアップロードしてデプロイ)

  • Managed certificate (Tencent Cloud SSLサービスによる購入と管理)

無償のSSL証明書

Managed certificate から TrustAsia の Single Domain name が無償で利用できます。WebU/Iで完結するので設定はとっても簡単です。

TrustAsia の Free

SSL Certificate Service から、Apply for Free certificate で証明書を発行し、
https://console.intl.cloud.tencent.com/ssl

次に Certificate Management から、Domain name list > Configure Certificate を選択して完了です。

SSL証明書の設定方法については、以下のドキュメントをご参照ください。
https://intl.cloud.tencent.com/jp/document/product/228/35213

SSL証明書の種類

以下は、公式ドキュメントの機械翻訳ですが、4種類あります。

■ Single-domain SSL certificate (シングルドメインSSL証明書)
1つのドメイン名のみをバインドすることができます。これは、example.domain.comのような第2レベルドメイン名、example.example.comのような第3レベルドメイン名、またはdomain.comなどの第1レベルドメイン名にすることができます。ただし、第1レベルドメイン名の下にあるすべてのサブドメインはサポートされていません。最大100レベルのドメイン名に対応可能です。

■ Multi-domain SSL certificate (マルチドメインSSL証明書)
1つの証明書を複数のドメイン名にバインドすることができます。ただし、Tencent Cloudの公式ウェブサイトに記載されているサポートされるドメイン名の最大数は、この限りではありません。

■ Wildcard SSL certificate (ワイルドカードSSL証明書)
*.domain.comや*.example.domain.comなどのワイルドカードドメイン名を1つだけバインドできます(最大100レベルまで)。*.*.domain.comのようなマルチワイルドカードドメイン名はサポートされていません。

■ Multi-domain wildcard SSL certificate (マルチドメインワイルドカードSSL証明書)
*.domain.comや*.example.domain.com(最大100レベル)など、1つのワイルドカードのみを持つ複数のワイルドカードドメイン名をバインドすることが可能です。*.*.domain.comのようなマルチワイルドカードドメイン名はサポートされていません。

https://intl.cloud.tencent.com/jp/document/product/1007/30945

詳細については公式ドキュメントの「CDN Pricing」を参考
https://intl.cloud.tencent.com/jp/document/product/1007/30945

キャッシュ設定

パス毎のキャッシュとTTL設定

Domain Management の Cache Configuration から、キャッシュルールの設定ができます。

CDN キャッシュルール設定

詳細については公式ドキュメントの「キャッシュキールール設定」を参考
https://intl.cloud.tencent.com/jp/document/product/228/35316

Range リクエスト

Tencent Cloud CDN がリソースをキャッシュする際、ストレージの効率化のためにファイルをシャーディングして別々に保存するRangeリクエストにも対応しています。例えば動画などの大容量ファイルを配信する際に、配信効率が上がり、レスポンスタイムが向上し、オリジンサーバーの負荷が軽減される効果があります。

Domain Management の Origin-pull Configuration の Range GETs Configuration を有効にします。

Range リクエスト設定

詳細については公式ドキュメントの「Back-to-Origin of Range 設定」を参考
https://intl.cloud.tencent.com/jp/document/product/228/7184

キャッシュヒット率を高める

キャッシュのヒット率を上げて、オリジンの負荷を軽減することは重要です。CDN各社の仕組みには様々な工夫がありますが、Tencent Cloud のキャッシュヒット率は 96%程度(条件による)と言われており、新規コンテンツをアップロードした際に Cache Prefetch を利用することでさらに数値を上げることができます。

Purge and Pre-warm の Prefetch URL からパス(http/https~)を指定して実行することができます。

キャッシュプリフェッチ

詳細については公式ドキュメントの「キャッシュプリフェッチ」を参考
https://intl.cloud.tencent.com/jp/document/product/228/39000

キャッシュキールール設定

Tencent Cloud CDNは、キャッシュする際にKey-Value形式を使ってリソースをマッピングします。Keyはキャッシュキーで、キャッシュされたリソースの一意な識別子です。キャッシュキーのルールは、コンテンツのファイルタイプごとに[フィルタリングパラメータ]と[大文字小文字を区別しない]機能を設定し、キャッシュキーを最適化するように設定することができます。

フィルタリングパラメータ

バージョン指定

ユーザーがURLを介してリソースにアクセスする場合、以下のリンクを使用して2つの異なる画像を表示するなど、いくつかの特別なパラメータを使用する場合があります。
http://cloud.tencent.com/1.jpg?version=1
http://cloud.tencent.com/1.jpg?version=2
このシナリオでは[フィルタリングパラメータ]機能を無効にする必要があり、完全なURLをキャッシュキーとして画像の内容をそれぞれキャッシュし、リソースを区別します。

https://intl.cloud.tencent.com/jp/document/product/228/35316

動画などのタイムスタンプ認証

オーディオ・ビデオのシナリオで、タイムスタンプ署名パラメータを使用し、アクセス認証を行う場合:
http://cloud.tencent.com/1.mp4?sign=XXXXXX
このシナリオでは[フィルタリングパラメータ]機能を有効にする必要があります。「?」の前のリンクhttp://cloud.tencent.com/1.mp4をキャッシュキーとします。ノードは1つのリソースのみをキャッシュし、タイムスタンプ署名が絶えず変化している場合でも、署名認証を介してキャッシュに直接ヒットすることができます。

https://intl.cloud.tencent.com/jp/document/product/228/35316

詳細については公式ドキュメントの「キャッシュキールール設定」を参考
https://intl.cloud.tencent.com/jp/document/product/228/35316

バージョン管理

2022/8/15 現在カナリアリリース中ですが、1つのドメイン名のバージョン管理をサポートしています。1つのverは1つのドメイン名の構成に対応し、1つのドメイン名に対して異なるverを展開することが可能です。本番環境とステージング環境の2つのデプロイメントをサポートします。

バージョン管理

詳細については公式ドキュメントの「バージョン管理」を参考
https://intl.cloud.tencent.com/jp/document/product/228/40506?has_map=1&lang=jp&pg=

まとめ

いかがだったでしょうか? Tencent Cloud CDN への切り替え時によくあるお問い合わせをピックアップして記載しました。こちらのエントリを参考に、まずは PoC を試してみてはいかがでしょうか?ぜひ Tencet Cloud CDN をご利用いただければと思います。