Cloudflareの役割とプラットフォームの仕組み
Cloudflareはクラウド接続企業です。そのグローバルプラットフォームは、ウェブサイト配信、セキュリティ、信頼性、ネットワーク、従業員のアクセス、アプリケーション開発のためのサービスを提供します。企業は、プラットフォーム全体を導入せずにCloudflareのサービスを1つだけ利用することもできます。
cloudflare.comはCloudflareの公式ウェブサイトです。製品、ドキュメント、サポート、会社、信頼性に関する情報を掲載しています。このウェブサイトを、プラットフォーム自体や、たまたまCloudflareを利用している顧客のウェブサイトと混同しないようにしてください。
Cloudflareの用途
Cloudflareは、インターネットインフラの複数の領域で機能します。単なるコンテンツ配信ネットワーク、DNSプロバイダー、DDoSサービスと呼ぶだけでは、プラットフォームの重要な部分が抜け落ちます。
ウェブサイトや組織は、Cloudflareを次の目的で利用することがあります。
- 権威DNSレコードを公開する
- 公開ウェブトラフィックをリバースプロキシ経由でルーティングする
- 対象となるコンテンツを訪問者に近い場所でキャッシュする
- 攻撃や不要なリクエストをフィルタリングする
- トラフィックを分散したり、ネットワークのルーティングを改善したりする
- 非公開アプリケーションへの従業員のアクセスを制御する
- アプリケーションコードを実行してデータを保存する
- 大規模なネットワークやインターネット接続を保護する
これらは利用可能な用途であり、すべての顧客に対して自動的に有効になる機能ではありません。所有者が、ドメイン、アプリケーション、ユーザーグループ、ネットワークごとに製品と設定を選択します。
リバースプロキシの仕組み
プロキシされたウェブサイトでは、簡略化するとリクエストは次の経路をたどります。
- 訪問者がページをリクエストします。
- DNSがCloudflareのネットワークに関連付けられたアドレスを返します。
- ブラウザーはオリジンサーバーに直接接続せず、Cloudflareに接続します。
- Cloudflareが、そのトラフィックに設定されたサービスを適用します。
- Cloudflareが自身で提供できないレスポンスを必要とする場合、オリジンに接続します。
- レスポンスはCloudflareを経由して訪問者に返されます。
この構成は、プロキシがオリジンアプリケーションに代わってリクエストを受信するため、リバースプロキシと呼ばれます。これによりCloudflareは、HTTPSの終端、セキュリティルールの適用、キャッシュされたコンテンツの配信など、トラフィック経路上で処理を実行できます。
この仕組みだけでは、すべてのレスポンスがキャッシュされたことや、すべてのセキュリティ製品によって検査されたことは証明できません。また、別のアドレスからオリジンに到達できないことも証明しません。これらの結果は顧客の設定によって異なります。
Cloudflareは共有IPアドレスとAnycastルーティングを使用します。Anycastでは、同じアドレス範囲を多数のネットワーク拠点から広報できるため、トラフィックは近くのCloudflare拠点に到達できます。したがって、Cloudflareのアドレスが示すのは公開ネットワークの経路です。通常、顧客のオリジンホストを示すものではありません。
DNSのみのレコードとプロキシされたレコード
Cloudflareは、ウェブサイトのトラフィックをプロキシせずに権威DNSを提供できます。「Cloudflareを使用している」という表現に文脈が必要なのは、このためです。
| 設定 | 起こること | 証明されないこと |
|---|---|---|
| DNSのみ | Cloudflareが、ドメイン所有者によって設定された宛先をDNSの応答として返す | 通常のウェブトラフィックがCloudflareのHTTPプロキシを自動的に通過するわけではない |
| プロキシ済み | DNSがCloudflareのアドレスを返し、対応するトラフィックが最初にCloudflareへ到達する | すべてのレスポンスが自動的にキャッシュされるわけではなく、すべてのオプション製品が自動的に有効になるわけでもない |
| 独立したプラットフォーム製品 | 顧客が、そのサービス固有のアーキテクチャに従って利用する | Cloudflareのその他の製品群も必ず使用されているとは限らない |
1つのドメインで、これらの方式を組み合わせることができます。メインのウェブサイトをプロキシし、メールレコードはDNSのみのままにして、別のアプリケーションを開発者向けプラットフォームで実行することもできます。
プラットフォームの主要な構成要素
Cloudflareは、異なる役割を中心に製品を分類しています。この区分によって、プラットフォームを1つの巨大なスイッチとして扱わずに説明できます。
アプリケーションのパフォーマンスとセキュリティ
これらのサービスは、公開ウェブサイト、API、アプリケーションで機能します。DNS、コンテンツ配信、負荷分散、HTTPS、DDoS防御、ウェブアプリケーションファイアウォールの制御、レート制限、ボット制御、および関連製品が含まれます。
各製品は異なる問題に対応します。ドメインがプロキシされていても、ウェブアプリケーションファイアウォール、ボット製品、カスタムレート制限が有効であることを自動的に証明するものではありません。サイト所有者は、アプリケーションにとって重要な制御を設定し、テストする必要があります。
Zero TrustとSASE
Cloudflareは、従業員、デバイス、ネットワークが非公開アプリケーション、公開インターネット、ソフトウェアサービスへアクセスする方法を制御するサービスも提供しています。この領域は一般に、Zero Trust、セキュリティサービスエッジ、SASEなどの用語で説明されます。
これは、公開ウェブサイトをリバースプロキシの背後に配置することとは異なります。企業は公開サイトを開発者向けプラットフォームでホストせずに従業員を保護でき、従業員向けアクセス製品を利用せずにウェブサイトをプロキシすることもできます。
ネットワークサービス
一部の製品は、ウェブアプリケーション層だけでなく、より広範なネットワーク層で動作します。ネットワークを保護または接続し、トラフィックをルーティングしたり、通常のブラウザーリクエスト以外のプロトコルをサポートしたりできます。
このため、1つのトラフィック図ですべてのCloudflareサービスを説明することはできません。プロキシされたウェブリクエスト、非公開アプリケーションを利用する従業員、IPネットワークを保護する組織では、それぞれ異なる経路をたどります。
開発者向けプラットフォーム
Cloudflareの開発者向けプラットフォームでは、チームがそのネットワーク上でコードを実行し、マネージドデータサービスを利用できます。一般的な構成要素には次のものがあります。
| 製品 | 平易な表現での役割 |
|---|---|
| Workers | そのコード用の従来型サーバーを管理せずにアプリケーションコードを実行する |
| D1 | マネージドSQLストレージを提供する |
| R2 | ファイルやその他のオブジェクトを保存する |
| KV | キーで指定される値を保存する |
| Durable Objects | 状態と協調型コンピューティングを組み合わせる |
| Queues and Workflows | バックグラウンドメッセージと複数ステップのジョブを支援する |
これらの製品は組み合わせて使用できますが、互いに置き換えられるものではありません。リレーショナルアプリケーションにはSQLが必要な場合があり、画像ライブラリにはオブジェクトストレージが必要な場合があり、共同作業セッションには協調管理された状態が必要な場合があります。
これらのサービスが存在するからといって、Cloudflareの背後にあるすべてのサイトがWorkersで構築されている、またはD1にデータを保存しているわけではありません。多くの顧客はアプリケーションを別のホストに置き、その前段でのみCloudflareを使用しています。
Cloudflareはホスティングプロバイダーですか?
開発者向け製品を通じてアプリケーションコードやデータをホストできますが、CloudflareのIPアドレスだけでは、サイトのオリジンがどこで稼働しているかは分かりません。
リバースプロキシ構成では、訪問者から見えるのはプロキシの公開アドレスです。オリジンは非公開データセンター内にある場合も、別のクラウドまたはホスティングプロバイダーにある場合もあります。共有プロキシアドレスは、基本的な検索からその詳細を意図的に隠します。
より正確な表現を使用してください。
- プロキシの証拠によって裏付けられる場合は、「サイトの公開トラフィックはCloudflareを通過する」。
- ネームサーバーの証拠によって裏付けられる場合は、「ドメインはCloudflareの権威DNSを使用している」。
- 直接的な証拠によってその結論が裏付けられる場合に限り、「アプリケーションはWorkers上で動作している」。
Cloudflareはすべてのページをキャッシュしますか?
いいえ。Cloudflareはキャッシュとコンテンツ配信の制御機能を提供していますが、実際の動作はリクエスト、レスポンス、キャッシュルール、製品、顧客の設定によって異なります。
動的またはパーソナライズされたレスポンスは、共有キャッシュに適さない場合があります。顧客は、選択したパスでキャッシュを迂回したり、対象コンテンツの保存期間を変更したりできます。したがって、Cloudflareからのレスポンスが1つ確認されても、サイト全体のキャッシュポリシーは確定できません。
セキュリティについても、同じ注意が必要です。Cloudflareは多くの制御機能を提供していますが、そのネットワークを利用しているだけでは、すべてのオプションが購入済み、有効、または正しく設定されていることは証明できません。
プライバシー、セキュリティ、運用上のトレードオフ
Cloudflareがリバースプロキシとして機能する場合、トラフィックはオリジンに到達する前にCloudflareのネットワークへ到達します。この位置関係によってパフォーマンス機能とセキュリティ機能が可能になる一方、データ処理とアクセス制御も重要な評価項目になります。
Cloudflareは、データ保護、セキュリティ、コンプライアンスに関する最新情報を掲載したプライバシーポリシーとトラストハブを公開しています。サイト所有者は、使用を予定している製品と地域について、これらの文書を確認する必要があります。
サイト所有者にも引き続き責任があります。Cloudflareを使用しても、アプリケーションコードが正しくなり、権限が限定され、データ収集が必要なものだけになり、オリジンが初期状態で安全になるわけではありません。チームは次の点を確認する必要があります。
- どのレコードとアプリケーションがプロキシされているか
- どのリクエストデータとレスポンスデータがサービスを通過するか
- オリジンが意図しない直接トラフィックを受け入れるか
- 証明書、シークレット、管理者アクセスがどのように管理されているか
- どのセキュリティルールが有効で、テストされているか
- ログがどのように保持され、誰がアクセスできるか
- 設定エラーやサービス障害の際に何が起こるか
階層化されたサービスはリスクを軽減できる一方で、運用上の依存先にもなり得ます。チームには、アプリケーションに適した変更管理、監視、バックアップ、復旧計画が必要です。
Cloudflareの評価方法
製品一覧ではなく、解決すべき問題から始めてください。小規模なウェブサイト、社内アプリケーション、グローバルネットワーク、サーバーレスワークロードでは、要件が異なります。
次の点を確認してください。
- 権威DNS、プロキシ、またはその両方が必要か?
- Cloudflareで処理すべきホスト名とトラフィックの種類は何か?
- 解決しようとしているパフォーマンス上またはセキュリティ上の問題は何か?
- 対象は公開アプリケーション、従業員のアクセス、それともネットワークか?
- ワークロードはWorkersと利用可能なデータサービスに適合するか?
- サービスはどのような情報を処理するか?
- 予定しているプランには、どの機能、制限、サポートオプションが適用されるか?
- 変更をどのようにテストし、ミスからどのように復旧するか?
次に、実際の利用状況を反映した試用環境を構築します。実際のページとリクエストを測定し、キャッシュとセキュリティの動作をテストし、オリジンへの経路を検証して、最終的な設定を文書化します。プランや機能は変わるため、一般的なチェックリストよりも最新の製品ドキュメントのほうが信頼できます。
Cloudflareは、幅広い接続プラットフォームとして理解するのが最適です。権威DNSのような1つの明確なニーズに対応することも、アプリケーションとネットワークにまたがる複数のサービスを組み合わせることもできます。顧客についての正しい説明は、Cloudflareが提供する全製品の一覧ではなく、その顧客が実際に設定した内容によって決まります。
応答の成功は安全性を保証しません。測定値は特定時点の観測結果です。
