DNS 문제는 단순해 보이지만 실제로는 헷갈릴 때가 많습니다.
특히 이런 질문이 자주 나옵니다.
- 레코드를 바꿨는데 왜 아직 예전 IP가 보일까
- TTL은 언제 줄어드는 걸까
- CNAME을 쓰면 lookup 흐름이 어떻게 이어질까
- resolver cache는 결과에 어떤 영향을 줄까
이 흐름을 실험하기 위해 만든 도구가 DNS Lookup and TTL Inspector입니다.
어떤 도구인가
이 도구는 실제 DNS 서버를 조회하지 않습니다.
브라우저 안의 sample zone과 generated documentation record를 사용해:
- A, AAAA, MX, TXT, CNAME record 구조
- recursive resolver 단계
- TTL countdown
- cache age 변화
- CNAME chain
을 보여줍니다.
실제 운영 DNS 값을 확인하는 목적보다는 DNS 동작 원리와 TTL 감각을 잡는 데 맞춰져 있습니다.
기본 사용법
페이지를 열고 domain과 record type을 선택하면 answer records가 갱신됩니다.
기본 흐름은 이렇습니다.
- domain 입력
- record type 선택
- answer records 확인
- recursive trace 확인
- cache age slider로 TTL 감소 확인
Sample 버튼을 누르면 바로 확인하기 좋은 예제가 들어갑니다.
TTL은 왜 중요한가
TTL은 resolver가 record를 cache에 보관할 수 있는 시간입니다.
예를 들어 TTL이 300초라면, record를 받은 resolver는 일정 시간 동안 같은 값을 재사용할 수 있습니다.
그래서 DNS record를 수정해도 모든 사용자가 즉시 새 값을 보는 것은 아닙니다.
record 수정
→ authoritative DNS는 새 값
→ resolver cache는 아직 예전 값
→ TTL 만료 후 새 값 조회
DNS 전파가 느리다고 느끼는 많은 상황이 사실 이 cache/TTL 흐름입니다.
Cache age slider로 볼 수 있는 것
cache age를 올리면 남은 TTL이 줄어듭니다.
이 기능은 다음을 이해하는 데 좋습니다.
- cache가 막 생성된 상태
- TTL이 절반 정도 지난 상태
- 만료 직전 상태
- TTL이 끝나 다시 조회가 필요한 상태
DNS 장애를 볼 때 “현재 값이 맞는가”뿐 아니라 “어느 cache에서 본 값인가”를 같이 생각해야 하는 이유를 보여줍니다.
CNAME chain 확인
CNAME은 이름이 다른 이름을 가리키는 record입니다.
예를 들어:
www.example.com
→ app.example.net
→ A record
처럼 이어질 수 있습니다.
도구에서는 CNAME sample을 통해 canonical name을 따라가며 answer chain을 확인할 수 있습니다.
운영에서는 CNAME chain이 길어질수록 조회 단계와 문제 지점도 늘어납니다.
한 줄 요약
DNS Lookup and TTL Inspector는 실제 DNS를 조회하지 않고도 record, recursive lookup, TTL, cache age, CNAME 흐름을 브라우저에서 실험하는 도구입니다.