- Tailscale Peer Relays が正式リリースされ、ユーザーが自分のデバイスを 高性能リレーノード として活用できるようになった
- ファイアウォール、NAT、クラウドネットワークの制約などで直接接続が難しい環境でも、安定かつ高速なトラフィック中継 をサポート
- スループット向上、ロック競合の改善、UDPソケットの分散処理 により、多数のクライアント接続時の性能が大きく改善
- 静的エンドポイント統合 により、自動検出が不可能なクラウド環境でも AWS NLB などの背後でリレー運用が可能
- 可視性・モニタリング統合 により、トラフィック経路、遅延、リレー状態を明確に把握でき、大規模ネットワーク運用に重要
Tailscale Peer Relays の概要
- Peer Relays は 高性能なリレー機能を自前のデバイス上で実行 できるようにする機能
- 従来の DERP リレーに加え、ユーザーが自ら展開したノードをリレーとして利用可能
- ベータ以降、性能、安定性、可視性 が大きく改善され、プロダクションレベルへ進化
- 複雑な NAT 環境 を回避するための機能として始まり、大規模ネットワーク接続オプション へと拡張
- チーム単位で 性能・制御・柔軟性 を確保できる構成を提供
性能と信頼性の改善
- 多数のクライアントがリレー経由で接続される際、スループットが大幅に向上
- クライアントはリレー内で 最適なインターフェースとアドレスファミリ を自動選択
- リレーは ロック競合の削減 と 複数 UDP ソケットの分散処理 により、パケット処理効率を向上
- これらの改善により、日常的なトラフィックでも性能と安定性 が向上し、直接接続できない場合でも メッシュネットワークに近い性能 を提供
静的エンドポイントのサポート
- パブリッククラウド環境 では、自動エンドポイント検出が難しい場合が多い
- ファイアウォールルール、ポートフォワーディング、ロードバランサーなどにより、任意ポートの開放が不可能なことがある
- Peer Relays は
--relay-server-static-endpoints フラグを通じて 固定 IP:ポートの組を広告 できる
- AWS Network Load Balancer などのインフラ背後でも、外部クライアントがリレー経由でトラフィックを転送可能
- この機能により、制約のあるクラウド環境でも高速接続 を確保でき、サブネットルーターを置き換えて フルメッシュ構成 が可能
可視性とモニタリング統合
- Peer Relays は Tailscale の観測ツールと直接統合 され、リレー動作を明確に把握可能
tailscale ping コマンドで、リレー利用有無、到達可能性、遅延や信頼性への影響を確認可能
- 問題発生時に、トラフィックがリレーを経由しているか、リレー状態が正常かを即座に判断できる
- モニタリング指標 として
tailscaled_peer_relay_forwarded_packets_total, tailscaled_peer_relay_forwarded_bytes_total を提供
- Prometheus、Grafana などと連携し、トラフィックパターン分析、異常検知、ネットワーク状態監視 が可能
一般提供とデプロイ方式
- 正式リリースされた Peer Relays は、Tailscale の拡張性における中核コンポーネント となる
- 直接経路が不可能なときに 高速・低遅延接続 を提供
- 静的エンドポイントベースのデプロイ により、制約のあるクラウド環境でも動作
- プライベートサブネット内のフルメッシュ構成 と イングレス/エグレス制御経路設定 をサポート
- エンドツーエンド暗号化、最小権限アクセス、予測可能な動作 など、Tailscale の基本的なセキュリティ原則を維持
- CLI を通じてすべての対応ノードで有効化でき、ACL ベースの制御と段階的デプロイ をサポート
- Peer Relays は すべての料金プラン(無料の Personal プランを含む) で利用可能
1件のコメント
Hacker Newsの反応
Tailscale が「オープン」であるという理由で信頼されているなら、同時に一部のクライアントがクローズドソースである点も知っておくべき
公式配布チャネル(例: Apple App Store)経由でのみ配布され、完全に彼らの管理下にある
この立場を正当化する論理は突飛で、「ユーザーが非公開 OS を使うのが問題ないなら、Tailscale が非公開でも問題ない」というようなもの
こうした構造は接続性が制限された環境では信頼しにくい
技術的に競合より優れていても、結局はビジネスにすぎない。可能なら自由ソフトウェアの代替を支援すべき
関連 GitHub イシュー
ユーザーがソースから直接ビルドできるなら性能改善も可能だが、コントロール権がなければ不満な部分を直す方法がない
商用ソフトウェアはしばしば品質が低く、アップデート依存で、完成度よりリリース速度を優先する
go install tailscale.com/cmd/tailscale{,d}@latestコマンドでインストールでき、公式 Wiki に説明があるGUI はクローズドソースだが CLI は完全に公開されており、制限されたネットワーク環境でも利用できる
本当に不便なら brew や CLI で操作すればいい
私も似た構成のアプリを開発中で、CLI は完全なオープンソースとして提供し、GUI は有料販売する予定
こうすることで開発を継続し、生計を立てられる
validate ライブラリ をベースに GUI と CLI を一緒に開発している
最近 Tailscale を設定したところ、ping が 16ms から 10ms に減少し、帯域幅が 3 倍になった
Moonlight/Sunshine と組み合わせると、MacBook から Linux デスクトップへ Windows ゲームを 50Mbps/10ms でストリーミングできる
ポートフォワーディングなしで、ルーターはピアノードとしてだけ設定した
Tailscale は基本的に信頼できるユーザー間の共有に焦点を当てているのか知りたい
だとすると依然としてインターネットに露出するのではないかと混乱している
Tailscale の収益モデルが気になる。サービスは気に入っているが、長期的な持続可能性が心配
ときどきレート制限(rate limit) に引っかかっているようにも感じる
チーム規模が大きくなると有料プランは必須で、serve/funnel、SSH などの機能が便利
以前は Zerotier を使っていて、数年間無料で使った後、ユーザー数が増えてから月 5 ドルほど払っていた
ただしネットワーク環境によってはリレーが必要になることがある
オープンソースの代替としては Headscale と Netbird がある
Peer Relay への移行は、NAT 環境のセルフホスターにとって大きな勝利
DERP サーバーを自前で設定する必要がなくなり、UX が改善される
Peer Relay は既存のsubnet router と exit node のインフラを再利用して実装したため、導入負担は大きくなかった
AWS のような制約の多い NAT 環境でも安定接続のために不可欠
結果としてレイテンシとユーザー体験の両方が改善した
Peer Relay の導入で、こうした問題の可能性はさらに減りそうだ
Peer Relay がUDP をサポートしている点が重要
DERP は TCP ベースなので、ゲームストリーミングや音声通信ではレイテンシ(latency) の問題があった
Peer Relay は UDP を使うため、リアルタイムトラフィックにははるかに適している
別途 DERP インスタンスを設定しなくても、既存のサブネットルーターでそのまま有効化できる
こうした AI コメントはコミュニティの信頼を損なうので控えるべき
Relay が複数ある場合、Tailscale が自動的に最も低レイテンシのノードを選ぶのか気になる
実際のCGNAT 環境で Tailscale が大いに役立った
Google Cloud Run で AI ビジョンシステムを動かしているが、ISP がポートフォワーディングをブロックしていた
Tailscale を通じて Cloud Run コンテナとカメラが同じ LAN にあるかのように通信できるようになった
Peer Relay によって、コンテナが頻繁に再起動するときに生じていた遅延問題も減ることを期待している
ただ、エフェメラル(一時)ノード環境で Relay 選択がどう動くのかは気になる
私は以前から自分で構成した WireGuard ネットワークを使っているが、Tailscale が内部で何をしているのか気になる
DNS、ルーティング、ファイアウォールなどを自動調整する「マジック」機能が多くて不安だ
公式ドキュメント を見たが、詳細が不足している
複雑なネットワーク設定でもうまく動くのか知りたい
Linux ではさまざまな設定パターンが存在し、複雑だ
関連ブログ記事 でも説明している
主な動作は次のとおり
/etc/resolv.confを修正非常にカスタマイズされた環境では問題が起きる可能性もあるが、サポートを通じて解決できる
モバイルでページを開いたら閉じるボタンが見えず、モーダルを閉じられなかった
スクリーンショット 参照
あとで見つけたが、位置がおかしかった