본문 바로가기
[AWS]/STUDY

[AWS] Route53이란

by METAVERSE STORY 2022. 8. 12.
반응형
728x170

 

AWS에서 제공하는 CloudFront와 같이 주로 사용되는 서비스이다.

Route53은 아마존에서 제공하는 DNS 서비스이다.

그렇다면 DNS는 무엇일까?

DNS는 Domain Name System의 준말이다.

그렇다면 여기서 얘기하는 도메인(Domain)이란 무엇일까?

도메인은 웹 브라우저를 통해 특정 사이트에 진입을 할때, IP 주소를 대신하여 사용하는 주소이다.
도메인을 이용해서 한눈에 파악하기 임든 IP 주소를 보다 분명하게 나타낼 수 있다.
만약 IP 주소가 지번 또는 도로명 주소라면, 도메인 이름은 해당 주소에 위치한 상호라고 볼수 있다. 도로명 주소를 대신해서, 우리는 상호나 건물의 이름을 찾아 가는 것처럼 사용자가 파악하기 힘든 IP 주소를 파악하기 쉬운 이름으로 대신하는것이다.

Naver를 예로 들어보자. 우리는 모두 Naver를 www.naver.com으로 주소를 알고 있다.
터미널에서 아래 명령어를 입력해보자.

nslookup naver.com

그렇다면 아래와 같이 Naver의 IP 주소를 확인할 수 있다.

브라우저에 223.130.195.95를 입력하면 브라우저는 Naver로 연결해준다.

그렇다면 DNS가 무엇인지 다시 살펴보자.

네트워크 상에 존재하는 모든 PC는 IP 주소가 있는데, 모든 IP 주소가 도메인 이름을 가지는 것은 아니다.
로컬 PC를 나타내는 127.0.0.1은 localhost로 사용할 수 있지만, 그 외의 모든 도메인 이름은 일정 기간 동안 대여하여 사용한다.

브라우저의 검색창에 도메인 이름을 입력하여 해당 사이트로 이동하기 위해서는, 해당 도메인 이름과 매칭된 IP 주소를 확인하는 작업이 반드시 필요하며, 네트워크에는 이것을 위한 서버가 별도로 있는데, 이 서버가 바로 DNS 서버이다.

DNS는 Domain Name System의 줄임말로 데이터베이스 시스템이다.
호스트의 도메인 이름을 IP 주소로 변환 하거나 반대의 경우를 수행 할 수 있도록 개발된 데이터베이스 시스템이다.
DNS는 범국제적 단위로 웹사이트의 IP 주소와 도메인 주소를 이어주는 환경/시스템이다.
DNS 시스템 안에서 이어주는 역할을 하는 서버를 풀네임으로 DNS 서버라고 한다

DNS 서버에서는 아래의 순서로 처리된다.

1. 브라우저의 검색창에 naver.com을 입력한다.

2. DNS에서 IP 주소를 찾는다.

3. IP주소에 해당하는 웹 서버로 요청을 전달하여 클라이언트와 서버가 통신할 수 있도록 한다.

DNS에 대해서 정의하자면 아래와 같다.

 - 도메인은 IP 주소를 대신하여 사용하는 주소이다.

 - DNS라는 시스템을 이용해서 IP와 도메인을 매칭한다.

 - DNS란 웹사이트의 IP 주소와 도메인 주소를 이어주는 환경/시스템이다.

 - DNS 시스템 안에서 IP와 도메인 매칭을 하는 역할을 하는것이 DNS 서버이다.

 - DNS 서버와 네임서버는 같은 의미이다.

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

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

이 캐쉬가 지워지고 다시 업데이트 되는 시간이 TTL 시간인데, 동적으로 DNS 주소를 업데이트 하거나 변경하였을때, 로컬의 DNS 서버의 캐쉬가 업데이트 되지 않아서 실제 주소가 바뀌더라도 이전 서버의 주소를 리턴하는 경우가 있어서 주소 변경을 어렵게 한다.

그렇다면 AWS에서 제공하는 Route53은 가용성과 확장성이 뛰어난 DNS웹 서비스라고 설명하고 있다.
Route53을 사용하여 세 가지 주요 기능, 즉 도메인 등록, DNS 라우팅, 상태 확인을 조합하여 실행할 수 있다.

Route53은 자체적으로 Health check 기능을 가지고 있다.
하나의 DNS 명에 대해서 multiple ip address를 return 할 수 있는데, 해당 IP 서버의 상태를 체크해서 장애 상태인 경우에는 list에서 제외하고, 장애가 복구 되면 다시 리스트에 추가하는 형태이다.

이 기능의 경우는 local DNS들의 캐슁 때문에, Route53이 장애를 인지하고 바로 list에서 제외한다 하더라도 local DNS에서 캐쉬가 업데이트 되는 시간이 필요하기 때문에 바로 fail over는 되지 않는다. 되도록 빠른 fail over를 하기 위해서는 Route53에서 TTL 시간을 짧게 주는 것이 좋은데, AWS의 경우60초 이하의 값을 권장하고 있다.

