DNS 설정할 때 CNAME, A 레코드 의미와 차이점은?

자신의 도메인을 구입하고 워드프레스 홈페이지를 개설하거나 티스토리 블로그에 2차주소를 적용하는 경우가 많다. 이 때 DNS 설정에서 레코드 추가를 통해 CNAME 또는 A 타입 항목을 설정해주게 되는데, 어떤 의미인지 알아본다.

목차에서 핵심만 빠르게 보기

DNS 란?

Domain Name System의 약자이다. 사람이 보는 tali.kr 과 같은 사이트 이름을 기계가 알아볼 수 있는 IP Address로 변환해주는 시스템을 말한다. 155.168.0.12 이런 식으로 변환된 형태가 IPv4 방식의 주소이다.

우리가 주소창에 사이트 주소 url을 입력하면 실제로 여기에 할당된 번지수가 무엇인지 확인해서 그리로 이동 요청을 내려줄 수 있게 변환해주는 것이다.

CNAME

CNAME은 어떠한 도메인에 또 다른 이름을 부여하는 것이다. Canonical Name의 약자로 일종의 매핑 개념이라고 보면 된다.

예를 들어서 CNAME을 www 로 등록을 했다고 하자. 그러면 www.tali.kr 라는 이름의 또 다른 도메인 이름이 생성이 된다. 이것을 원래의 tali.kr 로 접속되도록 리다이렉트 시킬수도 있고, 별도로 할 수도 있다.

워드프레스 같은 블로그를 개설할 때 하위 도메인을 만드는 원리도 이 CNAME으로 도메인 이름을 추가해주는 것이다.

A 레코드

A 레코드는 조금 다른 개념이다. 도메인 이름이 어떠한 IP 주소를 가지고 있는지를 나타내주는 값이다. 즉 앞서 말한 DNS 에서의 기본 역할을 수행하는 것인데, tali.kr 로 접속했을 때 어떤 IP 주소로 연결해줄지를 지정하는 것이다.

이것들을 예로 들어보면 다음과 같다.

타입호스트
CNAMEtest2.tali.krtest1.tali.kr
Atest1.tali.kr166.177.82.1
Atali.kr155.166.92.1

이렇게 DNS 정보를 입력했다고 할 때, 각각에 따른 응답 결과는 다음과 같다.

  • test2.tali.kr 입력 > CNAME 에 의해 변환 > test1.tali.kr로 연결
  • test1.tali.kr 입력 > A 레코드에 의해 변환 > 166.177.82.1로 연결
  • tali.kr 입력 > A 레코드에 의해 변환 > 155.166.92.1로 연결

이와 같이 동작하게 된다.