다음과 같은 DNS 구성이 있습니다.
www.example.com 600 IN CNAME prod.myzone.l2.company.example
prod.myzone.l2.company.example 600 IN CNAME ssl-endpoint-12345.hostcorp.example
ssl-endpoint-12345.hostcorp.example 60 IN A 192.0.2.4
따라서 체인의 처음 두 CNAME 레코드의 TTL은 10분이고 마지막 A 레코드의 TTL은 1분입니다.
CNAME prod.myzone.l2.company.example
은 여러 엔드포인트 간에 지역적 부하 분산을 수행하며, DNS 공급자가 현재 엔드포인트가 비정상이라고 판단하면 자동으로 업데이트됩니다. 이러한 이유로 저는 prod.myzone.l2.company.example
가능한 한 빨리 CNAME 에 변경 사항을 전파하고 싶습니다 .
변경 시 클라이언트에 표시되는 전체 TTL을 줄이려면 prod.myzone.l2.company.example
레코드의 TTL만 줄이는 것으로 충분합니까 prod.myzone.l2.company.example
, 아니면 레코드의 TTL도 줄여야 합니까 www.example.com
?
답변1
for 레코드 TTL
는 CNAME
다른 레코드와 다르게 작동하지 않습니다.
위의 과정이 진행되는 재귀적 해결 프로그램을 상상해 보겠습니다. 그런 다음 캐시를 다음으로 채웁니다.
www.example.com CNAME
600초 동안 유효prod.myzone.l2.company.example CNAME
600초 동안 유효ssl-endpoint-12345.hostcorp.example A
60대까지 유효
나중에 누군가가 ssl-endpoint-12345.hostcorp.example A
직접 쿼리하면 60초 TTL이 적용됩니다.
그러나 쿼리가 에 대한 경우 www.example.com
확인자는 레코드가 아닌 CNAME을 확인 A
하고 위의 항목을 모두 재사용합니다.
예를 들어 위의 이후 66s는 www.example.com
여전히 확인자 캐시에 있지만 ssl-endpoint-12345.hostcorp.example A
더 이상 존재하지 않으므로 확인자는 해당 데이터를 가져오고 캐시하기 위해 새로운 DNS 쿼리를 수행해야 합니다.