DNS CNAME 레코드란?

DNS CNAME 레코드는 단일 IP 주소를 공유하는 도메인 이름의 별칭으로 작동합니다.

학습 목표

이 글을 읽은 후에 다음을 할 수 있습니다:

  • 도메인 조회 컨텍스트에서 CNAME 레코드가 작동하는 방식 이해하기
  • CNAME 레코드와 A 레코드 간의 관계 이해하기

글 링크 복사

DNS CNAME 레코드란?

"정식 이름" (CNAME) 레코드는 별칭 도메인에서 "정식" 도메인을 가리킵니다. 도메인 또는 하위 도메인이 다른 도메인의 별칭인 경우 A 레코드 대신 CNAME 레코드가 사용됩니다. 모든 CNAME 레코드는 도메인을 가리켜야 하며 IP 주소를 가리켜서는 안 됩니다. 각 단서가 다른 단서를 가리키고 마지막 단서가 보물을 가리키는 보물찾기를 상상해 보세요. CNAME 레코드가 있는 도메인은 다른 단서(CNAME 레코드가 있는 다른 도메인) 또는 보물(A 레코드가 있는 도메인)을 가리킬 수 있는 단서와 같습니다.

예를 들어 blog.example.com에 'example.com' 값이 있는 CNAME 레코드가 있다고 가정해 보겠습니다 ('blog'없이). 이는 DNS 서버가 blog.example.com에 대한 DNS 레코드에 도달하면, 실제로 example.com에 다른 DNS 조회를 트리거하여 example.com의 IP 주소를 A 레코드를 통하여 반환함을 의미합니다. 이 경우 example.com은 blog.example.com의 정식 이름(또는 실제 이름)이라고 말할 수 있습니다.

종종, 사이트에 blog.example.com 또는 shop.example.com 와 같은 하위 도메인이 있는 경우, 이러한 하위 도메인에는 루트 도메인(example.com)을 가리키는 CNAME 레코드가 있습니다. 이런 방식으로, 호스트의 IP 주소가 변경되면 루트 도메인의 DNS A 레코드만 업데이트하면 되며, 모든 CNAME 레코드는 루트에 대한 변경 사항을 따릅니다.

CNAME 레코드는 항상 CNAME 레코드가 가리키는 도메인과 동일한 웹 사이트로 확인되어야 한다는 오해가 자주 생기지만, 그렇지 않습니다. CNAME 레코드는 클라이언트를 루트 도메인과 동일한 IP 주소로만 가리킵니다. 클라이언트가 해당 IP 주소에 도달하면 웹 서버는 그에 따라 URL을 처리합니다. 예를 들어 blog.example.com은 example.com을 가리키는 CNAME을 가질 수 있으며, 클라이언트에게 example.com의 IP 주소로 향하게 할 수 있습니다. 그러나 클라이언트가 실제로 해당 IP 주소에 연결하면 웹 서버는 URL을 보고 그 URL이 blog.example.com임을 확인하며, 홈 페이지가 아닌 블로그 페이지를 전달합니다.

CNAME 레코드의 예:

blog.example.com 레코드 유형: 값: TTL
@ CNAME 이는 example.com의 별칭입니다 32600

이 예에서는 blog.example.com이 example.com을 가리키는 것을 볼 수 있으며, 그것이 예제 A 레코드를 기반으로 한다고 가정하면 결국 IP 주소 192.0.2.1로 확인된다는 것을 알 수 있습니다.

보고서
2023년 GigaOm Radar DNS 보안 부문
보고서
2023년 4분기 DDoS 위협 환경 보고서 읽기

CNAME 레코드가 다른 CNAME 레코드를 가리킬 수 있을까요?

CNAME 레코드에서 다른 CNAME 레코드를 가리키려면 도메인을 로드하기 전에 여러 번의 DNS 조회가 필요하므로 비효율적이고 사용자 경험이 느려질 수 있지만 가능합니다. 예를 들어 blog.example.com은 www.example.com의 CNAME 레코드를 가리키는 CNAME 레코드를 가질 수 있고 이 레코드는 다시 example.com의 A레코드를 가리킵니다.

blog.example.com 에 대한 CNAME:

blog.example.com 레코드 유형: 값: TTL
@ CNAME 이는 www.example.com의 별칭입니다 32600

www.example.com에 대한 CNAME을 가리킵니다.

www.example.com 레코드 유형: 값: TTL
@ CNAME 이는 example.com의 별칭입니다 32600

이 구성은 DNS 조회 프로세스에 단계를 추가하므로 가능하면 피해야 합니다. 대신 blog.example.com 및 www.example.com 모두에 대한 CNAME 레코드가 example.com을 직접 가리켜야 합니다.

빠른 & 보안 DNS
모든 Cloudflare 요금제에 포함된 무료 DNS

CNAME 레코드 사용에는 어떤 제한이 있을까요?

MX 및 NS 레코드는 CNAME 레코드를 가리킬 수 없습니다. 이들 레코드는 A 레코드(IPv4의 경우) 또는 AAAA 레코드(IPv6의 경우)를 가리켜야 합니다. MX 레코드는 이메일을 메일 서버로 보내는 메일 교환 레코드입니다. NS 레코드는 "이름 서버" 레코드이며 해당 도메인에 대해 권한이 있는 DNS 서버를 나타냅니다.

MX 레코드 또는 NS 레코드에 대해 자세히 알아보세요.