A 레코드 vs CNAME: 내 사이트에는 어떤 DNS 레코드를 써야 할까

A 레코드는 도메인을 IP 주소에, CNAME은 다른 호스트명에 연결합니다. 루트 도메인 규칙, 상황별 선택표, 사이트 빌더 설정 예시를 확인하세요.

자주 묻는 질문

루트 도메인에 CNAME을 설정할 수 있나요?

표준 DNS 규칙상으로는 불가능합니다. CNAME은 같은 이름에 다른 레코드와 함께 존재할 수 없는데, 도메인의 루트에는 항상 NS와 SOA 레코드가 있기 때문입니다. 일부 DNS 제공업체는 ALIAS, ANAME, CNAME 플래트닝(flattening) 같은 기능으로 이 제약을 우회합니다. CNAME처럼 설정하지만 실제 응답은 A 레코드로 내려주는 방식이며, 업체마다 부르는 이름이 다르므로 사용 중인 제공업체의 문서를 확인하세요.

CNAME과 A 레코드 중 어느 쪽이 더 빠른가요?

방문자 입장에서는 차이를 체감하기 어려운 수준입니다. CNAME은 리졸버가 처음 별칭을 따라가야 할 때 조회가 한 번 더 늘어나지만, 이후에는 TTL에 따라 캐시된 응답을 사용합니다. 속도보다는 호스팅 업체가 안내하는 방식과 해당 이름이 루트 도메인인지 여부를 기준으로 선택하세요.

호스팅 업체가 www에는 CNAME을, 루트 도메인에는 IP 주소를 알려주는 이유가 뭔가요?

www는 CNAME을 쓸 수 있는 서브도메인이고, 루트 도메인은 CNAME을 쓸 수 없는 apex이기 때문입니다. 루트 도메인에 고정 IP 주소를 안내하는 업체는 A 레코드에 넣을 수 있는 값을 주는 것입니다. 호스트명만 안내하는 업체는 서브도메인에는 CNAME을, 루트 도메인에는 DNS 제공업체가 지원하는 경우 ALIAS 방식 레코드를 쓰라는 뜻입니다.

같은 이름에 A 레코드와 CNAME을 함께 둘 수 있나요?

아니요. 어떤 이름에 CNAME이 있으면 A, MX, TXT 등 다른 어떤 레코드 유형도 둘 수 없습니다. DNS 관리 화면에서 두 번째 레코드 저장이 막힐 수도 있고, 저장은 되지만 조회 결과가 예측 불가능해질 수도 있습니다. 새 유형을 추가하기 전에 기존 레코드를 먼저 삭제하세요.

루트 도메인 레코드를 바꾸면 이메일에는 어떤 영향이 있나요?

루트 도메인의 A 레코드를 바꿔도 이메일에는 영향이 없습니다. 메일 라우팅은 MX 레코드가 담당하기 때문입니다. 위험한 것은 루트에 CNAME을 추가하는 것으로, 이메일에 필요한 MX 및 TXT 레코드와 충돌합니다. 웹사이트를 옮길 때는 MX 레코드를 그대로 두고 A 또는 AAAA 레코드만 수정하세요.

한 줄 요약: A 레코드는 이름을 IPv4 주소에 직접 연결하고, CNAME은 이름을 다른 호스트명에 연결해 그 호스트명의 레코드가 최종 주소를 결정하게 합니다. 루트 도메인(example.com)에는 A 레코드를, www·shop·blog 같은 서브도메인에는 호스팅 업체가 IP 대신 호스트명을 줄 때 CNAME을 사용하세요. 핵심 규칙은 하나입니다. CNAME은 도메인의 루트에 둘 수 없습니다.

각 레코드가 실제로 가리키는 대상

A 레코드: 이름 → IP 주소

A 레코드는 "이 이름의 IPv4 주소는 무엇인가?"라는 질문에 답합니다. 존 파일에서는 다음과 같은 모양입니다.

`` example.com. 3600 IN A 192.0.2.10 ``

이 주소(문서용으로 예약된 대역)가 브라우저가 접속하는 서버입니다. IPv6 주소도 있다면 AAAA 레코드를 함께 추가합니다. 서버 주소가 바뀌면 레코드를 직접 수정해야 합니다.

CNAME 레코드: 이름 → 다른 이름

CNAME("canonical name", 정식 이름)은 "이 이름은 저 다른 이름의 별칭이다"라고 알려줍니다. IP 주소는 절대 들어가지 않습니다.

`` www.example.com. 3600 IN CNAME sites.hostingprovider.example. ``

