はじめに
目的
この文書は、CloudflareのCDNサービスに関する調査結果をまとめたものです。主にCloudflareのCDNの基本的な仕組み、Anycastルーティングの採用、CNAMEレコードの設定方法、ネットワーク設定の詳細、Webサーバ接続方式、そしてCloudflareトンネルの概要と設定手順について解説します。
対象読者
- ウェブサイト運営者やシステム管理者
- CDNの導入を検討しているエンジニア
- 基本的なネットワーク用語を知っているが、実務経験が浅い方
本書の構成と読み方
本書は6章で構成します。第2章でCDNの基本とCloudflare固有の仕組みを説明し、第3章で具体的な設定方法を扱います。第4章はネットワーク設定の詳細、第5章はWebサーバとの接続方法、第6章はCloudflareトンネルとVPN機能の解説です。各章は実務で役立つ手順と注意点を中心に説明します。
本章の役割
この「はじめに」では、本書の目的・対象・構成を明確にし、読み進める際の心構えを示します。専門用語は必要最低限にし、具体例で補足しながら説明します。次章から順に実践的な内容へ進みますので、導入検討や運用に役立ててください。
CloudflareのCDN概要と基本的な仕組み
CDNとは何か
CDNはコンテンツ配信ネットワークの略で、画像やHTMLなどのデータを利用者に近いサーバーから届ける仕組みです。これによりオリジンサーバーの負担を減らし、表示速度を速めます。例えるなら、本を読む人の近くに図書館の分館を置くイメージです。
Cloudflareの特徴
Cloudflareは世界中にある多数のサーバーを使い、同じIPアドレスを複数ノードで共有するAnycast方式を採用しています。これにより利用者は地理的に近いノードにつながりやすく、障害時も別のノードへ自動で切り替わります。DDoS対策も標準で備えています。
基本的な仕組み
リクエストは最寄りのCloudflareノードで受け止められ、キャッシュに該当する場合はノードから直接応答します。キャッシュがない場合はオリジンサーバーへ問い合わせて取得し、次回のために保存します。これを繰り返すことで負荷分散と高速化を実現します。
最適化技術(Tiered Cache と Argo)
Tiered Cacheはノード間で効率よくキャッシュを共有し、無駄なオリジンアクセスを減らします。Argo Smart Routingは混雑を避けて最速の経路を選び、遅延をさらに下げます。どちらも配信品質を向上させるオプションです。
利点と注意点
利点は表示速度向上、負荷軽減、可用性向上です。注意点はキャッシュの設定や更新タイミングで古いコンテンツが配信されることがある点です。設定を適切に行うことで効果を最大化できます。
CloudflareのCDN設定方法
1. 事前準備
Cloudflareアカウントを作成し、対象ドメインの管理情報(レジストラのログインや既存のDNS設定)を手元に用意します。既存レコードはバックアップしておくと安心です。
2. ドメインをCloudflareに追加
Cloudflareのダッシュボードで「Add site」をクリックし、ドメインを登録します。スキャンが終わると現在のDNSレコードが一覧表示されます。不要な変更はここで確認しておきます。
3. ネームサーバーの切替
Cloudflareが提示するネームサーバーに、レジストラ側で変更します。反映には15〜30分ほどかかることが多いです。切替後はCloudflare側でステータスが「Active」になります。
4. CNAMEの追加(Cloud Runなど)
Cloud Runなど外部サービスでカスタムドメインを使う場合、サービス側が指示するCNAMEターゲットを登録します。例: wwwを指定のターゲットに向けるCNAMEを追加します。サービス検証時はCloudflareのプロキシ(オレンジの雲)をオフにして「DNS only」(グレーの雲)にすることを推奨します。
5. キャッシュ設定
ダッシュボードの「Caching」へ行き、推奨の「スタンダード」を選びます。必要に応じて「Purge Cache」で個別ファイルや全体のキャッシュを消去できます。TTLやページルールでより細かい調整も可能です。
6. 反映の確認
ドメインにアクセスして期待したコンテンツが表示されるか、DNSツールでネームサーバーとCNAMEが正しく設定されているかを確認します。問題があればCloudflareのDNS設定とサービス側のドメイン設定を再度見直してください。
Cloudflareのネットワーク設定詳細
IPv6互換性
CloudflareはIPv6を優先して処理します。利用者がIPv6環境(例:近年のスマホ回線)でアクセスすると、IPv6経由で配信されます。IPv4のみのサーバでもCloudflareが変換して届けるため特別な設定が不要なことが多いです。
gRPCとWebSockets
リアルタイム通信やAPI配信に使うgRPCやWebSocketsは有効化できます。チャットやプッシュ通知など双方向通信が必要な場面で有効です。動作しないときはCloudflareの設定とサーバ側の対応を確認します。
Pseudo IPv4
古いクライアント向けに疑似IPv4アドレスを割り当てます。IPv6のみの環境でもIPv4しか対応しないサービスと接続できます。
IPジオロケーション
訪問者の国や地域情報を取得できます。例えば、国別でコンテンツを切り替えたり、特定地域にだけアクセス制限をかける用途に便利です。
最大アップロードサイズ
プランにより許容されるファイルサイズが変わります。大きなファイルを扱う場合は制限値を確認して、必要ならプランを見直します。
Network Error Logging(NEL)
ブラウザからネットワークエラー情報を収集できます。問題の再現が難しい障害を調査する際に役立ちます。
オニオンルーティング
Torネットワーク経由でのアクセスを受け入れる設定です。匿名性を重視するユーザー向けに有効にできますが、ログやアクセス制御を慎重に検討してください。
CloudflareのWebサーバ接続方法
概要
CloudflareにWebサーバを接続する方法は主に3つあります:IPv4接続、IPv6接続、トンネル接続(cloudflared)。用途で使い分けますが、柔軟性と安全性を重視するならトンネル接続を推奨します。
IPv4接続(一般的な方法)
- CloudflareダッシュボードでAレコードを追加し、サーバのIPv4を登録します。プロキシ(オレンジの雲)を有効にするとCDN/保護が適用されます。
- サーバ側で80/443を開き、TLSはCloudflareのオリジン証明書やLet’s Encryptを利用してください。
- 例:example.com → A → 203.0.113.10(プロキシON)
IPv6接続
- AAAAレコードを追加します。サーバがIPv6に対応していること、ファイアウォールでIPv6の許可を忘れないことが重要です。
トンネル接続(推奨)
- cloudflaredをサーバにインストールし、”cloudflared tunnel create <名前>”でトンネルを作成します。次に”cloudflared tunnel route dns <名前> example.com”でDNSをトンネルに向けます。
- 特長:サーバのグローバルIPを公開せず運用できる、動的IPや複数サーバの負荷分散に強い、自動再接続します。
簡単な設定手順(共通の注意)
- Cloudflareでドメインを追加。2. DNSで該当レコードを作成。3. TLS設定(オリジン証明書)を用意。4. ファイアウォールでCloudflare IPのみ許可、またはトンネルを使って直接保護。
運用上のポイント
- オリジンIPの秘匿、証明書の有効期限管理、ヘルスチェックやログ監視を行ってください。トンネルは設定が増えますが安定性と安全性が向上します。
CloudflareのトンネルとVPN機能
概要
Cloudflareトンネルは、RDP接続先とクライアント間にセキュアな経路を作成し、公開IPを使わずに安全に接続できます。専用のコネクタ(エージェント)をサーバ側に置き、Cloudflareのネットワーク経由でやり取りします。これにより応答性が良くなり、外部攻撃のリスクを下げられます。
利点
- 公開ポートを開けずに済むので安全です。
- トラフィックは暗号化されます。
- アクセス制御やログと連携でき、運用が楽になります。
設定手順(要点)
- 管理画面の「Networks」→「Tunnels」を開きます。
- 新規トンネル作成でコネクタを指定します(コネクタはサーバに導入する小さなソフトです)。
- トンネル名を入力し、プライベートネットワークに対象のIPレンジやホストを追加します。
- RDP接続先のIPとポート(通常3389)を指定して保存します。
- コネクタが稼働し、トンネルが「HEALTHY」になれば準備完了です。
状態確認と対処
- トンネル状態がHEALTHYか確認します。正常なら接続を試します。
- 未稼働の場合はコネクタのサービスが動いているか、ファイアウォールでポートが遮断されていないかを確認します。
- DNSや接続先IPの指定ミスもよくある原因です。
運用上の注意
アクセスは最小限に限定し、多要素認証やロールで制御してください。ログを定期的に確認し、コネクタの更新を怠らないよう注意します。












