ブログ
リモート開発のための Cloudflare Tunnel:完全セットアップガイド
ポート開放、DNS 管理、ルーター設定なしで、どこからでも Mac 開発サーバーにアクセス。Cloudflare Tunnel でリモート開発を実現する方法を解説します。
このカテゴリのプロダクト/開発アップデートを確認できます。
カテゴリを見るカフェ、空港、別の都市など、ローカルネットワーク外から Mac 開発環境にアクセスしたい場合、インターネット経由で自分のマシンへの安全な経路が必要です。従来のアプローチ(ポート転送、ダイナミック DNS、VPN)は、開発者のユースケースにおいてそれぞれ大きな欠点があります。
Cloudflare Tunnel はより良いモデルを提供します。Mac が Cloudflare のネットワークへアウトバウンド接続を確立し、リモートクライアントは Cloudflare に接続します。ルーターでポートを開ける必要も、DNS を管理する必要も、ファイアウォールルールを設定する必要もありません。
このガイドでは、リモート開発のためのセットアップ方法を、特に Tactic Remote 経由での Claude Code へのアクセスに焦点を当てて解説します。
Cloudflare Tunnel の仕組み
アーキテクチャはシンプルです:
ポイント:
- Mac がトンネル接続を開始 — Cloudflare へのアウトバウンド接続。パブリックポートでリッスンするものはありません。
- Cloudflare が URL を割り当て(例:
https://random-words.trycloudflare.com)、トンネル経由で Mac にルーティングします。 - トラフィックは TLS でエンドツーエンド暗号化されます。
- ルーターの設定は一切不要 — ポート転送も UPnP も DMZ も必要ありません。
これはポートを公開するのとは根本的に異なります。ポート転送では、Mac がインターネット全体からのインバウンド接続を受け入れます。Cloudflare Tunnel では、Cloudflare を経由した認証済みトラフィックのみが Mac に到達します。
前提条件
- macOS 14(Sonoma)以降(Mac アプリ連携のため)
- Homebrew がインストール済み
- cloudflared — Cloudflare のトンネルクライアント
cloudflared をインストール:
インストールを確認:
Quick Tunnel には Cloudflare アカウントは不要です。trycloudflare.com ドメインは無料でサインアップも必要ありません。
Tactic Remote Mac アプリでのセットアップ
Mac アプリが Cloudflare Tunnel の設定のほとんどを自動的に処理します。
ステップ 1: Cloudflare Tunnel を有効化
Mac アプリの設定で:
- Cloudflare Tunnel をトグルして有効にする
- アプリが正しい設定で
cloudflaredを起動する - トンネル URL が表示される(例:
https://bright-river-abc123.trycloudflare.com)
内部では、Mac アプリが以下を実行しています:
--protocol h2mux フラグはトンネル接続に HTTP/2 マルチプレクシングを使用し、WebSocket トラフィックのパフォーマンスを向上させます。
ステップ 2: API キーを設定
Cloudflare 接続では必須です。 サーバーがインターネットからアクセス可能な場合、接続の認証が必要です。
Mac アプリが32文字のランダム API キーを生成します。独自のキーを設定することもできます。このキーは iPhone から接続する際に必要です — WebSocket ハンドシェイクの Sec-WebSocket-Protocol ヘッダーで送信されます。
ステップ 3: iPhone を設定
iPhone の Tactic Remote で:
- 接続設定に移動
- Cloudflare モードに切り替え
- Mac アプリのトンネル URL を入力
- API キーを入力
または、Mac アプリの QR コードをスキャンします。QR コードにはトンネル URL と API キーの両方がエンコードされています。
ステップ 4: 接続テスト
- iPhone をセルラーに切り替え(WiFi をオフにして LAN を使用していないことを確認)
- Tactic Remote を開く
- 接続が成功することを確認
- セッションを作成または開く
- テストコマンドを送信
これが動作すれば、準備完了です。トンネル URL は cloudflared が実行されている限り持続します。
Tactic Remote でのトンネルの使われ方
Cloudflare Tunnel が有効な場合、通信経路は以下のように変わります:
LAN モード: iPhone → WiFi → Mac(ポート 8765) — 直接 WebSocket Cloudflare モード: iPhone → セルラー/WiFi → Cloudflare Edge → トンネル → Mac(ポート 8765) — トンネル経由の暗号化 WebSocket
iPhone アプリから見ると、違いは URL だけです:
- LAN:
ws://192.168.1.100:8765 - Cloudflare:
wss://bright-river-abc123.trycloudflare.com
wss:// プレフィックスは WebSocket Secure(暗号化)を示します。スマートフォンと Cloudflare 間、Cloudflare と Mac 間のすべてのデータが暗号化されます。
セキュリティに関する考慮事項
トンネルが保護するもの
- パブリックポートなし — Mac のファイアウォールにインバウンドルールは不要
- TLS 暗号化 — 転送中のすべてのトラフィックが暗号化
- DDoS 保護 — Cloudflare のエッジネットワークがボリューメトリック攻撃を Mac に到達する前に吸収
- URL の秘匿性 —
trycloudflare.comの URL はランダム生成され推測困難
ユーザーの責任
- API キーの強度 — 長いランダムキーを使用(Mac アプリは32文字を生成)。弱いパスワードを使わないこと。
- API キーの転送 — QR コード(対面)で転送すること。メールやチャットで送信しない。
- トンネル URL のプライバシー — トンネル URL を公開しないこと。URL と API キーがあれば誰でも接続可能。
- Mac の物理セキュリティ — サーバーは Claude Code 経由でファイルシステムにアクセスできます。Mac をロックすること。
- レート制限 — Tactic Remote のサーバーにはブルートフォース攻撃を遅らせるレート制限ミドルウェアが含まれていますが、強力な API キーの代替にはなりません。
Cloudflare がトラフィックを見られる可能性について
Cloudflare はエッジで TLS を終端するため、理論的にはトラフィックを確認できます。ほとんどの開発用途ではこれは許容範囲です。機密データを送信するわけではなく、Cloudflare のプライバシーへの取り組みは十分に文書化されています。
これが懸念される場合は、LAN モードのみを使用し、ローカルネットワークからのみ作業してください。
トラブルシューティング
「トンネル URL が表示されない」
cloudflaredがインストールされているか確認:which cloudflared- Mac アプリのログで cloudflared のエラーを確認
- cloudflared を手動で実行してみる:
cloudflared tunnel --url http://localhost:8765 - インターネット接続が有効か確認
「LAN では接続できるが Cloudflare では不可」
- トンネル URL に
wss://(ws://ではなく)を使用しているか確認 - Mac アプリと iPhone の設定で API キーが一致しているか確認
- ネットワークが非標準ポートでのアウトバウンド接続をブロックしていないか確認(まれですが企業ネットワークでは起こり得ます)
「断続的な切断」
- Cloudflare Quick Tunnel は長時間の非アクティブ後に URL をリサイクルする場合があります
- Mac アプリを確認 — トンネル URL が変わった場合は iPhone の設定を更新
- 永続的な URL が必要な場合は、Cloudflare アカウントを使用した Named Tunnel の利用を検討
「高レイテンシ」
- Quick Tunnel は最寄りの Cloudflare データセンター経由でルーティングされるため、通常は高速
- レイテンシが常に高い場合、ISP の Cloudflare とのピアリングが不良な可能性があります
- テスト方法:
curl -o /dev/null -w "%{time_total}" https://your-tunnel-url.trycloudflare.com - 200ms 以下ならターミナル操作に問題なし。500ms を超えると体感に影響。
Quick Tunnel と Named Tunnel の比較
Tactic Remote はデフォルトで Quick Tunnel を使用します。Cloudflare アカウント不要で、URL は自動的に割り当てられます。リモートアクセスを最速で実現する方法です。
Quick Tunnel の制限:
- URL はランダム生成され、cloudflared の再起動時に変わる
- カスタムドメインなし
- Cloudflare Access との統合なし(SSO や追加認証レイヤーなし)
Named Tunnel(無料の Cloudflare アカウントが必要)の利点:
- 再起動しても変わらない永続的な URL
- カスタムドメインマッピング(例:
dev.yourdomain.com) - Cloudflare Access による追加認証(SSO、メール認証)
- 複数のメンバーが一貫したアクセスを必要とするチーム構成に最適
個人開発者には Quick Tunnel で十分です。スマートフォンでトンネル URL を頻繁に更新する必要がある場合は、Named Tunnel へのアップグレードを検討してください。
Cloudflare Tunnel の代替手段
参考として、リモートアクセスの他のアプローチを紹介します:
ポート転送
- ルーターでポートを開放し、ファイアウォールを設定
- リスク:Mac がインターネットに直接露出
- IP が変わる場合はダイナミック DNS が必要
- 開発環境には非推奨
Tailscale/WireGuard VPN
- デバイス間にプライベートネットワークを構築
- 優れたセキュリティモデル(ピアツーピア暗号化)
- Mac と iPhone の両方に Tailscale クライアントが必要
- 注意:Tactic Remote は現在 Tailscale と統合されていません。別途実行して Tactic Remote を Tailscale の IP に向ける必要があります
ngrok
- Cloudflare Tunnel と類似のコンセプト
- 無料枠に制限あり(接続数、帯域幅)
- 優れた開発者体験を持つ成熟したプロダクト
- ngrok のエコシステムを好む場合の代替手段
SSH トンネル
- SSH ポートフォワーディングを使用する従来のアプローチ
- Mac で SSH サーバーの設定が必要
- 注意:Tactic Remote は SSH ではなく WebSocket を使用します。SSH トンネルは WebSocket 接続をラップするため、明確なメリットなく複雑さが増します
Tactic Remote には Cloudflare Tunnel が推奨されます。無料で、Quick Tunnel ならアカウント不要、そして Mac アプリに直接統合されています。
Tactic Remote を試す
スマートフォンからコーディングエージェントを操作
Mac、Windows、Linux 上の Claude Code や Codex などに接続。iPhone や iPad で進捗を確認し、次の指示を送れます。