리졸버는 별칭을 확인한 뒤 대상 이름을 조회하고, 거기서 찾은 A 또는 AAAA 레코드를 사용합니다. 장점은 호스팅 업체가 서버 주소를 바꿔도 내 DNS를 건드릴 필요가 없다는 점입니다. 기본 개념은 CNAME이란 무엇인가에서, 다른 레코드 유형은 DNS 레코드 유형 총정리에서 확인할 수 있습니다.

루트 도메인(apex) 제약, 자세히 보기

apex(루트, 베어, 네이키드 도메인이라고도 함)는 앞에 아무것도 붙지 않은 이름, 즉 example.com입니다. DNS 규칙상 CNAME이 있는 이름에는 다른 레코드 유형을 함께 둘 수 없습니다. 그런데 apex에는 항상 다른 레코드가 있습니다.

  • 도메인의 권한 서버를 알려주는 NS 레코드
  • SOA 레코드
  • 보통 이메일용 MX 레코드와 소유권 인증·SPF용 TXT 레코드

apex에 CNAME을 두면 이 모든 레코드와 충돌합니다. 일부 DNS 관리 화면은 저장 자체를 거부합니다. 더 나쁜 경우는 저장은 되지만 이메일 수신이나 도메인 인증이 조용히 깨지는 것입니다.

서브도메인은 이런 문제가 없습니다. www.example.com에는 보통 해당 이름에 다른 레코드가 없기 때문입니다. 호스팅 업체가 거의 항상 www를 CNAME으로 연결하라고 안내하는 이유입니다.

우회 방법: ALIAS, ANAME, 플래트닝

많은 DNS 제공업체가 apex에서 CNAME처럼 동작하는 비표준 레코드를 제공합니다. 이름은 ALIAS, ANAME, "CNAME 플래트닝" 등으로 제각각이며, 제공업체가 대상 호스트명을 자체적으로 조회한 뒤 방문자에게는 일반 A 레코드로 응답합니다. DNS 표준이 아니라 제공업체의 고유 기능이므로 이름, 동작 방식, 포함 여부가 모두 다릅니다. 사용하기 전에 DNS 제공업체의 문서를 확인하고, 다른 업체의 관리 화면에도 같은 이름의 레코드 유형이 있을 거라고 가정하지 마세요.

A 레코드 vs CNAME: 언제 무엇을 쓸까

상황사용할 레코드이유
루트 도메인(example.com), 호스팅 업체가 IP 주소를 제공A (IPv6를 주면 AAAA도)apex에는 A 레코드를 둘 수 있음
루트 도메인, 호스팅 업체가 호스트명만 제공DNS 제공업체가 지원하면 ALIAS/ANAME/플래트닝, 아니면 DNS를 옮기거나 호스팅 업체의 네임서버 사용표준 CNAME은 apex에서 허용되지 않음
www 서브도메인, 호스팅 업체가 호스트명을 제공CNAME호스팅 업체의 서버가 이동해도 자동으로 따라감
서브도메인, 호스팅 업체가 IP 주소를 제공ACNAME이 가리킬 대상이 없음
SaaS 도구용 서브도메인(help, status, shop)CNAME대상은 서비스 업체가 관리
MX나 TXT 레코드도 필요한 이름A, AAAA 또는 ALIAS 방식, CNAME은 불가CNAME은 다른 레코드와 공존할 수 없음
내가 관리하는 다른 이름으로 연결CNAME수정할 곳이 한 군데뿐
이메일 서비스 레코드(DKIM 셀렉터)이메일 업체가 지시한 경우에만 CNAME업체별로 다르므로 안내를 따름

메일 라우팅에 대해서는 MX 레코드의 작동 방식과 TXT 레코드의 역할을 참고하세요.

사이트 빌더 설정 예시

대부분의 웹사이트 빌더와 호스팅 업체는 두 가지 패턴 중 하나에 해당합니다. 어느 쪽인지는 업체의 대시보드에서 확인할 수 있습니다.

패턴 1: 호스팅 업체가 IP와 호스트명을 모두 제공

많은 업체가 둘 다 안내합니다. 일반적인 설정은 다음과 같습니다.

호스트(이름)유형값
@ (루트)A호스팅 업체가 안내한 IP 주소
wwwCNAME호스팅 업체가 안내한 호스트명

대부분의 DNS 관리 화면에서 @는 apex를 뜻합니다. 반드시 호스팅 업체가 보여주는 값을 그대로 사용하세요. 업체가 IP를 바꾸는 일이 있으니 이 글을 포함해 블로그에 적힌 IP 주소를 복사하지 마세요.

패턴 2: 호스팅 업체가 호스트명만 제공

고정 IP를 쓰지 않는 플랫폼도 있습니다. 이 경우 선택지는 세 가지입니다.

  1. www는 CNAME으로 연결하고, 도메인 등록기관의 포워딩 기능으로 루트 도메인을 www로 리디렉션합니다.
  2. DNS 제공업체가 지원한다면 apex에 ALIAS/ANAME/플래트닝 레코드를 사용합니다.
  3. 도메인의 네임서버를 호스팅 업체나 apex 별칭을 지원하는 DNS 제공업체로 변경합니다.

