DNS Lookup and TTL Inspector, DNS 캐시와 TTL 흐름 보기
DNS Lookup and TTL Inspector의 record type, TTL countdown, cache age, CNAME chain 기능을 어떻게 쓰면 좋은지 정리한다.
DNS 문제는 단순해 보이지만 실제로는 헷갈릴 때가 많습니다.
특히 이런 질문이 자주 나옵니다.
- 레코드를 바꿨는데 왜 아직 예전 IP가 보일까
- TTL은 언제 줄어드는 걸까
- CNAME을 쓰면 lookup 흐름이 어떻게 이어질까
- resolver cache는 결과에 어떤 영향을 줄까
이 흐름을 실험하기 위해 만든 도구가 DNS Lookup and TTL Inspector입니다. 실제 DNS 질의가 아닌 예약된 예제 응답만 사용합니다.
어떤 도구인가
이 도구는 실제 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 감소 확인
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 흐름을 브라우저에서 실험하는 도구입니다.