CNAME은 주소가 아닌 이름의 별칭
www.example.com
CNAME 레코드
cdn.provider.net
대상 호스트 이름
192.0.2.10
A 레코드, 최종 응답
CNAME 체인 이해하기: 별칭을 따라 IP까지 추적하기
CNAME 레코드는 한 DNS 이름을 다른 정식 호스트 이름의 별칭으로 만듭니다. 별칭 자체에는 IPv4나 IPv6 주소가 들어 있지 않으며, 리졸버가 대상을 따라가 그곳에서 요청한 데이터를 찾습니다. 한 별칭이 그 자체로 별칭인 이름을 가리키거나, 제공업체의 DNS 구성에서 주소가 반환되기 전에 여러 관리형 대상이 끼어들면 체인이 생깁니다. 호스팅 플랫폼과 CDN에서 흔한 일입니다. 체인을 이해하면 단순한 조회에서 호스트 이름이 먼저 보이고 추가 확인 단계를 거친 뒤에야 IP가 나타나는 이유를 알 수 있습니다.
각 연결을 하나씩 따라가세요
www.example.com이 customer.hosting.example의 CNAME이고, 이 이름이 다시 지역별 서비스 이름의 별칭이라고 해 봅시다. 리졸버는 요청한 주소 데이터를 찾거나, 오류 또는 잘못된 구성에 도달할 때까지 체인을 계속 따라갑니다. 각 별칭 대상은 별도의 DNS 이름이며 고유한 TTL과 제공업체 소유권을 가질 수 있습니다. 디버깅할 때는 최종 주소만이 아니라 각 연결을 모두 기록하세요. 대상의 철자가 틀렸거나, 존재하지 않거나, 루프로 되돌아가면, 대시보드에서는 첫 번째 CNAME 레코드가 올바르게 보이더라도 확인이 실패할 수 있습니다.
| 체인 결과 | 확인할 사항 |
|---|---|
| 별칭이 A / AAAA로 확인됨 | 최종 주소 값과 TTL |
| 대상에 요청한 유형이 없음 | 대상이 해당 레코드 계열을 게시해야 하는지 여부 |
| 대상이 NXDOMAIN을 반환 | 호스트 이름 철자와 제공업체 측 대상 상태 |
| 체인이 루프를 이룸 | 순환 별칭 또는 충돌하는 제공업체 구성 |
| 리졸버마다 대상이 다름 | CDN, 지역 기반 라우팅 또는 캐시 동작 |
CNAME 규칙에는 제약이 있습니다. CNAME인 이름은 DNSSEC 관련 레코드와 특수한 제공업체 구현을 제외하면 일반적으로 같은 소유자 이름에 관련 없는 데이터를 함께 둘 수 없습니다. 표준 DNS에서 존 apex의 CNAME이 필수 SOA 및 NS 레코드와 충돌하는 이유가 이것입니다. 일부 DNS 호스트는 apex에서도 비슷한 편의를 제공하는 ALIAS, ANAME 또는 플래트닝 기능을 제공하지만, 구현 방식이 서로 다르고 외부에는 합성된 주소 레코드를 반환합니다. 제공업체 UI에서 별칭이라고 부르는 기능이 반드시 실제 전송 단계의 CNAME이라고 가정하지 마세요.
TTL과 제공업체 소유권이 중요합니다
확인 체인의 각 단계는 독립적으로 캐시될 수 있습니다. 최종 대상을 변경해도 재귀 리졸버에 이미 캐시된 별칭 응답이 즉시 바뀌지 않을 수 있으며, 연결마다 TTL 값이 다를 수 있습니다. 제공업체가 도메인 인증을 위해 CNAME 추가를 요청하면, 필요한 밑줄 접두사까지 포함해 지정된 소유자와 대상을 정확히 사용하세요. 기존 CNAME에 무엇이 의존하고 있는지 파악하기 전에는 다른 곳으로 바꾸지 마세요. 체인의 신뢰성은 각 연결 뒤에 있는 레코드와 서비스의 신뢰성을 넘지 못합니다.
- 별칭에서 주소까지 모든 CNAME 대상을 기록합니다.
- 최종 대상의 A와 AAAA를 각각 독립적으로 확인합니다.
- 순환 별칭과 같은 소유자의 충돌하는 레코드를 피합니다.
- apex 플래트닝이 제공업체 기능인지 표준 DNS 레코드인지 확인합니다.
- 갱신된 대상이 모든 곳에서 보이지 않으면 TTL을 비교합니다.
마이그레이션에서 체인 활용하기
CNAME을 사용하면 호스팅 제공업체가 고객이 매번 A 레코드를 수정하지 않아도 내부 IP 주소를 바꿀 수 있습니다. 대신 대상 이름과 해당 제공업체에 의존하게 됩니다. 플랫폼을 옮기기 전에 새 대상을 확인하고, 올바른 DNS 권한 서버에서 별칭을 갱신한 뒤, 공개 리졸버에서 전체 체인을 검증하세요. 캐시가 이전 대상을 아직 참조할 수 있는 동안에는 이전 서비스를 계속 유지하세요. 조회 도구가 첫 번째 별칭에서 멈춘다면 이후 연결까지 보여 주는 리졸버나 검사 도구를 사용하고, 그다음 의도한 호스트 이름으로 최종 서비스를 테스트하세요.
주소 레코드와 별칭 레코드의 핵심 차이는 CNAME과 A 레코드 글에서 읽을 수 있습니다. DNS 레코드 안내는 다른 일반적인 유형을 설명하고, 도메인 조회 도구는 호스트 이름의 공개 DNS 데이터를 보여 줍니다. 눈에 보이는 CNAME은 목적지 자체가 아니라 포인터입니다. 전체 체인을 추적하는 것이 DNS가 현재 어떤 엔드포인트로 이어지는지 이해하는 확실한 방법입니다.
제공업체 변경 시 취약한 체인을 피하세요
별칭이 하나 늘어날 때마다 계속 유효해야 하는 의존성이 하나 늘고 캐시 수명도 하나 더 생길 수 있습니다. 긴 체인이 곧바로 문제인 것은 아니지만, 최종 응답을 추론하기 어려워지고 여러 제공업체가 서로 다른 연결을 소유하면 마이그레이션이 복잡해집니다. 체인은 현실적으로 가능한 한 짧게 유지하고, 각 대상을 어느 쪽이 관리하는지 문서화하며, 이전 플랫폼 이름이 더 이상 참조되지 않는지 주기적으로 확인하세요. 계정을 삭제하거나 공급업체를 바꾸기 전에는 존에서 해당 호스트 이름을 가리키는 별칭을 검색하세요. 그렇지 않으면 올바르게 보이는 첫 번째 CNAME이 폐기된 대상에 계속 의존하다가, 이전 제공업체가 서비스를 종료한 뒤에야 실패할 수 있습니다.
도메인의 공개 DNS 주소를 확인해야 하나요? Domain IP Lookup 도구를 사용해 보세요.
이 주제의 무료 도구
관련 글
이메일이 메일 서버를 찾는 과정
발신자
you@gmail.com
MX 조회
메일을 받는 곳은?
메일 서버
우선순위 10 먼저
받은편지함
전달됨
우선순위 값이 낮을수록 먼저 사용되고, 높은 값은 백업입니다
MX 레코드 설명: 이메일이 목적지를 찾는 방법
MX 레코드는 도메인의 이메일을 처리하는 메일 서버가 어디인지 인터넷에 알려 줍니다. A 레코드와 구조가 다른 이유도 함께 살펴봅니다.
“DNS 서버”라는 이름을 공유하는 세 계층
스텁 리졸버
내 기기 자체
재귀 리졸버
ISP, 라우터, 1.1.1.1
권한 네임서버
도메인 자체의 DNS
재귀 리졸버와 권한 네임서버의 차이
‘DNS 서버’라는 말에는 전혀 다른 두 가지 역할이 섞여 있습니다. 질문을 대신 해 주는 재귀 리졸버와 답을 가진 권한 서버입니다.
실무에서 TTL 정하기
DNS TTL 이해하기: 변경이 반영되는 데 시간이 걸리는 이유
TTL은 DNS 응답이 다시 조회되기 전까지 캐시되는 시간을 정합니다. DNS 변경이 모든 곳에 즉시 나타나지 않는 진짜 이유입니다.