Thunderbolt 5 브릿지로 Mac 2대를 내부 네트워크로 연결한 후기
120Gbps TB5 케이블 한 개로 New Mac과 Old Mac을 직결해서 10.200.0.x 사설망을 구성하고, rsync로 개발/스테이징을 분리한 실제 구성.
Mac Mini M4 Pro 두 대를 Thunderbolt 5 케이블 한 개로 직결해서 내부 사설망을 구성했습니다. 이유는 단순합니다. Wi-Fi나 유선 이더넷보다 빠르고, 외부 네트워크를 거치지 않아 보안적으로도 깔끔합니다.
하드웨어 구성
- New Mac — M4 Pro 64GB (메인 개발, Ollama 32B, PostgreSQL 17, Codex/Gemini CLI)
- Old Mac — M4 Pro 24GB (Agent 24/7, 스테이징 프리뷰, Playwright E2E)
- 케이블 — Apple Thunderbolt 5 Pro Cable (120Gbps 양방향)
레이턴시는 실측 0.3~0.8ms 수준. 동일 와이파이 대역에서 ping 3~6ms가 나오던 것과 비교하면 체감상 로컬 파일 접근과 다르지 않습니다.
사설 IP 할당
macOS의 Network 설정에서 Thunderbolt Bridge를 수동으로 활성화하고, 각 Mac에 고정 IP를 할당했습니다.
- New Mac:
10.200.0.1/24 - Old Mac:
10.200.0.2/24
DHCP 없이 양쪽에 수동 주소를 주는 방식이 가장 간단합니다. /etc/hosts에 별칭을 추가해서 ssh oldmac 한 줄로 접속합니다.
SSH 설정
초기 세팅은 repo에 있는 scripts/network/01-setup-tb-ssh.sh에 정리해뒀습니다. 핵심은 key 기반 인증과 host alias 두 가지.
Host oldmac
HostName 10.200.0.2
User nam64
IdentityFile ~/.ssh/id_ed25519_tb
별도 포트를 쓰지 않고 기본 22번을 그대로 썼습니다. TB5 브릿지는 외부에 노출되지 않는 링크-로컬 구간이라 보안 표면이 작습니다.
코드 동기화 — rsync over SSH
개발은 New Mac에서 하고, 스테이징 프리뷰와 E2E는 Old Mac에서 돌립니다. 코드를 옮기는 건 rsync 한 줄이면 충분합니다.
rsync -az --delete \
--exclude node_modules --exclude .next --exclude .open-next \
~/workSpace/origin/saas-factory/ oldmac:~/workSpace/origin/saas-factory/
실측 전송 속도는 평균 3.2GB/s 수준입니다. 1GB 변경분 기준 300ms 이내에 끝납니다. 스크립트는 scripts/network/04-sync-code-to-staging.sh에 있습니다.
왜 개발과 스테이징을 분리했나
Playwright E2E는 빌드된 산출물을 대상으로 돌려야 신뢰할 수 있습니다. New Mac에서 pnpm dev를 돌리는 동안 동시에 production build를 굴리면 I/O가 경합합니다. Old Mac을 스테이징 전용으로 두면 이 문제를 원천 차단할 수 있습니다. Next.js 공식 배포 지침도 프로덕션 검증은 별도 환경에서 하라고 권장합니다 — nextjs.org/docs/deploying.
Agent 24/7 운영
Old Mac에서는 pm2로 SaaS Factory Agent를 24시간 돌립니다. Dashboard SSE가 3100 포트에 뜨고, New Mac에서는 http://10.200.0.2:3100으로 바로 접근합니다. TB5 덕분에 로컬 3000번 포트를 여는 것과 체감 차이가 없습니다.
헬스체크
부팅 직후 TB5 링크가 가끔 활성화되지 않는 케이스가 있어, LaunchAgent로 scripts/network/boot-check.sh를 등록해뒀습니다. 링크가 다운이면 경고 로그를 남기고 재구성합니다.
이점 요약
- 대용량 데이터셋(Ollama 모델, DB dump) 이동이 빠르다.
- 외부 라우터를 거치지 않아 지연이 사실상 없다.
- 하드웨어 비용은 케이블 한 개뿐이다.
전체 인프라 맥락은 소개 페이지를, 관련해서 Oracle 조합은 Oracle ARM 운영기를 함께 읽어보시길. 더 궁금한 점은 연락처로 남겨주세요.
공유하기
이어 읽으면 좋은 글
같은 주제와 태그를 기준으로 GRAXEL 운영 맥락을 더 깊게 볼 수 있는 글입니다.
Oracle Cloud Always Free ARM 24GB로 프로덕션 API 서빙하기
4 OCPU, 24GB RAM, 200GB 디스크를 영구 무료로 받아 pgvector PostgreSQL 17 + Rust Axum API + Ollama를 Cloudflare Tunnel로 서빙한 기록.
Cloudflare Pages + Supabase + Upstash 무료 티어로 SaaS 포털 운영하기
graxel.ai 포털을 월 0원으로 운영하는 실제 스택 구성 — wrangler, GitHub Actions, 한계와 우회법까지 상세 공유.
1인 개발자 SaaS 모노레포 vs 멀티레포 — Graxel 운영 1년 후 다시 보는 결정
pnpm과 Turborepo로 구축한 모노레포 아키텍처가 1인 개발자에게 정말 정답이었을까요? 1년간의 뼈저린 운영 회고와 실패담.