状況
昨日、example.com のゾーンを別の DNS サービスへ移した。今朝から監視サーバーの curl https://api.example.com/health が「Could not resolve host: api.example.com」で失敗している。
原因を調べる順番として、最も適切なものは?
- A
curl -vで HTTP の応答とヘッダーを見る - B
nc -vz api.example.com 443でポートに届くか確かめる - C
dig api.example.comで名前が引けるか、どの DNS が答えるか - DAPI サーバーのアプリのログでエラーを探す
正答
- C → B → A → D
- D → A → B → C
- A → B → C → D
- B → C → A → D
解説
「Could not resolve host」は名前解決の段階で失敗したという意味で、TCP の接続も HTTP の要求も始まっていない。しかも直前に DNS のゾーンを移しているので、最初に dig で名前が引けるか、どのサーバーが答えているかを見る(C。移行先にレコードを移し忘れた、が典型)。名前が引けたら nc -vz で 443 番に届くか(B)、届いたら curl -v で TLS と HTTP の応答(A)、と下の層から順に進める。要求が届いていない以上、API サーバーのログ(D)には何も残っておらず、最初に見ても手がかりが無い。上から全部見る順番は遠回り。
この問題を含む ネットワーク基礎 のテストを制限時間つきで解く
ネットワーク基礎クイズへ