네트워크

[네트워크] 서브도메인과 A Record, CNAME

ssung.k 2021. 5. 27. 19:29

서브 도메인이란

서브 도메인 이라는 단어는 처음 들어봤어도 우리는 이미 익숙하게 사용하고 있습니다.

네이버의 서비스들을 예로 들어봅시다.

네이버는 메일, 카페, 블로그 등등 많은 서비스를 하고 있죠.

이럴 경우 각각의 url은 아래와 같습니다.

  • mail.naver.com
  • cafe.naver.com
  • blog.naver.com

 

가비아, 후이즈, 고대디 등 웹 호스팅 업체에 서브 도메인을 등록할 때는 CNAME과 A레코드 정보를 함께 입력합니다.

둘은 각각 무엇이고 어떤 차이가 있는지 알아봅시다.

 

A Record

A Record 는 DNS에 저장할 때 도메인 주소와 IP 주소를 매핑시키는 방법입니다.

도메인에 대한 요청이 오면 대응되는 IP 주소를 반환합니다.

NAME VALUE
mail.naver.com 125.209.230.135
cafe.naver.com 210.89.168.66
blog.naver.com 223.130.195.143

 

 

CNAME

CNAME 은 Canonical Name의 약자로 도메인 주소와 도메인 주소를 매핑시키는 방법입니다.

NAME VALUE
bar.example.com foo.example.com
foo.example.com 192.0.2.23

bar.example.com 에 대한 요청이 오면 foo.example.com 를 반환하고 클라이언트는 다시 foo.example.com 에 대한 요청을 보내 192.0.2.23 을 얻습니다.

 

 

A Record VS CNAME

둘의 장단점을 비교해보고 어느 상황에 사용해야 할 지 생각해봅시다.

 

A Record 는 한 번의 요청으로 IP 주소를 바로 얻을 수 있으니 효율적입니다.

하지만 IP 주소가 바뀐다면 바꿔야 할 칼럼이 여러 개가 될 수도 있습니다.

여러 개의 서브 도메인이 하나의 IP 주소에 A Record 방식으로 매핑되어 있다면 전부 바꿔줘야하죠.

 

그에 비해 CNAME 은 IP 주소를 얻기 위해 2번 이상의 요청이 필요하므로 비효율적입니다.

하지만 IP 주소가 바뀐다면 하나의 칼럼만 바꿔주면 됩니다.

 

따라서 IP 주소가 자주 바뀌어야 하는 환경이라면 CNAME 을,

아니라면 A Record 사용을 추천합니다.