Amazon Route 53은 AWS의 클라우드 DNS(Domain Name System) 웹 서비스입니다. DNS의 주요 역할은 클라이언트가 특정 도메인 이름을 통해 실제로 접근할 수 있는 IP 주소를 제공하는 것입니다. Route 53은 이를 더욱 효율적이고 유연하게 관리할 수 있도록 다양한 라우팅 정책을 제공합니다.
이 글에서는 Route 53이 제공하는 라우팅 정책과 그 역할에 대해 살펴보고자 합니다. 특히, 라우팅이라는 용어에 대한 혼동을 피하기 위해 DNS 관점에서의 라우팅에 초점을 맞추겠습니다. 흔히 네트워크에서 라우팅은 로드 밸런서가 트래픽을 백엔드 EC2 인스턴스와 같은 자원으로 보내는 과정을 의미합니다. 그러나 Route 53에서 말하는 라우팅은 DNS 쿼리에 응답하는 방식으로, 실제 트래픽은 DNS를 통과하지 않습니다. DNS는 단지 클라이언트가 어떤 IP 주소를 사용할지 알려주는 역할을 할 뿐입니다.
Route 53이 지원하는 라우팅 정책은 다음과 같습니다:
각각의 라우팅 정책은 특정한 상황에서 클라이언트가 보다 적절한 리소스로 연결되도록 돕습니다. 이번 글에서는 그 중에서도 가장 기본적인 단순 라우팅 정책(Simple Routing Policy)에 대해 자세히 살펴보겠습니다.
단순 라우팅 정책은 Route 53에서 가장 기본적이면서도 많이 사용되는 라우팅 방식입니다. 이 정책은 일반적으로 트래픽을 단일 리소스로 보내는 경우에 사용됩니다. 예를 들어, 클라이언트가 foo.example.com
으로 이동하려 할 때, Route 53은 이 도메인에 연결된 IP 주소를 반환합니다. 이 IP 주소는 A 레코드에 저장된 주소입니다.
Route 53의 단순 라우팅 정책은 하나의 도메인 이름에 여러 개의 IP 주소(A 레코드)를 연결할 수 있습니다. 클라이언트가 DNS 쿼리를 요청하면, DNS는 여러 IP 주소를 반환할 수 있으며, 클라이언트는 그 중 하나를 무작위로 선택하여 연결을 시도합니다.
예를 들어, 클라이언트가 foo.example.com
으로 이동하려고 할 때 Route 53이 세 개의 IP 주소를 반환한다고 가정해 보겠습니다. 클라이언트는 이 세 개의 IP 주소 중 하나를 선택하여 연결하게 됩니다. 이러한 방식은 단순하면서도 효과적이지만, 단일 리소스에 의존하기 때문에 장애 상황에 대한 대응이 어렵습니다.
단순 라우팅 정책은 Alias 레코드와 함께 사용할 수 있습니다. Alias 레코드는 AWS 리소스, 예를 들어 S3 버킷, CloudFront 배포, 또는 Elastic Load Balancer와 같은 특정 리소스를 가리킬 수 있습니다. 이 경우에도 단일 리소스만을 대상으로 지정할 수 있으며, 단순 라우팅 정책의 단순함이 유지됩니다.
단순 라우팅 정책은 이름 그대로 매우 단순한 방식으로 동작하기 때문에, 상태 확인(Health Check)을 지원하지 않습니다. 즉, Route 53은 리소스가 실제로 가용한지 확인하지 않고, 클라이언트가 쿼리를 보낼 때마다 동일한 IP 주소를 반환합니다.
단순 라우팅 정책은 Route 53의 기본적인 라우팅 방법으로, 가장 간단한 구조를 제공합니다. 여러 개의 IP 주소를 반환하여 클라이언트가 무작위로 선택하도록 하거나, 단일 리소스에 대한 연결을 설정할 수 있습니다. 다만, 상태 확인 기능이 없기 때문에 고가용성이 요구되는 환경에서는 다른 라우팅 정책과 함께 사용하거나 추가적인 대비책을 마련해야 합니다.