github.com が引けない(Could not resolve host)の最初の30分でやること
`Could not resolve host: github.com` が出たときに、DNS/プロキシ/環境差を最短で切り分けて復旧する手順です。
CIやデプロイで急に Could not resolve host: github.com が出ると、「GitHubが落ちた?」と疑いたくなります。でも多くの場合、原因は“あなたのネットワーク(DNS/プロキシ/社内FW)側”です。まずは推理より、切り分けを速くして復旧までの時間を短くします。
この記事は、github.com が引けない(DNS解決できない)ときに、最初の30分でやることを固定するチェックリストです。
0. まずやらないこと
- 依存を一斉更新する(問題を増やす)
- 認証/SSH鍵/トークンを回し始める(今回のエラー種別では多くが無関係)
- いきなりネットワーク機器の設定を触り散らかす(戻せない変更が混ざる)
1. “どこで”解決できていないかを3段に分ける(最優先)
同じ Could not resolve host に見えても、壊れている場所が違うと対処が変わります。
- ローカルPC(あなたの端末)だけ
- そのネットワーク(Wi-Fi / 会社の回線 / VPN)配下だけ
- 特定の実行環境だけ(例: CI、Docker、VM、Cloudflare Workersのビルド環境など)
この分類ができると、次に見るべき場所が一気に減ります。
2. まずは“同じ条件”で最小の再現コマンドを作る
最初の5分で、実行環境の中で以下だけ確認します。
curl -I https://github.comが引けるかnslookup github.com/dig github.comのどちらかが動くか(無ければスキップ)git ls-remote https://github.com/<owner>/<repo>.gitが引けるか
ここで curl だけ落ちる / git だけ落ちる、の違いが見えたら勝ちです。
3. 典型原因トップ5(当たる順)
A. DNSが死んでいる / 切り替わっている
- DNSサーバが落ちた、または社内DNSが
github.comを引けない - VPN接続でDNSがすり替わっている
- 端末のDNSキャッシュが壊れている(稀に起きます)
対処(戻せる順に):
- いったん別ネットワーク(テザリング等)で同じコマンドを再実行
- VPNを切って再実行(業務上NGなら無理にやらない)
- DNSを一時的にPublic DNS(例: 1.1.1.1 / 8.8.8.8)に切替えて再実行(変更点は必ずメモ)
B. プロキシ/フィルタでブロックされている
HTTPS_PROXY/HTTP_PROXY/NO_PROXYが意図せず効いている- 社内FWでGitHubがブロックされた(カテゴリフィルタ等)
対処:
- 実行環境でプロキシ関連の環境変数を確認して、想定外がないかを見る
- 同じ環境で別ドメイン(例:
example.com)は引けるかを確認(DNS自体か、GitHubだけか)
C. コンテナ/VMだけDNSが壊れている
- ホストはOKだが、Dockerコンテナ内だけ解決できない
resolv.confが変になっている
対処:
- “ホスト”と“コンテナ内”で同じ
curlを比較して差分を取る - コンテナ実行時のDNS指定やネットワーク設定(社内の推奨設定)を確認
D. IPv6まわりの不整合
環境によってはIPv6優先で解決して、実際の到達が落ちることがあります。
対処:
- 可能なら
curl -4/curl -6で差分を見る(使えない環境ならスキップ)
E. 一時的な外部障害(最後に疑う)
GitHub側の障害はゼロではありませんが、最初に疑うと復旧が遅れやすいです。
対処:
- GitHub Statusを確認(ただし“自分の環境だけ”の可能性は残るので、必ずA〜Dの切り分けを先に)
4. 10分で“暫定復旧”する(業務を止めない)
根本対応に入る前に、復旧だけ先に取れることがあります。
- いったん別ネットワークで
git pull/npm install/bun installだけ通す - 依存の取得が目的なら、ミラーやキャッシュ(社内設定)があるならそれを使う
- CIなら「GitHubアクセスが必要なジョブ」だけ再実行する(全体を回し直さない)
5. 収束後にやること(再発防止)
- “どの環境で” “どのコマンドが” 失敗したかを短く記録する
- DNS/プロキシ変更をした場合は、必ず元に戻す手順も一緒に残す
- 同じ事象が起きたときの確認コマンドを、チームのrunbookに追記する
運用の事故は「次の一回を短くする」ほど強くなります。
参考(公式)
- GitHub Status(外部障害の最終確認): https://www.githubstatus.com/
- macOSのDNS設定変更(Apple公式): https://support.apple.com/en-jo/guide/mac-help/mh14127/mac
- macOSで1.1.1.1をDNSに設定(Cloudflare公式): https://developers.cloudflare.com/1.1.1.1/setup/macos/
この記事を書いた人
川原
SiteOps編集チームの公開窓口として、検索、アクセス、収益データをもとにした運営判断の知見をまとめています。
関連記事
次にやること
複数サイトの検索、アクセス、収益データをまとめて見直すなら、SiteOpsのダッシュボードでサイト別に確認できます。
料金を見る相談したい / お問い合わせ