ノードと遅延 2026年5月8日

2026 複数 DNS A レコード対 SSH の張り付き:ProxyMac Mac mini のホスト名が HK/JP/KR/SG/US で複数 IPv4 に解決するとき何が起きるか

ProxyMac エンジニアリングチーム 2026年5月8日 約 13 分で読めます

レンタルされた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 アラートを誘発します。
覚えておく:TTL を 3600 秒から 60 秒へ縮めると新規接続のフェイルオーバーは速くなりますが、既存 TCP を移し替えません。

インフラチームが複数 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 先を決定論的にする

  1. 応答の棚卸し:少なくとも五回連続で dig +short A hostname を実行し—順序の差を記録。
  2. アクティブピアをログ:macOS は lsof -nP -iTCP -sTCP:ESTABLISHED | grep ssh、Linux は ss -tnp
  3. アイドルタイムアウトを比較:TCP keepalive 記事に沿って ServerAliveInterval を揃え、NAT が密かな再接続を強いないようにする。
  4. 自動化を凍結:DNS 移行中は cron 駆動の再接続を停止—部分障害を増幅しない。
  5. 単一 A の踏み台別名を作成:stable-mini-sg.provider.example を保守承認済みアドレスのみへ。
  6. SaaS egress を検証:API が IP をホワイトリストする場合、バックエンド移動時に egress 安定性を再確認。
  7. TTL の計算を文書化:権威 TTL とローカルスタブキャッシュの両方—上書き後 30–120 秒ズレが典型的。
  8. ポストモーテムひな形:タイムスタンプ、影響リージョン(HK/JP/KR/SG/US)、IPv6 の関与の有無。
誤解禁止:CheckHostIP no は複数 A を止めません—known_hosts 内の IP ピンのみ緩めます。ホストキー衛生と組み合わせ、検査を盲目的に切らないでください。

デュアルスタック:AAAA 競速が IPv4 ロビンを上回ることがある

RFC 8305 Happy Eyeballs は手動で IPv4 だけ見ている間に IPv6 を張り、錯覚として「SSH が間違った A を選んだ」と見えます。dig AAAA +shortdig 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/USMac mini M4 レンタルはベアメタルを買わずに Xcode と自動化に一貫した macOS を提供します。Apple Silicon は待機電力が低く編排を接続したままにでき、同一フリートでデュアルスタックも検証可能です。フットプリントは 料金ページ、DNS シナリオは ヘルプセンター、アドレス確認の GUI は VNC ガイドを参照してください。

まずリージョンを選び—DNS 方針を固定する

HK · JP · KR · SG · US · Apple Silicon M4