マルチリージョン OpenClawはネットワークと観測が先です。Tailscale MagicDNSで名を固定し、ヘルスプローブを分離・合算し、vpshalo とリモートMacを同じ遅延圏に置く HowTo です。
共有 OPENCLAW_HOME と過密プローブが典型障害です。入口基線はグローバル入口マトリクス、枠は料金プランで揃えます。
リージョンごとの OPENCLAW_HOME 分離
OPENCLAW_HOMEは秘密とジャーナルを束ねるルート。跨リージョン共有は分断で壊れます。
- 1
/var/lib/openclaw/<region>を台帳タグに合わせ、二台一パスを禁止。 - 2 systemd/launchd とリモートMac副本へ絶対パスで焼く。
- 3 秘密は参照のみ、rsync ミラー禁止。
- 4 メッシュ変更前にスナップショット、復旧は損失前提。
試行は
~/openclaw-sandbox など別ホームへ。MagicDNS レコードと ACL
Tailscale MagicDNSで名を固定し、ACL でオペレータとプローブを分離します。
- 1 ゲートウェイに Tailscale、地域付き名(例
openclaw-gw-sin)と MagicDNS 有効化。 - 2 社内 DNS は
*.ts.netを Tailscale へフォワード。 - 3
tag:openclaw-operators/tag:openclaw-probesを分離、不要なら deny 維持。 - 4 アプリは地域 URL 直指定、人向けだけ集約 UI。
# tailnet 内プローブ:解決 → ヘルス
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 は必要プレフィックスだけ。
プローブの集約とアラートの退避
ヘルスプローブ過多は TLS キューと相関タイムアウトを生みます。レーン分けと合算で抑えます。
- 1 軽量 HTTPS(A)/深い認証(B)/任意 ping(C)。B は PoP あたり視点二つまで。
- 2 JSON(
region・lane・rtt_ms・error_class)を五分窓でリージョン集約。 - 3 単一 PoP は一インシデント、二 PoP 同レーン落ちだけマルチ化。リモートMacの最終成功ビルド ID を添付。
- 4 ページングは指数退避、十連続成功でリセット。
プローブの UA/mTLS をユーザトラフィックと分離ログ。
変更ウィンドウ
順序は ACL → ゲートウェイ → プローブ。告知と戻し手順を先に固定。
- T-7 差分票+全 PoP からの
tailscale ping行列。 - T-24h 公開 DNS TTL 調整、ヘルプセンターリンク確認。
- T0 ACL→GW→プローブ。深いチェックはバジェット確認後。
- T+1h RTT が基線+20% なら ACL を戻し、その後
OPENCLAW_HOME。
低遅延ノードと併せ、ランナー・GW・MagicDNS を同一メトロへ。
免責:Tailscale/OpenClaw は更新が早い。本番タグでフラグ再確認。
四ブロックで共有ホームの幽霊を減らし、信頼 PoP のリモートMacへ素早く伸ばせます。測った地域の枠は公開ページで確保を。