VPSに届かない時は、DNS・待受・公開ポートを順に分ける
接続できない時は、DNSからアプリまでを段階ごとに分ける。IPv4で開けた結果をIPv6にも当てはめず、確認したアドレスと経路を残す。
公開アドレスを持つことと、アプリに届くこと
VPSの契約でIPアドレスが付いても、DNS設定、待受、ポート、ファイアウォール、証明書まで自動で正しくなるとは限らない。AはIPv4、AAAAはIPv6のDNSレコードなので、両方を公開するなら両方の到達を確認する。
ABLENETの仕様はIPv4 1個、IPv6 65,536個と表示している。ただし、個数を通信速度の評価には使わない。他社も同じ条件だと補わず、対象プランのアドレスと追加条件を個別に確認する。資料確認日: 2026年9月14日。
外から内へ、確認票をたどる
当サイトの確認票では、異なる層を「つながらない」の一言にまとめない。
| 層 | 確認内容 | 残す記録 |
|---|---|---|
| DNS | 正しい名前で意図したA/AAAAを返すか | 回答、確認時刻、確認元 |
| 事業者側 | 対象アドレスと許可した通信が合うか | プラン、FWルール、対象ポート |
| OS側 | IPv4/IPv6の待受と制限 | 待受アドレス、ポート、プロセス |
| コンテナ側 | ホストからどのポートへ対応づけたか | ホスト側とコンテナ側を別記 |
| TLS | 名前に合う証明書か | ホスト名、期限、検証結果 |
| アプリ | 期待する経路と応答か | 状態コードと機能確認 |
架空の切り分け例として、IPv4では開け、IPv6では失敗する場合、同じページ全体を「公開成功」と記録せず、AAAAの向き先とIPv6の待受・制限を照合する。これは実障害の報告ではなく、調べる順番の例だ。
Dockerのポート指定を読み違えない
Dockerの公開ポート資料では、ホストIPを指定しないポート公開は既定で全ホストアドレスに向く。8080:80の左側はホスト、右側はコンテナのポートだ。
同資料はloopbackアドレスを明示する方法を説明するが、Docker 28.0.0より古い版では同じL2ネットワークからlocalhost公開ポートに届く問題も案内している。また、ルーティング方式やホスト側の設定によって経路が異なる。文字列にlocalhostがあるだけで外部から届かないと断定せず、版とネットワーク方式を確認する。
私たちの通知のローカル実験はPythonで127.0.0.1だけに待ち受けを作った。DockerのIPv6公開や、インターネット越しの到達を実証した実験ではない。検証した範囲を広げて説明しないため、記録も分けている。
原因が分かってから変更する
何もかも通す設定へ一度に変更すると、どの条件が原因だったか分からなくなる。自分の管理対象と必要な通信に絞り、一つ変えるごとに到達と不要な公開がないかを確認する。
Webhookの受信なら、接続できることに加え、署名・再送・重複などの受信前チェックへ進む。移行でIPを変える場合はDNS切替えの計画を使う。アドレスが正しいだけで契約の増額を決める前に、失敗している層を保守担当へ渡す。