Skip to content

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

Cloudflare WAN 経由でプライベートオリジンを設定する

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

このガイドでは、公開ホスト名をプライベートネットワーク上のオリジンへプロキシする手順を説明します。プライベートネットワークには、Cloudflare WAN(旧 Magic WAN)の IPsec トンネル経由で到達します。CDN、WAF、Cache、そのほかのプロキシ機能は、公開オリジン向けトラフィックと同じように、このトラフィックにも適用されます。

始める前に

開始前に、次を確認してください。

  • 有効な Cloudflare WAN サブスクリプション: この機能には、アカウントの Cloudflare WAN サブスクリプションが必要です。
  • アカウントでプライベートオリジンへのアクセスが有効: これは標準の権威 DNS アクセスとは別のエンタイトルメントです。アクセスを希望する場合は、Cloudflare のアカウントチームへ問い合わせてください。
  • IPsec トンネルが設定済み: 冗長化のため、異なる Cloudflare anycast エンドポイントを持つ anycast IPsec トンネルを 2 本設定します。トンネルエンドポイントの設定 を参照してください。このユースケースでは、次の 2 つの設定が重要です。
    • Automatic return routing は無効のままにします。リクエストがインターネットから発生し、Cloudflare のリバースプロキシ経由でオリジンへ到達する、公開からプライベートへのオリジン向けトラフィックパターンには適用されません。
    • デフォルトの Health check 設定(タイプ reply、方向 bidirectional、レート mid)を維持します。このユースケースでトンネルヘルスを正しく追跡するには、これらのデフォルトが必要です。
  • 静的ルートが設定済み: 到達したいプライベートプレフィックスに対し、トンネルごとに 1 本ずつ、優先度の異なる静的ルートを 2 本追加します。プライマリがダウンした場合にバックアップトンネルへフェイルオーバーします。たとえば、プライマリトンネル経由のルートに優先度 100、バックアップトンネル経由のルートに 101 を設定します(数値が小さいほど優先度が高いです)。ルートの設定 を参照してください。
  • Cloudflare Source IP をプライベートレンジに設定: Cloudflare Source IP は、プロキシしたリクエストをプライベートネットワークへ送るときに Cloudflare が使う IP です。公開レンジのままにすると、ネットワークはリターントラフィックをトンネル経由で戻せないため、リクエストはタイムアウトします。Cloudflare source IP の設定 を参照してください。

1. Cloudflare Source IP の割り当てを確認する

Cloudflare Source IP の設定ミスは、失敗の最も多い原因です。Source IP が公開レンジのままだと、オリジンがあるネットワークにリターンルートがなく、リクエストはアプリケーションへ到達する前にタイムアウトします。

Cloudflare source IP の設定 を開き、Source IP が 100.64.0.0/12(デフォルト)や、選択した別のプライベート /12 など、プライベートレンジになっていることを確認します。

2. プライベートネットワークルーティング付きの DNS レコードを作成する

オリジンのプライベート IP アドレスを指す A または AAAA レコードを作成し、プロキシステータスを有効にして Use private network routing をオンにします。これにより、そのホスト名のトラフィックは公開インターネットではなく、Cloudflare WAN トンネル経由で送られます。

ダッシュボードと API の手順は、プライベートネットワークルーティング を参照してください。

3. エンドツーエンドの接続を確認する

DNS レコードを置いたあと、Cloudflare ネットワークからトンネル経由でオリジンへ至る経路を検証します。

トンネルヘルスを確認する

Cloudflare ダッシュボードで、IPsec トンネルが健全であることを確認します。ダッシュボードでトンネルヘルスを確認する を参照してください。

外部クライアントからリクエストを送る

プライベートネットワークの外にあるマシンから、プロキシ済みホスト名へ HTTPS リクエストを送ります。

curl -v https://<YOUR_DOMAIN>/

成功した応答は、Cloudflare がリクエストを受け付け、プロキシ機能を適用し、トンネル経由でオリジンへ到達したことを示します。

オリジンでトラフィックを確認する

オリジンの VM で、リクエストが Cloudflare Source IP レンジから届いていることを確認します。たとえば、ポート 443100.64.0.0/12 からの受信トラフィックを監視します。

sudo tcpdump -n -i any 'src net 100.64.0.0/12 and dst port 443'

100.64.0.0/12 は、アカウントに設定した Source IP レンジに置き換え、ポートはオリジンのリスナーに合わせて調整します。

よくある落とし穴

症状 原因と対処
クライアントからの接続タイムアウト Cloudflare Source IP が公開レンジになっています。プライベート /12 に設定します。
リクエストがタイムアウトし、オリジンに応答がない オリジンがあるネットワークに、Cloudflare Source IP レンジ向けのリターンルートがありません。そのレンジをトンネル経由で戻すルートを追加します。
トンネルは IKE 確立済みだがヘルスチェックが失敗する 経路上で ICMP がブロックされているか、ヘルスチェックの設定が誤っています。トンネルエンドポイント間で ICMP を許可し、ヘルスチェックの方向が bidirectional、タイプが reply であることを確認します。
トラフィックが公開インターネット経由でルーティングされる DNS レコードの Use private network routing トグルがオンになっていません。レコードを編集し、トグルをオンにします。

次のステップ

役に立ちましたか?