8장 DNS와 네트워크 라우팅: Route 53, CloudFront

GonnabeAlright·2022년 3월 23일
0
post-thumbnail
AWS Certified Solutions Architect STUDY GUIDE 도서를 읽고 정리한 내용입니다.

여러분의 타겟 사용자와 머신이 클라우드 리소스에 좀 더 쉽게 접속할 수 있게 하는 것은 리소스를 생성하는 일만큼이나 중요하다. 네트워크를 통해 여러분이 만든 콘텐츠에 접속하려면, 가용성, 속도, 정확성 등 세 가지 요소가 겸비돼야 한다.

Amazon의 Route 53는 관리형 도메인 서비스로서, 리소스에 대한 접근의 정확성, 신뢰성, 속도를 제공한다. Amazon의 글로벌 CDN(Content Delivery Network) 서비스인 CloudFront는 속도 및 정확성 외에 몇 가지 장점을 추가한 서비스다.

도메인 네임 시스템(Domain Name System)은 example.com과 같이 사람이 읽기 편한 도메인 네임과 93.184.216.34 머신이 읽을 수 있는 IP 주소를 맵핑하기 위한 시스템이다.

인터넷 네임 시스템은 네임스페이스(namespace)라는 도메인 네임 체계로 관리된다. 인터넷은 퍼블릭 또는 프라이빗 IP를 통하거나 톱레벨 도메인(TLD, Top-Level Domain)을 통해 접근할 수 있는 소규모의 네임스페이스로 구획이 나눠진 가상의 공간이라 할 수 있다.

amazon.com 이라는 도메인 네임과 실제 IP 주소를 연결하는 일은 네임 서버(name server)가 담당하는데 네임 서버는 여러분이 입력한 도메인 네임에 해당하는 IP 주소를 제공해 브라우저 등 애플리케이션이 여러분의 요청이 완결되도록 하는 것이다.

도메인 네임은 해당 도메인을 위해 공식 기구에 등록된 이름이며, 등록된 이름(registered name)은 도메인이 가리키는 리소스를 네트워크로 직접 연결하는 데 사용될 수 있다.

네임 서버에 등록된 새로운 도메인 네임을 전파하는 일은 도메인 네임 등록자 또는 레지스트라(registrar)가 수행한다.

Amazon Route 53 또한 도메인 네임 등록자와 같은 역할을 수행하는 서비스다.

도메인 레이어

도메인 네임은 여러 개의 요소로 구성된다. .com 또는 .org 등 도메인 네임의 최우측 텍스트는 TLD, 톱레벨 도메인이고, TLD의 우측 요소, 예를 들어 amazon.com에서 amazon은 2단계 도메인, 세컨드레벨 도메인(SLD)이다.

aws.amazon.com

서브도메인 : aws.amazon.com
SLD: amazon
TLD: com

존과 존 파일

존(zone)은 DNS 도메인을 정의한 것이며, Route 53는 존을 호스팅 영역(hosted zone)이라 부른다. 존 파일(zone file)은 도메인 내에서 DNS 주소에 맵핑되는 리소스를 설명하는 텍스트 파일로서 다음과 같은 리소스 레코드로 구성된다.

지시자용도
Name정의된 도메인 네임 또는 서브도메인 네임
TTL레코드 만료전 유효시간(time to live)
Record Class레코드의 네임스페이스, 보통 IN을 사용(Internet)
Record Type레코드에 의해 정의된 레코드 타입(A, CNAME 등)

Route 53의 53이라는 숫자

Route 53에서 53이라는 숫자는 DNS 트래픽이 TCP 또는 UDP의 53 포트를 사용하는 데서 착안한 것이다.

가용성 모니터링

관리자는 리소스가 정상적으로 작동하는지 확인해야 하며, 한 번 실행한 뒤 마냥 잘되기만을 바랄 수는 없다. Route 53는 리소스의 헬스 체크 모니터링 기능을 통해 문제의 해결 방안을 제시한다.

헬스 체크 결과가 정상이면 Route 53는 해당 리소스로 트래픽을 계속 전송하지만 검증 결과 적절한 반응이 없을 경우 Route 53는 해당 리소스가 오프라인 상태가 됐다고 판단하고 트래픽을 백업 리소스로 우회시킨다.

라우팅 정책

애플리케이션을 호스팅하는 서버 인스턴스에 모든 사용자가 아무 문제 없이 접속할 수 있다면 복잡한 라우팅 정책은 필요 없을 것이다. 하지만 실제 애플리케이션 호스팅 환경은 복잡미묘하며, 좀 더 쉽고 빠르게 서비스에 접속할 수 있는 유연한 프로토콜을 제공해야 한다. Route 53의 라우팅 정책은 도메인 레벨에서 유연성을 제공하며, 모든 AWS 리전에서 일관되게 적용할 수 있다.

라우팅 정책에는 심플 라우팅(단일 리소스 정책), 가중치 라우팅 정책(weighted policy), 지연 라우팅(latency-based routing), 실패대응 라우팅(failover routing), 지리적 라우팅(geolocation routing), 다변량 라우팅(multivalue routing) 정책 등이 있다.

Amazon의 글로벌 CDN(Content Delivery Network) 서비스인 CloudFront는 Route 53가 하지 못하는 일을 처리한다. 바로 전세계 고객에게 신속하게 콘텐츠를 제공하는 것이다.

그렇다면 엔드 유저는 어떻게 자신과 가까운 CloudFront 엔드포인트에 요청을 보내는 것일까 ?

사실 이는 엔드 유저가 CloudFront 엔드포인트에 요청을 보내는 것이 아니라 Route 53 환경설정으로 DNS 요청을 CloudFront 배포에 전달하면 엔드 유저가 자동으로 자신과 가까운 엔드포인트로 연결하는 방식이다.

CloudFront 배포의 종류는 콘텐츠의 미디어 타입에 따라 달라진다. 웹 페이지나 그래픽 콘텐츠의 경우 web distribution을 선택하고, S3 버킷에 저장된 RTMP(Real-Time Messaging Protocol) 기반 비디오 콘텐츠의 경우 RTMP distribution을 선택하는 것이 좋다.

웹 페이지, 그래픽 콘텐츠 - web distribution
S3 버킷에 저장된 비디오 콘텐츠 - RTMP distributin

0개의 댓글