一覧に戻る

ブログ

接続モード解説:ローカルネットワーク vs. Cloudflare Tunnel

Tactic Remote は2つの接続モードをサポート:同一 Wi-Fi 上で100ms未満のレイテンシを実現するローカルネットワークモードと、どこからでも安全にアクセスできる Cloudflare Tunnel モード。それぞれの仕組みと使い分けを解説します。

公開日 タグ: networking / architecture / cloudflare / security
ブログ

このカテゴリのプロダクト/開発アップデートを確認できます。

カテゴリを見る

Tactic Remote の新規ユーザーから最もよく聞かれる質問の一つが「ローカルネットワークモードと Cloudflare Tunnel、どちらを使うべきですか?」というものです。答えは、あなたの作業スタイルと作業場所によって異なります。この記事では、両モードを詳しく解説します — アーキテクチャの違い、パフォーマンスとセキュリティの特性、そして Tactic Remote がモード間の切り替えをどのように処理するかを説明します。

2つのモード、1つのインターフェース

技術的な詳細に入る前に、最も重要なポイントを:どちらの接続モードを使用しても、iPhone アプリの動作は完全に同一です。セッション管理、ターミナルストリーミング、承認ワークフロー、プッシュ通知 — これらすべては、iPhone が Mac と同じ Wi-Fi にいても、国の反対側でセルラーネットワークを使っていても、同じように機能します。

接続モードは、iPhone が Companion アプリの API にどのように到達するかにのみ影響します。トランスポート層より上のすべてが同一です。

ローカルネットワークモード

ローカルネットワークモードはデフォルトで最もシンプルな構成です。Mac の Companion アプリが HTTP/WebSocket サーバーをローカルネットワークのポートにバインドし、iPhone がその IP アドレスとポートに直接接続します。

仕組み

  1. Companion アプリがポート 48736(設定変更可能)で組み込みサーバーを起動。
  2. Mac がローカル IP アドレスをアドバタイズ(例:192.168.1.42:48736)。
  3. iPhone がローカル Wi-Fi ネットワーク経由でそのアドレスに接続。
  4. すべての通信がローカルネットワーク上で2台のデバイス間を直接行き来 — 仲介者なし。

パフォーマンス

ローカルネットワークモードは、パケットが最短経路を通るため、最も低いレイテンシを実現します:iPhone からルーターへ、そして Mac へ(一部のネットワーク構成では Wi-Fi Direct による直接接続の場合も)。

指標一般的な範囲
接続確立30-80ms
ターミナル更新レイテンシ40-100ms
承認の往復時間60-120ms
WebSocket ping5-20ms
短時間の切断後の再接続0.5-1.5s

これらの数値は、標準的な家庭またはオフィスの Wi-Fi ネットワークを前提としています。混雑したネットワーク(カンファレンスの Wi-Fi など)ではレイテンシが高くなることがありますが、同じネットワーク上であればローカルネットワークモードは常にトンネル接続より優れたパフォーマンスを発揮します。

セキュリティプロファイル

ローカルネットワークモードのセキュリティは2つの層に依存しています:

ネットワーク分離。 ローカルネットワークが境界として機能します。同じネットワーク上のデバイスのみが Companion アプリのポートに到達できます。ほとんどの家庭やオフィス環境ではこれで十分です。

Token 認証。 すべての API リクエストに Bearer Token が必要です。攻撃者がローカルネットワーク上にいても、Token がなければ Companion アプリとやり取りすることはできません。

ローカルネットワークモードが防御できないもの:ネットワーク上の侵害されたデバイスが何らかの方法で Token を取得したケース。ローカルネットワークを信頼できない環境(コワーキングスペース、ホテル Wi-Fi)では、Cloudflare Tunnel モードを推奨します。

制限事項

  • 同一ネットワークが必要。 iPhone と Mac が同じ Wi-Fi ネットワーク(または同じ LAN 内で到達可能)でなければなりません。自宅ネットワークを離れた瞬間に接続が切断されます。
  • IP アドレスの変化。 Mac のローカル IP が変化した場合(DHCP リース更新、Wi-Fi 再接続)、iPhone の接続設定を更新する必要があります。QR コードの再スキャンで軽減できますが、手動の操作が必要です。
  • セルラーからのアクセス不可。 セルラーデータは自宅ネットワークにルーティングされないため、アクセスできません。

Cloudflare Tunnel モード

Cloudflare Tunnel モードは、Mac から Cloudflare のグローバルエッジネットワークへの永続的なアウトバウンド接続を作成します。iPhone は Cloudflare の URL に接続し、Cloudflare がトラフィックをトンネル経由で Mac にルーティングします。

仕組み

  1. Companion アプリがトンネル認証情報を使用して cloudflared をマネージド子プロセスとして起動。
  2. cloudflared が最寄りの Cloudflare エッジサーバーへのアウトバウンド接続を確立(冗長性のため通常2-4の同時接続)。
  3. トンネルは設定した URL(例:claude.yourdomain.com)で到達可能に。
  4. iPhone がその URL に接続。Cloudflare がリクエストをネットワーク経由で Mac 上の cloudflared プロセスにルーティング。
  5. cloudflared がリクエストを Companion アプリのローカルサーバーに転送。

重要なアーキテクチャ上の特性:Mac はインターネットからのインバウンド接続を一切受け付けません。トンネルはアウトバウンド専用であるため、ポートを開ける必要もファイアウォールルールも不要で、ポートスキャンに晒されることもありません。

パフォーマンス

Cloudflare Tunnel はトラフィックが Cloudflare のエッジネットワークを経由するため、体感できるレイテンシが追加されます:

