다중 리전 OpenClaw는 먼저 네트워크 제품입니다. PoP별 홈, 테일넷의 고정 게이트웨이 이름, 제어 평면을 살리는 헬스 프로브, 부분 장애를 한 장으로 합치는 온콜이 필요합니다. vpshalo·원격 Mac·Tailscale MagicDNS를 같이 쓰는 팀용 HowTo입니다.
실패의 대부분은 공유 상태입니다: NFS OPENCLAW_HOME 하나, 과한 헬스, 데모용 개방 ACL. 아래는 Tailscale 운영 중인 네트워크·게이트웨이 담당자가 재현 컷오버를 할 때 순서입니다. PoP 선정은 글로벌 진입 매트릭스, 여기서는 이름·격리·관측입니다. 빌더와 게이트웨이 RTT를 맞추려면 요금제로 리전 용량을 고르세요.
리전별 OPENCLAW_HOME 격리
OPENCLAW_HOME은 자격 증명·캐시·저널의 루트입니다. 리전 간 단일 마운트 공유는 분할마다 일관성 사고로 이어집니다.
- 1단계. 게이트웨이마다
OPENCLAW_HOME=/var/lib/openclaw/<region>(태그:jp-tyo,sg-sin등). 라이브 두 대가 동일 경로 금지. - 2단계. systemd
Environment=·StateDirectory또는ReadWritePaths로 경로 고정. 원격 Mac launchd는 plistEnvironmentVariables에 절대 경로. - 3단계. 시크릿은 볼트·sops, 홈 안에서는 경로 참조만. 설정은 Git YAML → 부팅 시 로컬 렌더. rsync 미러 금지.
- 4단계. 서브넷 라우터·ACL 변경 전
OPENCLAW_HOME스냅샷. 복구 훈련은 패킷 손실 시나리오.
개발자가 대화형 실행을 위해 SSH로 원격 Mac에 들어간다면, 개인 실험용으로 별도의 홈을 export합니다(
OPENCLAW_HOME=~/openclaw-sandbox). 캐너리 프롬프트가 공용 게이트웨이 트리에 쓰이지 않게 합니다.MagicDNS 레코드와 ACL
Tailscale MagicDNS로 교체 후에도 게이트웨이 이름을 고정합니다. 패턴: 리전당 서비스명 1, 테일넷 디바이스(또는 서브넷 라우터) 1, 운영자·프로브 ACL 분리.
- 1. vpshalo 종단 노드에 Tailscale, 리전형 이름(예
openclaw-gw-sin). MagicDNS ON →…<tailnet>.ts.net직접 해석. - 2. 사내 리졸버가 있으면
*.ts.net만 테일넷 DNS로 포워드. - 3.
tag:openclaw-operators(관리 SSH/HTTPS),tag:openclaw-probes(합성 전용 경로). 불필요한 리전 간 허용 제거. - 4. 앱은 리전 URL(
https://openclaw-gw-sin…/v1). 글로벌 바니티 단일 호스트는 피함.
# 테일넷 안 프로브 러너: MagicDNS 확인 후 게이트웨이 호출
dig +short openclaw-gw-sin.<your-tailnet>.ts.net
curl -fsS --max-time 3 "https://openclaw-gw-sin.<your-tailnet>.ts.net/healthz"
서브넷 라우터는 리스너 CIDR만. 원격 Mac VLAN은 접두만 노출, 사이트 전체 캡처는 ACL 부담만 키웁니다.
프로브 병합과 알림 백오프
헬스 프로브가 곱절이면 TLS 큐·재시도·타임아웃·중복 페이지가 한꺼번에 옵니다. 팬인·병합이 없으면 정상 호스트까지 재시작하게 됩니다.
- 분류. (A) 얕은 HTTPS, (B) 딥(모델), (C) 게이트웨이 간 ping. B는 PoP당 관측점 2 이하.
- 이벤트. JSON에
region·lane·rtt_ms·error_class. 5분 창 팬인 워커로 리전별 합산. - 병합. 단일 PoP
lane A실패 → 인시던트 1건. 동일 창·동일 레인이 둘 이상 PoP일 때만 다중 리전. 원격 Mac 풀의 마지막 정상 빌드 ID를 첨부. - 백오프. 첫 페이지 후 간격 2×·4×·8×. 인간 확인 또는 읽기 전용 플래그 전까지 반복 억제. 연속 10회 성공 시 리셋.
엔드 사용자 트래픽과 별도로 프로브 User-Agent와 mTLS 신원을 로그에 남기면, 잘못 튠된 검사가 만든 자가 발전적 장애인지 증명하기 쉽습니다.
변경 창
메시·게이트웨이 변경은 순서·롤백·공지가 있는 마이그레이션으로 취급합니다.
- T-7일: 티켓에 MagicDNS·ACL diff, PoP→게이트웨이
tailscale ping매트릭스. - T-24h: 우회 클라이언트 있으면 공개 DNS TTL 하향. 도움말 런북 링크 점검.
- T0: ACL → 게이트웨이 → 프로브. 딥 검사 전 HTTP 에러 버짓 확인.
- T+1h: 대시보드 스냅샷. RTT 중앙값 +20%면 홈 수정 전 ACL 롤백.
저지연 노드와 맞추세요: 러너·게이트웨이·MagicDNS가 같은 메트로에 있어야 오케스트레이션 RTT가 의미를 유지합니다.
면책: Tailscale 제품명과 UI는 자주 바뀝니다. 콘솔 클릭은 예시로만 두고 인프라 코드에 거울을 두세요. OpenClaw 설정은 릴리스마다 다릅니다. 배포하는 버전의 플래그로 검증하세요.
네 블록을 맞추면 공유 홈 유령이 줄고 원격 Mac에서 기능 출하가 빨라집니다. 메시가 안정되면 프로브가 신뢰한 PoP부터 스케일하세요.