Skip to content

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

DNS レコードをプロキシする

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

DDoS 対策の最初のステップであり、多くの場合もっとも簡単なのは、DNS レコードを Cloudflare 経由で プロキシ することです。

仕組み

Cloudflare なしの場合

Cloudflare がない場合、アプリケーションの URL に対する DNS ルックアップは、オリジンサーバー の IP アドレスを返します。

URL 返される IP アドレス
example.com 192.0.2.1

Cloudflare を使っていても、プロキシしていない DNS レコード の場合、プロキシしていないドメインやサブドメインの DNS ルックアップもオリジンの IP アドレスを返します。

別の言い方をすると、訪問者はオリジンサーバーへ直接接続します。

        flowchart LR
        accTitle: Cloudflare なしの接続
        A[訪問者] <-- 接続 --> B[オリジンサーバー]

Cloudflare ありの場合

Cloudflare を使う場合、つまりドメインまたはサブドメインが プロキシ済み DNS レコード を使っている場合、アプリケーションの URL に対する DNS ルックアップは、元の DNS ターゲットではなく Cloudflare の anycast IP に解決されます。

URL 返される IP アドレス
example.com 104.16.77.250

プロキシ済みホスト名向けのリクエストは、まず Cloudflare へ向かい、その後オリジンサーバーへ転送されます。

        flowchart LR
        accTitle: Cloudflare ありの接続
        A[訪問者] <-- 接続 --> B[Cloudflare グローバルネットワーク] <-- 接続 --> C[オリジンサーバー]

Cloudflare はドメインへ特定の anycast IP を動的に割り当てます。これらの IP はいつでも変わることがあります。anycast ネットワークの通常の動作であり、上記のプロキシ動作には影響しません。

効果

DDoS 保護

トラフィックが Cloudflare 経由でプロキシされていると、Cloudflare は DDoS 攻撃 がアプリケーション(およびオリジンサーバー)に届く前に自動で止められます。

キャッシュ

プロキシされたトラフィックは、Cloudflare キャッシュ のデフォルト最適化も利用できます。Cloudflare は 特定の種類のリソース を自動でキャッシュします。アプリケーションのパフォーマンスが上がり、リクエスト総数も減ります。

オリジン IP アドレスを隠す

Cloudflare で DNS レコードをプロキシすると、オリジンサーバーの IP アドレスも隠れます。アプリケーションへのリクエストが Cloudflare の anycast IP アドレスに解決されるためです。

これにより、オリジンへ直接接続しにくくなり、結果としてオリジンを狙った DDoS 攻撃も仕掛けにくくなります。

手順

レコードをプロキシする前に、リクエストがブロックされないよう、オリジンで Cloudflare の IP アドレス を許可してください。

次に、Cloudflare の DNS レコード を更新し、Proxy statusProxied にします。

Proxy status は、特定の DNS レコード向けのトラフィックを Cloudflare がどう扱うかを決めます

役に立ちましたか?