DNS : CNAME vs A record

    들어가기 전

    어제 회사에서 세미나를 듣는데 DNS의 CNAME, A Record 키워드가 나왔다. 그런데 어떤 내용인지 정확히 알지 못하기 때문에 부족한 지식을 보충하고자 이 글을 작성한다. 

     


    DNS

    IP는 192.0.0.1 같은 형식의 숫자 조합이다. 특정 서버의 주소를 의미하는 값이지만, 연관관계 없는 숫자가 나열되어 있는 형식이기 때문에 사람이 외우기 쉽지 않다. IP 주소를 기억하기 쉽도록 이름을 붙여주는 것을 도메인이라고 한다. DNS 서버는 도메인과 IP 주소 정보를 쌍으로 저장하고 있는 서버를 의미한다. 

    도메인 IP
    naver.com 223.130.200.107
    google.com 142.250.206.238

    이렇게 Key / Value 형식으로 저장되는 값 한 줄을 DNS Record라고 한다. DNS Record에는 여러 타입이 있는데, 여기서 다룰 타입은 A Record, CNAME이다. 

     


    A Record

    Key Value
    naver.com 223.130.200.107
    google.com 142.250.206.238

    A 레코드는 도메인 주소와 IP 주소를 직접 맵핑시키는 방법이다. 위처럼 작성된 것이 A Record 형식이다. 

     


    CNAME (Canonical Name)

    CNAME은 다른 도메인 주소를 가리키는 도메인 주소를 의미한다. 즉, 도메인 주소끼리 바인딩되어있다. 아래의 예시가 CNAME이다. 

    Key Value Type
    blog.naver.com naver.com CNAME
    cafe.naver.com naver.com CNAME
    naver.com 223.130.200.107 A
    1. 사용자가 blog.naver.com의 IP 주소를 요청하면, DNS 서버는 naver.com을 응답한다.
    2. 사용자는 naver.com의 IP 주소를 요청한다. DNS 서버는 223.130.200.107을 응답한다.
    3. 사용자는 223.130.200.107에 요청을 보낸다. 

    CNAME은 위와 같은 방식으로 동작하게 된다. 


    A 레코드 / CNAME의 장단점

    A 레코드는 다음 장/단점을 가진다.

    • 장점 : DNS 서버에 단 한번의 요청으로 IP를 가져간다. 따라서 Network Hopping이 감소한다. 
    • 단점 : 동일한 IP를 여러 A Record에서 사용할 때, IP가 변경되면 여러 A Record에 업데이트를 해줘야한다. 

    위 단점은 아래 코드에서 명확히 알 수 있다. 223.103.200.107이 0.0.0.1로 바뀌는 경우 총 3개의 A Type 레코드를 변경해줘야 한다. 

    Key Value Type
    a.com 223.130.200.107 A
    b.com 223.130.200.107 A
    c.com 223.130.200.107 A

    CNAME의 장/단점은 다음과 같다. 

    • 장점 : IP가 변경되어도 변경지점이 적어진다. 
    • 단점 : IP를 얻어오기 전까지 네트워크 Hopping이 증가함.
    Key Value Type
    a.com c.com CNAME
    b.com c.com CNAME
    c.com 223.130.200.107 A

    위 경우에 IP 주소가 230.130.200.107 → 0.0.0.1로 변경될 경우, 딱 1군데만 변경하면 된다. 

     


    참고

    'etc > 진짜 잡다' 카테고리의 다른 글

    가상 호스트와 SNI  (0) 2024.01.31
    TLS / mTLS란?  (0) 2024.01.31

    댓글

    Designed by JB FACTORY