Domain IP Lookup

실무에서 TTL 정하기

60-300s마이그레이션 중: 빠른 전파, 쿼리 증가
3,600s대부분의 일반 레코드에 적합한 기본값
86,400sMX, NS처럼 거의 바뀌지 않는 레코드
DNS 기초

DNS TTL이란? 적절한 값 정하기

읽는 시간 2분

TTL은 Time To Live의 약자입니다. 모든 DNS 레코드에 붙는 초 단위의 숫자이며, 리졸버가 다시 묻기 전까지 이 응답을 얼마나 재사용해도 되는지에 답합니다.

DNS 설정 중에서 가장 덜 고려되는 항목입니다. 대부분은 제공업체가 정한 기본값을 그대로 받아들이고, 긴급한 마이그레이션 중에야 그 존재를 알게 되지만 그때는 의미 있게 바꾸기에 너무 늦습니다.

실무에서 TTL 정하기

60-300s마이그레이션 중: 빠른 전파, 쿼리 증가
3,600s대부분의 일반 레코드에 적합한 기본값
86,400sMX, NS처럼 거의 바뀌지 않는 레코드
TTL이 높으면 질의가 줄고 조회가 빨라집니다. TTL이 낮으면 변경이 빠르게 반영됩니다. 둘을 모두 가질 수는 없습니다.

트레이드오프

높은 TTL (86400)낮은 TTL (300)
조회 속도더 빠름. 대개 캐시에서 응답더 느림. 자주 다시 질의
질의량적음많음
변경 반영 시간최대 24시간최대 5분
DNS 장애 시 복원력더 좋음. 캐시가 보완해 줌더 나쁨. 캐시가 빨리 만료됨
적합한 경우안정적인 레코드곧 바뀔 레코드

핵심 요약

높은 TTL은 속도와 복원력에 최적화되고, 낮은 TTL은 민첩성에 최적화됩니다. 어느 쪽이 항상 정답인 것은 아닙니다. 해당 레코드가 곧 바뀔 예정인지에 따라 답이 달라집니다.

실제 TTL은 어떻게 보이나요

IN 앞의 숫자가 초 단위 TTL입니다
example.com.    3600    IN    A     93.184.216.34
example.com.   86400    IN    NS    ns1.example.com.

dig로 질의하면 설정된 값이 아니라 남은 TTL이 표시됩니다. 같은 질의를 몇 초 간격으로 두 번 실행해 숫자가 줄어드는 것을 확인해 보세요. 리졸버 캐시가 카운트다운되는 모습을 실시간으로 보는 것입니다.

캐시된 레코드가 만료되는 과정 지켜보기
dig +noall +answer example.com
# wait 10 seconds, then
dig +noall +answer example.com

레코드 유형별 권장 값

레코드권장 TTL이유
A / AAAA3600 (1시간)무난한 기본값입니다. 실수를 바로잡을 만큼 빠르고, 효율적일 만큼 깁니다.
마이그레이션 중의 A300 (5분)변경이 빠르게 반영되도록 하루 전에 설정하세요.
MX3600-14400메일은 대기열에 쌓였다가 재시도되므로 속도는 덜 중요합니다.
TXT (SPF/DKIM/DMARC)3600변경이 드물며, 변경할 때는 충분히 빠릅니다.
NS86400+위임은 거의 바뀌지 않으며 캐시하면 TLD 부하가 줄어듭니다.
CNAME대상과 동일하게가리키는 대상보다 빨리 만료시켜도 이점이 없습니다.

마이그레이션 패턴

외워 둘 만한 유일한 TTL 워크플로입니다. 하루 동안 이어질 수 있는 장애 위험을 5분으로 줄여 주기 때문입니다.

  1. 변경하기 최소 이전 TTL 한 주기 전에 TTL 낮추기

    현재 TTL이 3600이라면 300으로 변경하고 최소 1시간 기다리세요. 다른 것은 바꾸지 마세요.

  2. 짧은 TTL이 제공되는지 확인

    레코드를 질의해 TTL이 300에서부터 카운트다운되는지 확인하세요. 이제 여러분의 레코드를 보관 중인 모든 캐시가 5분 타이머로 동작합니다.

  3. 실제 변경 수행

    주소를 수정합니다. 이제 누구든 최대 대기 시간은 5분입니다.

  4. 검증한 뒤 TTL 복원

    트래픽이 새 서버로 옮겨 갔다면 TTL을 3600으로 되돌려 질의 비용 부담을 멈추세요.

TTL과 복원력

거의 언급되지 않는 높은 TTL의 장점이 있습니다. DNS 제공업체에 장애가 생겨도 레코드를 아직 캐시하고 있는 리졸버는 계속 응답한다는 점입니다. 24시간 TTL이라면 몇 시간 동안 이어지는 DNS 장애도 대부분 눈에 띄지 않고 넘길 수 있습니다. 60초 TTL이라면 거의 즉시 서비스가 끊깁니다.

안정적인 레코드에서는 TTL을 넉넉하게 높게 유지하고, 낮은 TTL은 기본 방침이 아니라 일시적인 마이그레이션 도구로 다루어야 한다는 실질적인 근거입니다. 레코드가 바뀔 때 무엇을 기다리는 것인지는 DNS 전파에서 다룹니다.

도메인의 공개 DNS 주소를 확인해야 하나요? Domain IP Lookup 도구를 사용해 보세요.

이 주제의 무료 도구

자주 묻는 질문

관련 글

“전파”란 사실 캐시 만료일 뿐

0분

변경 사항 저장

0-5분

DNS 호스트가 업데이트

TTL까지

이전 응답이 아직 캐시됨

TTL 이후

모두 새 응답을 확인

어디로도 푸시되지 않으며, 각 캐시가 사본 재사용을 멈출 뿐입니다

DNS 기초

DNS 전파, 변경이 오래 걸리는 진짜 이유

실제로 전파되는 것은 없습니다. 기다리는 동안 무슨 일이 일어나는지 이해하면 얼마나 걸릴지, 어떻게 줄일지 정확히 알 수 있습니다.

읽는 시간 3분

거의 모든 존에서 만나게 되는 레코드

A호스트 이름을 IPv4 주소로 연결
AAAA호스트 이름을 IPv6 주소로 연결
CNAME호스트 이름을 다른 호스트 이름으로 연결
MX도메인을 메일 서버로 연결, 우선순위 기준
TXT도메인에 임의의 텍스트 연결: SPF, DKIM, 소유권 확인
NS도메인에 응답하는 네임서버 지정
DNS 기초

DNS A 레코드란? (그리고 AAAA가 필요한 경우)

도메인을 실제로 서버에 연결하는 레코드입니다. 구조, 짝이 되는 AAAA, 사이트를 가장 자주 망가뜨리는 네 가지 실수를 다룹니다.

읽는 시간 3분

실무에서 TTL 정하기

60-300s마이그레이션 중: 빠른 전파, 쿼리 증가
3,600s대부분의 일반 레코드에 적합한 기본값
86,400sMX, NS처럼 거의 바뀌지 않는 레코드
DNS 기초

DNS 캐시 비우는 방법 (OS와 브라우저별)

모든 플랫폼에서 그대로 복사해 쓸 수 있는 명령어와, 비우기 전에 효과가 있을지 알려 주는 진단 방법입니다.

읽는 시간 4분