Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

Cloudflare DNS の仕組み

最終更新 Markdown で表示Agent セットアップ

Web サイトや Web アプリケーションを最適化するため、Cloudflare は DNSCDN を提供し、ドメインとの間の Web トラフィックを リバースプロキシ します。

DNS の概要

ドメインネームシステム(DNS)はインターネットの電話帳です。cloudflare.com のようなドメイン名を、103.21.244.0 のような数値のインターネットプロトコル(IP)アドレスに変換します。

IP アドレスは Web サイトの所在地のようなもので、ドメイン名は人が読める名前です。

DNS クエリは行き先を尋ねることに似ており、DNS レコードは「何がどこにあるか」の正式な情報源です。DNS レコードは権威 DNS サーバー にあり、そのドメインの Web コンテンツやサービスをホストするサーバーの IP アドレス などを提供します。この情報で、インターネットブラウザーは Web サイトやアプリの場所を知り、HTTP で訪問者に表示できます。

DNS プロバイダーとしての Cloudflare

Web サイトやアプリケーションを Cloudflare にオンボードすると、Cloudflare がそのドメインのプライマリ権威 DNS プロバイダーになります。プライマリ権威 DNS プロバイダーとして、Cloudflare はドメインの DNS クエリに応答します。ドメインの DNS レコードは、Cloudflare ダッシュボードまたは API で管理します。

ドメインのステータス がアクティブで、問い合わせた DNS レコードが proxied の場合、Cloudflare は DNS テーブルに定義したオリジン IP アドレスではなく、エニーキャスト IP アドレス を返します。

ドメインのステータスは、ネームサーバーを更新 して Cloudflare を指し、認証されるとアクティブになります。プロキシステータス は、特定の DNS レコードへのクエリを Cloudflare がどう扱うかを決めます。エニーキャスト IP アドレス は、トラフィックを Cloudflare のネットワークに分散するために使います。これにより、サイト速度を最適化しつつ、Web サイトやアプリを DDoS などの攻撃から保護します。

リバースプロキシとしての Cloudflare

リバースプロキシは、Web サーバーの手前に置くサーバー群です。リクエストを Web サーバーに転送するか、Web サーバーの代わりに処理します。セキュリティ、パフォーマンス、信頼性を高めるために導入することが多いです。

Cloudflare がリバースプロキシのとき、リクエストがサーバーから Cloudflare を経由してオリジンサーバーに届く流れ。

Cloudflare がドメインの DNS クエリを受け取ると、応答は DNS テーブルの設定 で決まります。対象は レコードの種類、レコードの プロキシ対象かどうかプロキシステータス です。

DNS テーブルのレコードが proxied の場合、そのレコードの HTTP/HTTPS トラフィックは、クライアントとオリジンサーバーの間で Cloudflare を経由します。ドメインのステータスがアクティブなら、プロキシされた DNS レコードへの HTTP/HTTPS リクエストはすべて Cloudflare を通ります。

Cloudflare をリバースプロキシとして使う利点は次のとおりです。

  • ロードバランシング。リバースプロキシは、受信トラフィックを複数のサーバーに均等に分散し、1 台が過負荷になるのを防ぎます。サーバーが完全に停止しても、ほかのサーバーがトラフィックを引き継げます。
  • 攻撃からの保護。リバースプロキシがある場合、Web サイトやサービスはオリジンサーバーの IP アドレスを公開する必要がありません。攻撃者は DDoS などの標的型攻撃を仕掛けにくくなります。攻撃対象はリバースプロキシ(Cloudflare の CDN など)だけになり、より厳しいセキュリティと、サイバー攻撃を防ぐためのリソースを備えています。
  • キャッシュ。リバースプロキシはコンテンツをキャッシュでき、パフォーマンスが向上します。たとえば、パリのユーザーがロサンゼルスに Web サーバーがあるリバースプロキシ済みサイトにアクセスすると、パリのローカルなリバースプロキシサーバーに接続し、そこが LA のオリジンサーバーと通信します。プロキシサーバーは応答データをキャッシュ(一時保存)できます。その後パリから同じサイトを見るユーザーは、パリのリバースプロキシからローカルキャッシュを受け取るため、応答が大幅に速くなります。
  • SSL 暗号化。SSL/TLS は必須です。SSL/TLS 証明書がないと、訪問者のブラウザーにサイトやアプリケーションが安全でないという警告が出ます。一方、クライアントごとに SSL(または TLS)通信を暗号化・復号するのは、オリジンサーバーにとって計算コストが高いです。リバースプロキシですべての受信リクエストを復号し、すべての送信応答を暗号化すれば、オリジンサーバーの貴重なリソースを空けられます。

役に立ちましたか?