ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • AWS의 Route 53 DNS 서비스
    DevOps/AWS 2020. 9. 4. 19:53

    Route53

     

    • Route53는 AWS에서 제공하는 DNS 서비스이다.

     

    DNS란?

    • DNS는 Domain Name(www.helloworld.com)을 IP 주소로 바꾸어 주는 일종의 DIrectionary 서비스이다.
    • 이러한 맵핑 정보를 저장해 놓는 파일은 DNS Zone file이라고 한다.
    • 이 서비스는 DNS 서버에 저장해놓은 파일을 기반으로 주소를 변환한다.

     

    캐슁


     

    • DNS 서버의 특성 중에서 주의 깊게 봐야 하는 특성은 캐슁이다.
    • 보통 DNS 서버는 클라이언트가 사용하는 로컬 네트워크에 있는 DNS를 사용하게 된다.
    • 회사 네트워크라면 회사 내의 DNS 서버, 집과 모바일을 사용할 경우 사용할 경우 해당 통신사의 DNS 서버를 사용한다.
    • 이 DNS 서버들은 look up을 요청한 목적 서비스 서버에 대한 IP 주소를 다른 클라이언트가 요청할 때 응답을 빠르게 하기 위하여 자체적으로 캐슁 하고 있다.

     

    ex)

    구글의 A라는 서비스가 있다. 이  서비스 A는 구글의 DNS 서버에 주소가 정의되었을 것이다. 만약 한국의 사용자가 스마트폰을 이용하여 이 서비스의 URL을 접근하게 되면, 해당 한국 통신사의 DNS 서버를 통해서 주소를 look up 하게 될 것이고, 이 한국 DNS 서버는 구글의 DNS 서버에 주소를 물어본 후에, 다음 서비스를 위해서 자신의 Cache를 업데이트 한다.

     

    • 이 Cache가 지워지고 다시 업데이트되는 시간을 TTL 시간이라고 한다.

     

    Route 53의 고유 기능


    Health Check & DNS Fail Over

     

    • Route53은 자체적으로 Health Check 기능을 가지고 있다.
    • 하나의 DNS 명에 대해서 Multiple IP Address를 반환할 수 있는데
    • 해당 IP의 서버의 상태를 체크하여 장애 상태인 경우 List에서 제외하고 장애 복구 시 다시 리스트에 추가한다.
    • 하지만 이 기능은 Local DNS들의 캐슁으로 인해 Route53이 장애를 인지하고 바로 List에서 제외한다 하더라도
    • Local DNS에서 캐시가 업데이트되는 시간이 필요하기 때문에 바로 Fail Over 되지는 않는다.
    • 되도록 빠른 Fail Over를 하기 위해 Route53에서 TTL 시간을 짧게 주는 것이 좋으며 AWS 경우 60초 이하의 값을 권장한다.

    Latency Based Routing

     

    • Route53에 하나의 DNS 주소에 대해서 여러 개의 서비스 IP가 바인딩되어 있을 경우
    • Route53은 클라이언트로부터 DNS 주소에 대한 look up 요청을 받았을 경우
    • 클라이언트로 부터 가장 빠른 응답 시간을 보장하는 서버의 IP 주소를 리턴하는 기능이다.
    • 원리는 다음과 같다.
    아마존 인프라는 각 데이터센터로부터 다른 IP주소 대역까지의 네트워크 Latency 값을
    주기적으로 수집해서 데이터 베이스화 해서 갖고 있는다.

    예를 들어 미국 AWS 데이터 센터에서 전세계에 대한 Latency를 가지고 있다. 한국,중국,유럽 등등.
    이렇게 latency 자료를 가지고 있다가 DNS look up 요청이 오면 요청을 한 클라이언트쪽의 IP를 기반으로
    내부 데이터 베이스내의 Latency를 체크해여 가장 가까운 아마존 데이터 센터의 IP를 리턴하게 되는 원리이다.

     

    • 이때 Route 53으로 request를 보내는 클라이언트는 User브라우저 나 모바일 기기등이 아닌
    • User가 접속된 네트워크의 로컬 DNS 서버이다.
    •  Latency based routing의 경우 로컬 DNS가 클라이언트가 접속하는 망내에 있는 것을 전제로 한다

     

     

     

     

     

     

    참고


    bcho.tistory.com/tag/SOA%20%EB%A0%88%EC%BD%94%EB%93%9C

    'DevOps > AWS' 카테고리의 다른 글

    AWS의 Cloud Front 란 ( CDN 서비스 )  (0) 2020.09.06
Designed by Tistory.