関連:GeoDNS 入口マトリクス・MSS/BBR 行列・Tailscale MagicDNS・ECS と GeoDNS。トップ・ヘルプ・料金・購入。
1 並列 scp が毎回握手を重ねる。2 GeoDNS 変更後も ControlPersist が旧 PoP に粘る。3 握手と成果物を同一設定で測りレポートが歪む。
① ControlMaster / ControlPersist パラメータ
対話と CI 制御は halo-ctl-* で多重化し、大容量転送は halo-art-* で ControlMaster no とします。master は KEX と認証を一度に抑え、子セッションの体感 越境遅延を下げます。
# ~/.ssh/config — 制御チャネル(vpshalo 多地域)
Match host halo-ctl-*
ControlMaster auto
ControlPath ~/.ssh/cm-%r@%h:%p
ControlPersist 12m
ServerAliveInterval 30
ServerAliveCountMax 3
IdentitiesOnly yes
Compression no
# 成果物回収(スループット優先・多重化しない)
Match host halo-art-*
ControlMaster no
Compression no
| パラメータ | 推奨 | 遅延への効果 | 注意 |
|---|---|---|---|
| ControlMaster | auto | 子接続の握手を大幅短縮 | PoP 切替後に古いソケット |
| ControlPersist | 12m(運用)/ 30m(CI) | アイドル後の再握手回避 | DNS TTL より長いと錯区 |
| ControlPath | PoP ごとに一意 | 掃除しやすい | NFS ホームは競合 |
② JumpHost 連鎖と Halo ルーティング
PC → 踏み台 → ビルド機。連鎖ごとに master を一本とし ControlPath を増やしません。SSH CA 踏み台稿 と同型です。
Host halo-ctl-bastion-jp
HostName bastion.jp.vpshalo.example
ControlMaster auto
ControlPath ~/.ssh/cm-bastion-%r@%h:%p
ControlPersist 10m
Host halo-ctl-tky-mac
HostName 10.64.0.12
ProxyJump halo-ctl-bastion-jp
ControlMaster auto
ControlPath ~/.ssh/cm-tky-%r@%h:%p
| 経路 | 向く場面 | ControlMaster | 成果物 p95 |
|---|---|---|---|
| PoP 直結 | 単一リージョン Mac | 推奨 | 512MB 安定 |
| ProxyJump 二段 | 統一踏み台監査 | 第一跳のみ master | ホップ分 RTT を加算 |
| GeoDNS 最近傍 | ローテビルド | PoP 別 ControlPath | ECS 稿 と併読 |
| Tailscale | 固定 MagicDNS | tailnet 内で再利用 | Tailscale 稿 |
③ 粘性与健康チェック
DNS 粘性は GeoDNS、SSH 粘性は ControlPersist と PoP 別 ControlPath です。重み変更前は ssh -O exit を実行し、TTL と persist を変更票に記載します。
- 1
ssh -O checkを五分窓で地域要約。 - 2 踏み台 MOTD に
pop_idを表示。 - 3 再送二パーセント超は MSS/BBR 稿 を先に。
④ 成果物回収 p95 検収手順
日韓港新・米西岸で 512MB を三十回。多重化なし後に master 暖機で比較。halo-ctl-* と halo-art-* で桶を分けます。
# 握手 p95 の粗算(秒)
for i in $(seq 1 30); do
(time ssh -o BatchMode=yes halo-ctl-jp true) 2>&1 | awk '/real/{print $2}'
done | sort -n | awk 'NR==int(NR*0.95){print "p95_s="$1}'
- 1 入口ホスト名と GeoDNS 重みを固定し、
dig出力をアーカイブ。 - 2
ssh_configを配布しssh -MNf halo-ctl-tokyoで master を開く。 - 3 多重化なしで三十 pull、握手・完了のベースライン p95 を記録。
- 4 暖機後に再実行し子接続 p95 を比較。
- 5 重み切替後
ssh -O exitで再検証し 購入 で PoP 選定。
⑤ FAQ
古いソケットで connection refused? ~/.ssh/cm-* を削除しディレクトリを 700 に。異常終了後は ssh -O exit を実行してください。
リージョン変更後に pull が遅い? 新 PoP で master を作り直し、地域間で ControlPath を共有しません。GeoDNS 重みと TTL を再確認します。
Tailscale 併用時は? MagicDNS ホストでも ControlMaster は有効です。制御は mesh、成果物 URL は GeoDNS マトリクス と揃えてください。
まとめ:制御多重化・JumpHost 一本化・粘性の明示的解除・成果物 p95 の分桶で、Halo ルーティング上の SSH を再現可能にします。