Tiered Cache は、Cloudflare ネットワークの規模を活かしてキャッシュヒット率を大きく上げ、お客様のオリジンへのリクエストを減らします。世界各地のデータセンターにより、Cloudflare はエンドユーザーのすぐ近くでコンテンツをキャッシュします。ただし、コンテンツがキャッシュにない場合、Cloudflare のエッジデータセンターはキャッシュ可能なコンテンツを受け取るためにオリジンサーバーへ問い合わせる必要があります。
Tiered Cache は、Cloudflare のデータセンターを下位ティアと上位ティアの階層に分けます。コンテンツが下位ティア(一般に訪問者に最も近いデータセンター)にない場合、下位ティアは上位ティアにコンテンツの有無を確認します。上位ティアにもない場合、オリジンへ問い合わせられるのは上位ティアだけです。オリジンへ問い合わせられるデータセンターの数を制限することで帯域の効率が上がり、オリジン負荷が減り、サイトの運用コストも抑えやすくなります。
さらに、Tiered Cache はオリジンサーバーへの接続を少数のデータセンターに集約します。ネットワーク上のすべての拠点から接続するのではなく、開いている接続数を減らし、サーバー資源の消費を抑えます。
Tiered Cache を有効にする手順は Enable Tiered Cache を参照してください。
Cloudflare ではキャッシュのトポロジーを選べます。オリジンと Cloudflare データセンターの接続方法を制御できます。キャッシュヒット率の向上、オリジン接続の削減、インターネット遅延の低減につながります。利用できるオプションは次のとおりです。
Smart Tiered Cache は、設定不要で、Cloudflare 独自のパフォーマンスとルーティングデータを使い、各ウェブサイトのオリジンに対して最も近い上位ティアを 1 つ動的に選びます。Cloudflare はオリジンへの各リクエストのレイテンシデータを収集し、そのデータで各上位ティアデータセンターとオリジンの接続品質を判定します。その結果、オリジンへのレイテンシが最も低いデータセンターを、そのオリジンの上位ティアとして選べます。
パブリッククラウドプロバイダー(AWS、GCP、Azure、Oracle Cloud)上のオリジンは、anycast ↗ またはリージョナルユニキャストネットワーキングを使うことが多く、レイテンシプローブだけではオリジンの所在地を特定できません。これを解決するには、cloud region hint(クラウドリージョンヒント)を設定し、Smart Tiered Cache にオリジンのクラウドプロバイダーとリージョンを伝えます。Smart Tiered Cache は、そのクラウドリージョンに近いプライマリ上位ティアデータセンターと、耐障害性のための別拠点のフォールバックを選びます。クラウドリージョンヒントの設定手順は、クラウドリージョンヒントを設定する を参照してください。
Smart Tiered Cache はオリジンごとに上位ティアを 1 つ選びます。一方、Load Balancing を使っている場合は、Load Balancing Pool 全体に対して最適な上位ティアを 1 つ選びます。
Smart Tiered Cache が有効な状態でオリジンの IP や DNS レコードを更新するときは注意してください。変更内容によっては、割り当て済みの上位ティアが変わり、新しい上位ティアでキャッシュが再充填されるあいだ MISS 率が上がることがあります。オリジンを anycast 背後のネットワークへ切り替えると、クラウドリージョンヒント を設定しない限り、Smart Tiered Cache の効果は大きく低下します。
Generic Global トポロジーでは、Cloudflare の全世界データセンターが上位ティアのネットワークとして機能します。遠方の訪問者に対するロングテール遅延の削減に役立つことがあります。
Regional Tiered Cache は、グローバルにトラフィックがあるお客様向けの追加のキャッシュ層です。下位ティアでキャッシュ MISS が発生し、遠くのデータセンターにある上位ティアへ取りに行くときのネットワーク遅延を避け、コンテンツをより速く配信できます。
Regional Tiered Cache を使うと、Cloudflare はリージョン外にある可能性がある上位ティアへ進む前に、下位ティアの近くにあるリージョンハブデータセンターを確認します。
上位ティアが 1 つまたは 2 つのリージョンにある Smart および Custom Tiered Cache トポロジーでは、性能改善に役立つことがあります。Generic Global Tiered Cache のように多くのリージョンに多数の上位ティアがある場合、Regional Tiered Cache の効果は限定的です。
Custom Tiered Cache では、Enterprise のお客様がアカウントチームと協力し、要件に合わせたカスタムトポロジーを設定できます。近い上位ティアが欲しい場合や、トラフィックパターンが特殊な場合などです。カスタムトポロジーが必要な場合は、アカウントチームにお問い合わせください。
| Free | Pro | Business | Enterprise | |
|---|---|---|---|---|
| Tiered Cache | あり | あり | あり | あり |
| Smart Topology | あり | あり | あり | あり |
| Generic Global Topology | なし | なし | なし | あり |
| Regional Tiered Cache | なし | なし | なし | あり |
| Custom Topology | なし | なし | なし | あり |
Enterprise のお客様は、Tiered Cache で Bandwidth Alliance の設定を上書きできます。それ以外のユーザーでは、Bandwidth Alliance が優先されます。Bandwidth Alliance が使えない場面もあるため、Tiered Cache を有効にしておく価値はあります。その場合は Tiered Cache の設定が使われます。
Tiered Cache はダッシュボードまたは API で有効にできます。
-
Cloudflare ダッシュボードで Tiered Cache ページを開きます。
Tiered Cache を開く ↗ -
Tiered Cache のボタンを enabled に切り替えます。
-
Tiered Cache Topology で、オリジンと Cloudflare データセンターの接続方法を制御できます。次から選べます。
- Upper Tier Cache - Smart または Generic Global Tiered Cache Topology を選べます。
- Middle Tier Cache - Smart または Custom Tiered Cache Topology を選んでいる場合、Regional Tiered Cache を有効にできます。
- Custom Tiered Cache - Cloudflare のサポートチームと協力し、要件に合わせたカスタムトポロジーを設定できます。
- Disable Tiered Cache。
API で Tiered Cache を有効にするには、次の cURL の例を使います。
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/argo/tiered_caching" \
--request PATCH \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"value": "on"
}'Tiered Cache Topology も API で設定できます。例:
Smart Tiered Cache を有効にする
Required API token permissions
At least one of the following token permissions is required:Zone Settings WriteZone Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/cache/tiered_cache_smart_topology_enable" \
--request PATCH \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"value": "on"
}'Regional Tiered Cache を有効にする
Required API token permissions
At least one of the following token permissions is required:Zone Settings WriteZone Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/cache/regional_tiered_cache" \
--request PATCH \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"value": "on"
}'Tiered Cache の API 例と設定オプションの詳細は、API ドキュメント を参照してください。
オリジンがパブリッククラウドプロバイダー上にある場合は、クラウドリージョンヒントを設定してください。Smart Tiered Cache が、そのクラウドリージョンに最適な上位ティアを選べます。背景は Public cloud origins を参照してください。
クラウドリージョンヒントは、すべてのプラン(Free、Pro、Business、Enterprise)で追加料金なしで利用できます。対応プロバイダーは AWS、GCP、Azure、Oracle Cloud です。
-
Caching > Tiered Cache > Origin Configuration を開きます。
Tiered Cache を開く ↗ -
オリジンの IP またはホスト名を見つけ、Set Region Hint を選択します。
-
クラウドプロバイダーとリージョンを選びます(例:
aws:us-east-1またはgcp:europe-west1)。
利用できるクラウドプロバイダーとリージョンを確認するには、supported regions エンドポイントを使います。
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/cache/origin_cloud_regions/supported_regions" \
--request GET \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/cache/origin_cloud_regions" \
--request PATCH \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"ip": "203.0.113.1",
"vendor": "aws",
"region": "us-east-1"
}'