指標一般的な範囲
接続確立150-300ms
ターミナル更新レイテンシ100-250ms
承認の往復時間200-400ms
WebSocket ping40-120ms
短時間の切断後の再接続2-4s

レイテンシは、最寄りの Cloudflare エッジサーバーまでの地理的距離によって変動します。Cloudflare は世界300以上の都市で運営されているため、都市部のほとんどのユーザーはこれらの範囲の下限に近いレイテンシを体験します。Cloudflare の接続拠点が少ない地域では、より高いレイテンシが発生する可能性があります。

実際の使用では、このレイテンシは使い始めの数分間は気になりますが、すぐに慣れます。ターミナル出力は引き続きスムーズにスクロールし、承認のやり取りも十分にレスポンシブで、ほとんどのユーザーは通知から15秒以内に対応しています。

セキュリティプロファイル

Cloudflare Tunnel は、いくつかの点でローカルネットワークモードより強力なセキュリティ態勢を提供します:

インバウンドの攻撃対象面がない。 Mac はインターネット接続をリッスンしません。ポートスキャンの対象も、ブルートフォース攻撃の対象もありません。

TLS 暗号化。 iPhone と Cloudflare 間、および Cloudflare と Mac 間のすべてのトラフィックが TLS で暗号化されます。Tactic Remote の Token 認証と組み合わせて、2つの独立したセキュリティ層を提供します。

Cloudflare の DDoS およびボット対策 がデフォルトでトンネルエンドポイントに適用され、自動化攻撃に対する追加の保護を提供します。

トレードオフ:トラフィックが Cloudflare のネットワークを経由します。暗号化されていますが、Cloudflare が信頼された仲介者となることを意味します。ほとんどの個人開発者にとって、利便性を考えれば許容できるトレードオフです。機密性の高い環境については、セキュリティとネットワークハードニング ガイドで追加の対策をご確認ください。

制限事項

  • Cloudflare アカウントが必要。 無料の Cloudflare アカウントと、Cloudflare で管理されたドメインが必要です。トンネル自体は無料ですが、初期の DNS 設定に数分かかります。
  • Cloudflare の可用性に依存。 Cloudflare に障害が発生した場合、トンネルモードでのアクセスは利用不可になります。これはまれなことですが(Cloudflare の稼働実績は優秀です)、留意すべき点です。
  • ローカルモードより高いレイテンシ。 上記の通り、すべてのインタラクションでローカルネットワークモードと比較して50-200msが追加されます。

QR コード接続フロー

両モードとも初期ペアリングに同じ QR コードフローを使用しますが、QR コードの内容は異なります:

ローカルネットワーク QR コード のエンコード内容:http://<local-ip>:<port> と認証 Token。

Cloudflare Tunnel QR コード のエンコード内容:https://<your-tunnel-domain> と認証 Token。

iPhone アプリは URL スキームとネットワーク特性に基づいて接続モードを自動検出します。QR コードにローカル IP アドレスが含まれていればローカルネットワークモードに設定し、HTTPS ドメインが含まれていれば Cloudflare Tunnel モードに設定します。

モードを切り替えるには、Companion アプリのメニューバードロップダウンから新しい QR コードを生成し、iPhone でスキャンします。アプリは前の接続設定を置き換えます。モード切り替え全体が10秒以内で完了します。

横並び比較

要素ローカルネットワークCloudflare Tunnel
セットアップの複雑さ最小限(自動)中程度(5-10分)
レイテンシ40-100ms100-250ms
ネットワーク外からの利用不可可
Cloudflare アカウントの要否不要必要
インバウンドポートの要否なし(LAN のみ)なし
サードパーティへの信頼なしCloudflare
コスト無料無料(Cloudflare 無料プラン)
再接続速度0.5-1.5s2-4s
最適な用途自宅/オフィスでのデスクワーク通勤、出張、リモート

推奨される使用パターン

ローカルネットワークモードを使う場面: デスクにいるとき、または Mac と同じネットワーク上にいるとき。低レイテンシによりターミナルストリーミングが体感できるほどスムーズになり、サードパーティへの依存もありません。

Cloudflare Tunnel モードを使う場面: ローカルネットワーク外からアクセスする必要があるとき — 通勤中、旅行中、別の場所で作業中、または自宅でタスクを開始してオフィスで監視したいとき。

両方を使う: Mac で Cloudflare Tunnel を設定しておき、自宅ではローカルネットワークモードで接続。Companion アプリは両モードを同時にサービスできます。iPhone に両方の接続プロファイルを保存でき、アプリの接続設定でワンタップで切り替えられます。

多くのユーザーは Cloudflare Tunnel を保険として一度設定し、普段はローカルネットワークモードを使用しています。外出時にトンネルプロファイルに切り替えます。これにより、可能なときは最低レイテンシを、必要なときはリモートアクセスを得られます。

今後の予定

iPhone が Mac と同じネットワーク上にあることを検出してローカルルーティングし、離れたときに Cloudflare Tunnel にフォールバックする、自動モード選択機能を検討しています。これにより手動でのモード切り替えが完全に不要になります。初期テストでは iOS 上でのネットワーク検出は信頼性がありますが、VPN やスプリットトンネル構成に関するエッジケースはまだ対応が必要です。

セットアップ手順については、ローカルネットワークモードは はじめに、リモートアクセス設定は Cloudflare Tunnel セットアップ をご覧ください。

Tactic Remote を試す

スマートフォンからコーディングエージェントを操作

Mac、Windows、Linux 上の Claude Code や Codex などに接続。iPhone や iPad で進捗を確認し、次の指示を送れます。