Thunderbolt 5でMac 2台をつなぐ — 開発とステージングの小さな実験室
ローカルAI、ステージング確認、ファイル移動を速くするためのMac間接続の運用記です。
Thunderbolt 5でMac 2台をつなぐ — 開発とステージングの小さな実験室
「Thunderbolt 5は最大120Gbpsの驚異的な帯域幅を提供しますが...これをサーバー間の直結ネットワークとして使う人は少ないでしょう。」Appleの発表会を見ながら、私は密かにこの変則的なユースケースを思い描いていました。Wi-Fiの遅延や、外部ルーターを経由する際のセキュリティリスクを排除し、自宅のデスクの下に完璧に隔離された「開発・ステージング環境」を構築するための、私のちょっとしたインフラ実験記です。
なぜケーブル1本で直結するのか?
私は現在、2台のMacを運用しています。1台はメイン開発用のNew Mac(M4 Pro 64GB)、もう1台は24時間稼働のAIエージェントやE2Eテストを実行するOld Mac(M4 Pro 24GB)です。通常ならギガビット対応のスイッチングハブを介してローカルネットワークを構築するところですが、AppleのThunderboltブリッジ機能を利用すれば、ケーブル1本で論理的なネットワークインターフェースを作成できます。
両方のMacに10.200.0.1と10.200.0.2という固定のプライベートIPを割り当てました。実測値として、レイテンシはわずか0.3〜0.8ms。巨大なDockerイメージやOllamaの言語モデルデータ(数GB単位)を同期する際、rsyncを利用して平均3.2GB/sという驚異的な転送速度を叩き出します。ローカルディスクに保存するのと体感速度が全く変わりません。
認証の罠:SSHキーの消滅事件
この便利すぎる直結ネットワークですが、私の油断から大きな失敗を招いたことがあります。ある日、セキュリティ設定を見直す過程で、New Mac側の~/.ssh/authorized_keysを誤って上書きフォーマットしてしまったのです。
その結果、Old Mac上で24時間稼働していたデプロイメントスクリプトや、バックグラウンドのデータ同期ジョブ(rsync over SSH)が一斉に「Permission denied」を吐いて停止しました。それに気づいたのは翌朝のこと。本来なら夜間に収集されるはずだった数千件のデータが完全に欠落しており、手動でバッチ処理を再実行するために貴重な休日の午前中を丸ごと潰す羽目になりました。この苦い経験以降、私はSSHキーの配布と管理をAnsibleを使って完全にコード化(IaC)するようになりました。手動でのキー管理は絶対に避けるべきです。
安全なステージング環境としての価値
この構成の最大のメリットは、本番デプロイ前のPlaywrightによるE2E(End-to-End)テストを、メインマシンのリソースを一切消費せずに実行できる点です。New Macでコードを書き、rsyncで数ミリ秒でOld Macに転送し、そこで実際のブラウザを立ち上げてテストを回す。この隔離されたワークフローのおかげで、開発作業が重くなるストレスから完全に解放されました。私の開発ワークフローの全体像を知りたい方は、ブログ一覧やガイドページも併せてご覧ください。
たった1本のケーブルが、1人開発者の生産性をここまで劇的に向上させるとは思いませんでした。高価なクラウドのステージング環境を契約する前に、足元にあるハードウェアのポテンシャルを極限まで引き出してみるのも悪くない選択です。
共有
関連記事
同じテーマやタグに基づき、GRAXELの運用文脈を続けて確認できます。
1 人開発者のモノレポ vs マルチレポ — Graxel 運用 1 年後の振り返り
pnpm + Turborepo モノレポを1年運用した1人開発者の正直な振り返り。良かった点、痛かった点、マルチレポへ分離した判断基準まで。
Cloudflare Pages 無料枠で 1 年運用してみた — 5 サービスの実支出は 1.25 ドル
1人開発者がCloudflare Pages無料枠で5サービスを1年間運用した実支出を公開。実際の数字と失敗談、再現可能な節約パターンを整理しました。
SaaS Factoryモノレポ運用記 — pnpmとTurboで複数サービスを束ねる
GRAXELが共通パッケージとサービス別実装をどのように分けているかを紹介します。