개발자는 네트워크 문제를 증상에서 계층별로 좁혀 간다

API timeout이나 접속 실패가 보이면 코드부터 탓하기보다, 이름 해석과 연결, 포트, 경로, HTTP 응답을 순서대로 나눠 확인합니다.

1

이름 해석

도메인이 IP로 바뀌는지 확인합니다.

nslookup api.example.com
2

도달 여부

서버까지 패킷이 닿는지 봅니다.

ping api.example.com
3

포트

서비스 포트가 열려 있는지 나눕니다.

nc -zv api.example.com 443
4

경로

어느 hop에서 지연되는지 찾습니다.

traceroute api.example.com
5

HTTP

응답 코드와 헤더, 본문을 봅니다.

curl -v /health
코드 문제요청 생성, timeout 설정, 인증 헤더가 틀린 경우입니다.
네트워크 문제DNS, 라우팅, 방화벽, 서버 포트에서 막힌 경우입니다.

핵심: 네트워크를 알면 “서버가 이상하다”를 “DNS, 포트, 경로, HTTP 중 어디인지”로 바꿔 말할 수 있다.