[네트워크] 서브도메인과 A Record, CNAME
서브 도메인이란
서브 도메인
이라는 단어는 처음 들어봤어도 우리는 이미 익숙하게 사용하고 있습니다.
네이버의 서비스들을 예로 들어봅시다.
네이버는 메일, 카페, 블로그 등등 많은 서비스를 하고 있죠.
이럴 경우 각각의 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
사용을 추천합니다.