“전파”란 사실 캐시 만료일 뿐
0분
변경 사항 저장
0-5분
DNS 호스트가 업데이트
TTL까지
이전 응답이 아직 캐시됨
TTL 이후
모두 새 응답을 확인
어디로도 푸시되지 않으며, 각 캐시가 사본 재사용을 멈출 뿐입니다
DNS 변경이 적용되지 않을 때 해야 할 일
DNS 변경이 적용되지 않는 것처럼 보이는 현상은 일상적인 인프라 작업에서 가장 흔한 불만 중 하나입니다. 기반 시스템(레코드별 만료 시간이 있는 분산 캐시)이 일부러 찾아보기 전까지는 보이지 않기 때문입니다.
고장 났다고 단정하기 전에 확인할 것
- 권한 서버 쪽에 변경이 실제로 저장되었는지 확인합니다. 일반 공개 리졸버 대신 도메인의 권한 네임서버를 직접 조회하여, 저장이 조용히 실패했거나 제공업체 내부 인프라에 아직 동기화되지 않은 경우를 가려냅니다.
- 레코드의 이전 TTL을 확인합니다. 예를 들어 86400초(24시간)로 설정되어 있었다면, 변경 몇 분 전에 이전 응답을 캐시한 리졸버는 최대 하루 동안 다시 묻지 않습니다.
- 브라우저나 OS 수준의 DNS 캐시를 배제합니다. 이 캐시는 설정된 리졸버보다 더 가까이 있으며 리졸버와 독립적으로 응답을 보관할 수 있습니다.
- 의도한 레코드를 실제로 변경했는지 확인합니다. 스테이징이나 비운영 DNS 존을 실수로 수정하는 일이 의외로 흔합니다.
- 한 곳이 아니라 여러 관측 지점에서 확인합니다. 한 리졸버에서 이전 응답이 보인다고 해서 다른 모든 곳에 변경이 전파되었는지는 알 수 없습니다.
덜 알려진 원인: 보조(슬레이브) 네임서버의 지연
대규모 DNS 구성에서는 변경을 실제로 수행하는 주(또는 “마스터”) 네임서버 하나와, 존 전송을 통해 주기적으로 존을 복사해 가는 하나 이상의 보조(“슬레이브”) 네임서버를 함께 운영하는 경우가 많습니다. 전송 일정 설정 오류, 주 서버와 보조 서버 간 네트워크 문제, 또는 단순히 전송 간격이 아직 지나지 않은 이유로 보조 서버가 최신 전송을 받지 못했다면, 주 서버가 완전히 최신이고 모든 리졸버의 TTL 기반 캐시가 만료되었더라도 그 보조 서버에 질의하는 리졸버는 계속 이전 응답을 받습니다. 단순 캐시보다는 드문 원인이지만, 공개 리졸버끼리만 불일치하는 경우뿐 아니라 같은 도메인의 권한 네임서버들끼리 서로 다른 응답을 줄 때는 특히 이 가능성을 확인해 볼 만합니다.
미리 계획하면 대부분 피할 수 있습니다
마이그레이션, 제공업체 전환, 컷오버 같은 계획된 변경에서는 하루 이틀 전에 TTL을 낮춰 두는 것이 가장 효과가 큰 단일 조치입니다. 약간의 추가 쿼리 비용을 치르는 대신, 변경이 최악의 경우 꼬박 하루가 걸리는 대신 몇 분 안에 전파됩니다. TTL을 낮추고, 이전 TTL 기간이 완전히 지나기를 기다린 다음 변경하고, 모든 것이 정상인지 확인한 뒤 TTL을 다시 올리세요.
로컬 캐시가 실제 원인일 때 직접 비우기
권한 네임서버와 확인한 모든 공개 리졸버가 이미 새 응답에 일치하는데 특정 컴퓨터에서만 이전 값이 보인다면, 그 컴퓨터의 로컬 캐시가 남은 용의자입니다.
| 플랫폼 | 명령 | 삭제 대상 |
|---|---|---|
| Windows | ipconfig /flushdns | OS 수준 DNS 캐시 |
| macOS | sudo dscacheutil -flushcache | OS 수준 DNS 캐시 |
| Linux (systemd-resolved) | sudo resolvectl flush-caches | OS 수준 DNS 캐시 |
| Chrome | chrome://net-internals/#dns | 브라우저의 별도 캐시 |
권한 서버 쪽이 이미 올바른지 확인한 뒤에만 이 명령을 쓰는 것이 좋습니다. 실제 레코드가 아직 갱신되지 않았는데 로컬 캐시를 비우면 같은 이전 응답을 새로 받아 올 뿐이고, 캐시 삭제가 실패한 것과 똑같이 보입니다.
도메인의 공개 DNS 주소를 확인해야 하나요? Domain IP Lookup 도구를 사용해 보세요.
관련 글
조회에 걸리는 일반적인 시간
느린 DNS 확인 문제 해결하기
사이트가 느리게 로드되는 것이 사실은 느린 DNS 조회 때문일 수 있습니다. 구분하는 방법과 일반적인 원인을 살펴봅니다.
같은 도메인이 다르게 응답하는 세 가지 이유
지리적 라우팅
지역마다 다른 엣지 서버
캐싱
독립된 TTL, 독립된 캐시
스플릿 호라이즌
의도된 다른 응답
네트워크마다 도메인이 다르게 확인되는 이유
집, 사무실, 휴대폰 데이터에서 IP가 서로 다르게 보이는 것은 반드시 버그가 아닙니다. 실제로 어떤 일이 일어나는지 설명합니다.
네 가지 결과, 네 가지 다른 대응
DNS 타임아웃과 SERVFAIL의 차이
둘 다 조회 실패처럼 보이지만 타임아웃과 SERVFAIL은 서로 다른 문제를 가리키며, 그에 따라 다음에 취해야 할 조치도 달라집니다.