안녕하세요,
이번 글은 제 워드프레스 서버를 구성할 때 구매했던 DNS 도메인을 연동하는 과정에서 습득했던 DNS 레코드 관련 정보를 작성해볼까 합니다.
A 레코드와 CNAME은 DNS(Domain Name System)에서 도메인 이름을 어떤 대상에 연결하기 위한 방식인데, 목적과 동작 방식이 다릅니다.
A 레코드 (Address Record)
- 도메인 이름 → IP 주소 로 직접 연결해줍니다.
- 예를 들어, example.com을 웹 서버의 IP 주소 123.123.123.123에 연결하려면 A 레코드를 사용합니다.
예시:
호스트타입값
@ | A | 123.123.123.123 |
→ example.com 접속 시 해당 IP 주소로 직접 이동.
CNAME 레코드 (Canonical Name Record)
- 도메인 이름 → 다른 도메인 이름 으로 연결합니다.
- 예를 들어, www.example.com을 example.com에 연결하고 싶을 때 사용합니다.
- 이 경우, CNAME이 가리키는 도메인에 설정된 A 레코드를 따라가게 됩니다.
예시:
호스트타입값
www | CNAME | example.com |
→ www.example.com 접속 시 example.com으로 이동 → 그 뒤 IP로 연결됨.
A 레코드& CNAME 레코드 차이 요약
연결 대상 | IP 주소 | 다른 도메인 이름 |
사용 위치 | 루트 도메인 포함 어디든 가능 | 서브도메인 주로 사용 (www, blog) |
작동 방식 | 직접 IP 연결 | 우회적으로 다른 도메인의 DNS를 따라감 |
성능 | 빠름 (중간 단계 없음) | 느릴 수 있음 (한 번 더 조회함) |
필요에 따라 적절히 골라 써야 하는데, 간단히 말하면:
- 서버의 IP로 직접 연결하고 싶을 땐 A 레코드,
- 다른 도메인 이름으로 연결하고 싶을 땐 CNAME을 씁니다.
CNAME 레코드를 설정할 때 "@" 기호는 도메인의 루트(root) 도메인을 의미합니다.
예를 들어, 도메인이 example.com이라면:
- @는 곧 example.com을 의미합니다.
- 반면에 www는 www.example.com을 의미하겠죠.
예시
호스트 (Host)타입 (Type)값 (Value)
@ | CNAME | ghs.google.com |
→ 이 설정은 example.com 자체를 ghs.google.com으로 CNAME 연결하는 것입니다.
주의사항
- 일반적으로 CNAME은 루트 도메인(@)에 직접 사용하지 않는 경우가 많습니다. 왜냐하면 루트 도메인에는 보통 A레코드(IP)로 연결해야 하는 경우가 많기 때문입니다.
- 그러나 일부 DNS 제공자들은 특수하게 CNAME을 루트 도메인에도 허용해 주기도 합니다.
NS 레코드 (Name Server Record)
- 이 도메인의 DNS 정보를 어디서 관리할 건지를 알려주는 레코드입니다.
- 쉽게 말하면 “이 도메인의 모든 DNS 설정(A, CNAME 등)은 여기(Name Server)에서 관리할게요” 라고 지정하는 것이라고 할 수 있습니다.
예를들어
- 도메인이 하나의 주소(example.com)라고 치면,
- NS 레코드는 “이 주소에 대한 우편물은 어느 우체국이 처리할지”를 알려주는 느낌입니다.
- 그리고 A/CNAME 같은 레코드들은 그 우체국 안에서 어떤 규칙으로 배달할지 정하는 것이죠.
예시
호스트타입값
@ | NS | ns1.dnsprovider.com |
@ | NS | ns2.dnsprovider.com |
이 설정은 example.com 도메인의 DNS 관리를 ns1, ns2.dnsprovider.com 네임서버에게 맡긴다는 의미입니다.
설정 기준
- 도메인을 다른 DNS 서비스(Cloudflare, AWS Route 53 등) 에서 관리할 때,
- 도메인 등록기관(가비아, 카페24, GoDaddy 등)에서 NS 레코드 변경을 통해 연결해줘야 합니다.
요약
항목설명
역할 | 도메인의 DNS 정보를 어디서 관리할지 지정 |
설정 위치 | 도메인 등록기관 (가비아, 후이즈, 아이티이지 등) |
관련 서비스 예 | Cloudflare, AWS Route53, DNSEver 등 |