1번은 모든 등록기관이 리디렉션을 지원하므로 가장 범용적입니다. 다만 루트 도메인으로 접속하는 방문자는 한 단계를 더 거치게 됩니다.

단계별 안내: 사이트 빌더에 도메인 연결하기

  1. 호스팅 업체의 DNS 안내를 확인하세요. 도메인 또는 커스텀 도메인 설정에서 IP, 호스트명, 또는 둘 다 안내되는지 확인합니다.
  2. DNS 관리 화면을 여세요. 도메인 등록기관이나 DNS 제공업체(네임서버가 가리키는 곳)에서 열면 됩니다.
  3. 충돌하는 레코드를 삭제하세요. 같은 이름의 기존 A 또는 CNAME 레코드(주로 등록기관의 주차 페이지)는 먼저 지워야 합니다.
  4. apex 레코드를 추가하세요. 호스팅 업체의 IP로 A 레코드를 만들거나, 호스트명으로 ALIAS 방식 레코드를 만듭니다.
  5. www 레코드를 추가하세요. 호스팅 업체가 알려준 호스트명을 가리키는 CNAME을 만듭니다.
  6. MX와 TXT 레코드는 그대로 두세요. 이메일 설정을 의도적으로 바꾸는 경우가 아니라면 건드리지 않습니다.
  7. 기존 레코드의 TTL이 만료될 때까지 기다린 뒤 브라우저에서 도메인을 확인하세요. 변경 하루 전에 TTL을 낮춰 두면 전환이 더 빨라집니다.
  8. 호스팅 업체에서 도메인이 연결된 것으로 표시되는지 그리고 HTTPS가 발급되었는지 확인하세요. 호스팅 업체는 보통 DNS가 올바르게 조회되어야 인증서를 발급할 수 있습니다.

빠른 문제 해결 체크리스트

  • [ ] 같은 이름에 CNAME과 다른 레코드가 함께 있지 않다
  • [ ] apex에 CNAME이 없다(제공업체 고유의 ALIAS 방식 레코드는 예외)
  • [ ] CNAME 대상이 http:// URL이나 경로가 아닌 실제 호스트명이다
  • [ ] A 레코드에는 IPv4 주소만 들어 있다(포트나 https:// 없음)
  • [ ] 이전 서버를 가리키는 오래된 AAAA 레코드가 없다
  • [ ] 레코드를 실제로 수정한 곳이 현재 네임서버가 가리키는 곳이다
  • [ ] 이 도메인에서 이메일을 쓴다면 MX 레코드가 그대로 남아 있다

자주 하는 실수

  • www를 "고치려고" 루트에 CNAME을 설정하는 것. 이메일과 인증 레코드가 깨집니다. A 레코드나 ALIAS 방식을 사용하세요.
  • 오래된 IP 주소를 그대로 복사하는 것. CNAME을 쓸 수 있다면 호스팅 업체의 변경 사항을 자동으로 따라갑니다. 어쩔 수 없이 A 레코드를 쓴다면, 문제가 생길 때 호스팅 대시보드에서 IP를 다시 확인하세요.
  • URL을 대상 값으로 붙여넣는 것. DNS 값은 호스트명이나 IP만 가능하며, https://나 뒤따르는 경로는 넣지 않습니다.
  • AAAA 레코드를 잊는 것. 남아 있는 IPv6 레코드가 일부 방문자를 더 이상 쓰지 않는 서버로 보낼 수 있습니다.

아직 플랫폼을 고르는 중이라면, We.Inc의 무료 플랜으로 기성 템플릿을 사용해 최대 3개의 사이트를 게시할 수 있습니다. 프롬프트로 사이트 초안을 만들어 주는 AI 빌더는 월 $20의 Starter 플랜부터 이용할 수 있습니다. 여기서 무료로 시작하고, 대시보드가 안내하는 레코드 유형으로 도메인을 연결해 보세요.

무료로 시작하기 · 신용카드 필요 없음

Umair Ali Sadaqat

We.Inc 설립자

Umair는 We.Inc의 설립자입니다. AI 웹사이트 제작, 에이전시, 웹 스튜디오 운영 사업에 관해 글을 씁니다.

멋진 것을 만들 준비가 되셨나요?

하나의 플랫폼에서 출시하고 성장하고 자동화하는 15,000+개 비즈니스가 We.Inc를 사용합니다.

무료로 시작하기

신용카드 필요 없음 · 영업팀에 문의하기

관련 항목: 블로그

제품

대상

기능

리소스

회사

사이트맵