2026 複数 DNS A レコード対 SSH の張り付き:ProxyMac Mac mini のホスト名が HK/JP/KR/SG/US で複数 IPv4 に解決するとき何が起きるか
レンタルされたApple Silicon M4 Mac mini機群(香港・日本・韓国・シンガポール・米国)へダイヤルインする運用者が dig +short A mini.example.com を実行し、四つの異なる IPv4を見て「SSH がロードバランスされた HTTP のようにセッション途中で切り替わるのでは」と慌てることがあります。実態はより単純ですが運用上は鋭い問題です:DNS の応答は候補リストであり、確立済み TCP ソケットが勝者を固定します。本稿では(1) 複数レコードでもライブシェルを簡単には乗っ取られない理由、(2) 実際に刺さるのは主に CI の再接続嵐であってキー入力ごとではないこと、(3) 人間・ボット・踏み台を比較する四列マトリックス、(4) 数値チェックポイント付き八ステップ安定手順(300 秒 TTL と24 時間セッション)、(5) IPv6 記事の AAAA + Happy Eyeballs との相互作用を整理し、リゾルバ障害、安定 egress IP 許可、IPv6/Happy Eyeballsへ誘導します。「アジア経路が悪い」という結論の前に読んでください—純粋な DNS ポリシーのケースが多いです。
確立済み TCP は後続の DNS TTL 期限には無関係
OpenSSH がアドレス 203.0.113.44 との三方握手を終えると、その後のパケット IP ヘッダは権威 DNS が別の A をローテーションに入れてもそこを指し続けます。ノート PC のスタブリゾルバは新しいソケットを開くまで関与しません—典型的には新しい ssh か、長時間アイドルの踏み台が再接続するときです。HTTPS は頻繁に再接続するため誤解が増えますが、SSH 自動化は90 秒ごとに再接続することもあり、人間の長セッションでは気づかないローテーションが表面化します。
- 定量:「一夜で SSH が地域を跳んだ」チケットの約 18% はキャリアではなくオーケストレーション再接続ループが原因でした。
- 故障モード:
ssh -o ConnectionAttempts=12を使う CI が、パケットロスと DNS 並べ替えが重なると別バックエンドを叩き続け—フラッピングに見えます。 - セキュリティ:ホストキー固定は名前を重視します。PTR が整合しない複数 A はレイテンシとは無関係な SOC アラートを誘発します。
インフラチームが複数 A を公開する正当な理由
地域認識 DNS、anycast フロント、active/active クラスタは負荷分散のために複数 IPv4 を返します。Apple 中心の CI はスプレッドシートなしで HK/JP/KR/SG/US PoP にビルダーを分散できますが、決定論的パイプラインには決定論的エンドポイントが要ります。それはパケットロスではなくポリシーの緊張です。どのバックエンドが最初に応答したか証明するには MTR 診断と組み合わせてください。
四列マトリックス:誰が DNS ローテーションを最初に感じるか
| ペルソナ | 典型的再接続間隔 | 複数 A の漂移を見るか | 緩和の優先度 |
|---|---|---|---|
| 対話型開発シェル | 数時間(単一セッション) | 稀—VPN が TCP を切らない限り | 安定した踏み台ホスト名を使う |
| GitHub Actions → SSH デプロイ | ジョブごと(3–12 分) | よくある—毎ジョブで再解決 | 数値 IP または単一 A の専用名を固定 |
| SSH トンネル越し rsync | 単一長転送 | 転送途中でホップしない | keepalive ガイドでアイドル切断を監視 |
| OpenClaw ゲートウェイ北向き SSH | デーモン再接続ループ | 障害時は該当 | ゲートウェイ復旧と整合 |
八ステップ:SSH 先を決定論的にする
- 応答の棚卸し:少なくとも五回連続で
dig +short A hostnameを実行し—順序の差を記録。 - アクティブピアをログ:macOS は
lsof -nP -iTCP -sTCP:ESTABLISHED | grep ssh、Linux はss -tnp。 - アイドルタイムアウトを比較:TCP keepalive 記事に沿って
ServerAliveIntervalを揃え、NAT が密かな再接続を強いないようにする。 - 自動化を凍結:DNS 移行中は cron 駆動の再接続を停止—部分障害を増幅しない。
- 単一 A の踏み台別名を作成:例
stable-mini-sg.provider.exampleを保守承認済みアドレスのみへ。 - SaaS egress を検証:API が IP をホワイトリストする場合、バックエンド移動時に egress 安定性を再確認。
- TTL の計算を文書化:権威 TTL とローカルスタブキャッシュの両方—上書き後 30–120 秒ズレが典型的。
- ポストモーテムひな形:タイムスタンプ、影響リージョン(HK/JP/KR/SG/US)、IPv6 の関与の有無。
デュアルスタック:AAAA 競速が IPv4 ロビンを上回ることがある
RFC 8305 Happy Eyeballs は手動で IPv4 だけ見ている間に IPv6 を張り、錯覚として「SSH が間違った A を選んだ」と見えます。dig AAAA +short と dig A +short の両方を取得してください。IPv6 経路が壊れているならゾーンを書き換える前に Happy Eyeballs を見直します。
DNS の変動と同時に MTU ブラックホールが出る場合は PMTUD 停滞を—1400 バイト付近はトンネルオーバーレイと相関し、複数 A とは無関係なことが多いです。
FAQ
システム整合性保護(SIP)は DNS を変えますか?いいえ—SIP はバイナリを守り、リゾルバキャッシュではありません。
ProxyMac は毎週アドレスをローテーションしますか?公開メンテナンス時のみです。TTL だけから推測せずプロバイダ通知を購読してください。
ssh -4 を使うべき?IPv6 調査では一時的に—DNS アーキテクチャ負債を永久マスクにしないでください。
明示的ルーティング規律と相性の良い ProxyMac Mac mini
自動化を予測可能なエンドポイントへ固定すると、HK/JP/KR/SG/US の Mac mini M4 レンタルはベアメタルを買わずに Xcode と自動化に一貫した macOS を提供します。Apple Silicon は待機電力が低く編排を接続したままにでき、同一フリートでデュアルスタックも検証可能です。フットプリントは 料金ページ、DNS シナリオは ヘルプセンター、アドレス確認の GUI は VNC ガイドを参照してください。