다음으로 AWS Route53의 기능 중에 하나의 DNS 주소에 대해서 여러개의 서비스 IP가 binding 되어 있을 경우, Route53은 클라이언트로 부터 DNS 주소에 대한 look up 요청을 받았을 경우, 클라이언트로부터 가장 빠른 응답 시간을 보장하는 서버의 IP 주소를 리턴하는 기능으로 Latency based routing이 있다.

AWS 인프라는 각 데이터센터로부터 다른 IP 주소 대역까지의 네트워크 latency 값을 주기적으로 수집해서 데티어베이스화 해서 가지고 있다.
예를 들어 미국 AWS 데이터센터에서 전세계에 대한 latency를 AWS로 서비스하고 있다. 한국, 중국, 유럽 등 이렇게 latency 자료를 가지고 있다가 DNS look up요청이 오면, 요청을 한 클라이언트쪽의 IP를 기반으로 내부 데이터 베이스 내의 latency를 체크하여 가장 가까운 AWS 데이터센터의 IP를 리턴하게 되는 원리이다.

이때, Route 53으로 request를 보내는 클라이언트는 end user browser나 모바일 기기등이 아니라 end user가 접속된 네트워크의 로컬 DNS 서버가 된다.

Latency based routing의 경우 로컬 DNS가 클라이언트가 접속하는 망내에 있는것을 전재로 한다.

위에서 언급되었던 캐싱은 아래 설명을 참고 바란다.

캐시는 앞선 포스팅에서 설명을 했지만, 다시 한번 설명하자면

동일한 데이터에 반족해서 접근해야 하거나 많은 연산이 필요한 일일때, 결과를 빠르게 이용하고자 성능이 좋은 혹은 가까운 곳에 저장을 하는것이며 캐시는 컴퓨터의 성능을 향상 시키기 위해 사용되는 메모리를 말한다.

캐시 메모리는 컴퓨터 내에 캐시가 있는데, CPU에서 가장 빠른 Register와 메인 메모리 사이에 캐시 메모리가 존재한다.
디스크 혹은 메모리에서 읽어온 데이터를 빠르게 저장하는 용도이다.

CPU 요청에 따라 메인 메모리에서 해당 데이터와 함께 인접한 데이터로 이뤄진 메모리 블럭을 캐시 메모리로 가져온다.
CPU가 다시 데이터를 요청하면 메인 메모리가 아니라 캐시에 요청을 해보고, 캐시에서 해당 데이터를 읽어 오고, 없으면 다시 메인 메모리에서 읽어온다.

그렇다면 캐싱이란
이 캐시 영역으로 데이터를 가져와서 접근하는 방식을 말한다.
예를 들어, 속도가 느린 디스크의 데이터를 속도가 빠른 메모리로 가져와 메모리상에서 읽고 쓰는 작업을 수행한다.
다른 의미로는, 메모리상에 있는 데이터를 연산하는데, 이 연산을 더 빠른 CPU 메모리 영역으로 가져와 처리를 수행하는 것도 캐싱이라 표현된다.

 

https://bcho.tistory.com/795

 

Amazon Route 53 DNS 서비스

Amazon Route 53 DNS 서비스 조대협 Route53은 아마존에서 제공하는 DNS 서비스 이다. 일반 DNS와 다르게 몇 가지 아마존에 특성화된 몇 가지 기능을 가지고 있는데, 특화 기능에 앞서서 DNS 의 일반 개념을

bcho.tistory.com

https://velog.io/@effypark/%EC%BA%90%EC%8B%9C-%EC%BA%90%EC%8B%B1%EC%9D%B4%EB%9E%80

 

캐시 / 캐싱이란?

동일한 데이터에 반복해서 접근해야 하거나 많은 연산이 필요한 일일때, 결과를 빠르게 이용하고자 성능이 좋은 혹은 가까운 곳에 저장하는 것즉 캐시는 컴퓨터의 성능을 향상 시키기 위해 사

velog.io

https://docs.aws.amazon.com/ko_kr/Route53/latest/DeveloperGuide/Welcome.html

 

Amazon Route 53은 무엇인가요? - Amazon Route 53

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

 

반응형
그리드형

'[AWS] > STUDY' 카테고리의 다른 글

[AWS] MSSQL 클러스터 방법  (0) 2022.10.14
[AWS] Endpoint란  (0) 2022.09.28
[AWS] 트랜잭션 로그  (1) 2022.09.13
[AWS] Route53 도메인 연결  (0) 2022.08.15
[AWS] Cloud Front의 정의  (0) 2022.08.12
[AWS] 리눅스 파일 시스템  (0) 2022.08.12
[AWS][Lex][Lambda] 1. Lex와 날씨 API  (0) 2022.08.01
[AWS] AWS CLI 구성하기  (0) 2022.08.01

댓글