[AWS] 7. AWS Route 53, DNS(도메인 네임 시스템), 라우팅 정책

발행: (2026년 1월 15일 오후 12:21 GMT+9)
23 min read
원문: Dev.to

Source: Dev.to

AWS Route 53 DNS (Domain Name System) 라우팅 정책

AWS Route 53은 도메인 이름을 IP 주소와 매핑하는 DNS 서비스이며, 다양한 라우팅 정책을 통해 트래픽을 세밀하게 제어할 수 있습니다. 이번 포스트에서는 Route 53에서 제공하는 주요 라우팅 정책 7가지를 살펴보고, 각각을 언제, 어떻게 사용해야 하는지 예시와 함께 설명합니다.


1️⃣ Simple Routing Policy (단순 라우팅)

  • 설명: 가장 기본적인 정책으로, 하나의 레코드에 하나의 IP 주소(또는 Alias)를 지정합니다. 트래픽은 지정된 레코드로 무조건 라우팅됩니다.
  • 사용 사례: 단일 서버 혹은 단일 리전에서 서비스가 운영될 때.
example.com.   A   192.0.2.44

2️⃣ Weighted Routing Policy (가중 라우팅)

  • 설명: 동일한 도메인에 여러 레코드를 만들고, 각 레코드에 가중치(weight) 를 부여합니다. 트래픽은 가중치 비율에 따라 분산됩니다.
  • 사용 사례: A/B 테스트, 점진적 배포, 블루/그린 배포 등.
레코드IP 주소가중치
example.com (버전 A)192.0.2.4470
example.com (버전 B)192.0.2.4530

3️⃣ Latency‑Based Routing Policy (지연 시간 기반 라우팅)

  • 설명: 사용자의 지연 시간(latency) 이 가장 낮은 리전으로 트래픽을 라우팅합니다. Route 53은 전 세계에 배포된 DNS 엣지 로케이션을 활용해 지연 시간을 측정합니다.
  • 사용 사례: 전 세계 사용자에게 최적의 응답 속도를 제공해야 할 때.
example.com.   A   52.95.110.1   (us-east-1)
example.com.   A   13.58.123.4   (ap-northeast-2)

4️⃣ Failover Routing Policy (장애 조치 라우팅)

  • 설명: Primary 레코드와 Secondary 레코드를 정의하고, Primary 가 정상(헬스 체크 통과)일 경우에만 트래픽을 전달합니다. Primary 가 비정상이면 자동으로 Secondary 로 전환됩니다.
  • 사용 사례: 고가용성(HA) 구성, 재해 복구(DR) 시나리오.
레코드IP 주소헬스 체크
example.com (Primary)192.0.2.44정상
example.com (Secondary)192.0.2.45대기

5️⃣ Geolocation Routing Policy (지리 위치 라우팅)

  • 설명: 요청자의 국가/대륙 정보를 기반으로 지정된 레코드로 라우팅합니다.
  • 사용 사례: 지역별 콘텐츠 제공, 법적 규제에 따른 트래픽 제한.
지역레코드IP 주소
미국example.com (US)52.95.110.1
한국example.com (KR)13.58.123.4
기타example.com (Default)54.183.22.7

6️⃣ Geoproximity Routing (위치 근접 라우팅) [Traffic Flow 사용]

  • 설명: Geolocation 보다 세밀하게, 특정 리전의 트래픽 비중을 bias 값으로 조정할 수 있습니다. 양수 bias는 해당 리전으로 더 많은 트래픽을 끌어들이고, 음수 bias는 트래픽을 감소시킵니다.
  • 사용 사례: 특정 리전의 용량이 한정돼 있을 때, 트래픽을 의도적으로 분산하고 싶을 때.

주의: Geoproximity 라우팅은 Route 53 Traffic Flow 콘솔에서만 설정 가능하며, API/CLI에서는 지원되지 않습니다.


7️⃣ Multi‑Value Answer Policy (다중 응답 정책)

  • 설명: 하나의 레코드에 다중 IP 주소 를 지정하고, DNS 응답에 최대 8개의 IP 중 랜덤 으로 반환합니다. 각 IP에 대해 별도의 헬스 체크를 적용할 수 있어, 비활성화된 IP는 자동으로 응답에서 제외됩니다.
  • 사용 사례: 간단한 로드 밸런싱이 필요하지만, 별도 로드 밸런서를 도입하고 싶지 않을 때.
example.com.   A   192.0.2.44
example.com.   A   192.0.2.45
example.com.   A   192.0.2.46
example.com.   A   192.0.2.47

📌 정리

정책주요 목적언제 사용하면 좋은가
Simple기본 매핑단일 서버/리전
Weighted트래픽 비율 제어A/B 테스트, 점진적 배포
Latency‑Based최소 지연 시간전 세계 사용자에게 최적 응답
Failover장애 조치고가용성, DR
Geolocation국가/대륙 기반 라우팅지역별 콘텐츠, 규제
GeoproximityBias 로 트래픽 조정리전 용량 관리
Multi‑Value Answer다중 IP 반환 + 헬스 체크간단 로드 밸런싱

Route 53의 라우팅 정책을 적절히 조합하면 비용 효율적이면서도 고가용성을 갖춘 DNS 설계가 가능합니다. 실제 운영 환경에 맞게 정책을 선택하고, 헬스 체크모니터링을 함께 구성해 두면 예상치 못한 장애에도 빠르게 대응할 수 있습니다.

Tip: 정책을 변경할 때는 TTL(Time‑to‑Live) 값도 함께 검토하세요. TTL이 짧을수록 변경 사항이 빠르게 반영되지만, DNS 쿼리 비용이 증가할 수 있습니다.


이 글이 도움이 되셨다면, 👍와 📌를 눌러 주세요! 궁금한 점은 댓글로 남겨 주시면 답변해 드리겠습니다.

DNS란?

  • Domain Name System – 사람이 읽기 쉬운 호스트명을 기계가 사용하는 IP 주소로 변환합니다.
    www.google.com → 172.217.18.36
  • 인터넷의 중추 역할을 합니다.
  • 계층적 네이밍 구조를 사용합니다 (예: .com, example.com, www.example.com, api.example.com).
  • Domain Registrar – 도메인 이름을 판매하는 서비스 (예: Amazon Route 53, GoDaddy).
  • DNS 레코드 – A, AAAA, CNAME, NS, …
  • Zone File – 도메인의 DNS 레코드를 포함합니다.
  • Name Server – DNS 질의를 해결합니다 (권한 있는 또는 비권한).
  • Top‑Level Domain (TLD).com, .us, .in, .gov, .org, …
  • Second‑Level Domain (SLD)amazon.com, google.com, …

Source:

Amazon Route 53 개요

  • 고가용성, 확장성, 완전 관리형, 권한 있는 DNS 서비스.
  • 권한 있음 – 고객(귀하)이 DNS 레코드를 업데이트할 수 있습니다.
  • 또한 도메인 등록기관 역할을 수행합니다.
  • 리소스의 상태를 확인할 수 있습니다.
  • 100 % 가용성 SLA를 제공하는 유일한 AWS 서비스입니다.
  • “53”이라는 이름은 전통적인 DNS 포트(53/TCP)를 의미합니다.

도메인에 대한 트래픽 라우팅

각 DNS 레코드에는 다음과 같은 항목이 포함됩니다:

FieldDescription
Domain / Subdomain Name예: example.com
Record Type예: A, AAAA, CNAME
Value예: 12.34.56.78
Routing PolicyRoute 53이 쿼리에 응답하는 방식
TTLTime‑to‑live (레코드가 리졸버에 의해 캐시되는 기간)

Source:

Route 53에서 지원하는 DNS 레코드 유형

CategoryRecord Types
Must‑knowA, AAAA, CNAME, NS
AdvancedCAA, DS, MX, NAPTR, PTR, SOA, TXT, SPF, SRV
  • A – 호스트 이름을 IPv4 주소에 매핑합니다.
  • AAAA – 호스트 이름을 IPv6 주소에 매핑합니다.
  • CNAME – 호스트 이름을 다른 호스트 이름에 매핑합니다.
    • 대상에는 A 또는 AAAA 레코드가 있어야 합니다.
    • 존 최상위에서는 사용할 수 없습니다 (예: example.com에 CNAME을 만들 수 없지만 www.example.com에는 만들 수 있습니다).

Name Server (NS) Records

  • 호스티드 존에 대한 권한 있는 이름 서버를 정의합니다.

호스티드 영역

유형설명예시
Public Hosted Zone인터넷에서 트래픽을 라우팅하는 레코드(공용 도메인 이름).application1.mypublicdomain.com
Private Hosted Zone하나 이상의 VPC 내에서 트래픽을 라우팅하는 레코드(프라이빗 도메인 이름).application1.company.internal
  • 비용: 월 $0.50, 호스티드 영역당.

TTL (Time‑to‑Live)

TTL SettingEffect
High TTL (예: 24 h)Route 53에 대한 쿼리가 적게 발생하지만, 레코드가 오래된 상태로 남을 수 있습니다.
Low TTL (예: 60 s)쿼리가 더 많이 발생(비용 증가)하지만, 변경 사항이 빠르게 전파됩니다.

Note: Alias 레코드를 제외하고는, 모든 DNS 레코드에 TTL이 필수입니다.

CNAME vs. Alias 레코드

기능CNAMEAlias
대상임의의 호스트명AWS 리소스(ELB, CloudFront 등)
루트 도메인(존 정점) 지원❌ 허용되지 않음✅ 허용
비용표준 DNS 쿼리 비용무료(추가 비용 없음)
헬스 체크네이티브 헬스 체크 없음통합 헬스 체크
TTL사용자 정의설정되지 않음 (Route 53이 관리)
레코드 유형CNAME내부적으로 A/AAAA 로 저장 (AWS 리소스용)
지원되는 리소스임의의 호스트명ELB, CloudFront, API Gateway, Elastic Beanstalk, S3 정적 웹사이트, VPC 인터페이스 엔드포인트, Global Accelerator, 동일한 존의 다른 Route 53 레코드
별칭을 만들 수 없음EC2 퍼블릭 DNS 이름(예: ec2-xx-xx-xx-xx.compute-1.amazonaws.com)

예시 – AWS 로드 밸런서를 친숙한 이름에 매핑:

myapp.mydomain.com  →  lb-1234.us-east-2.elb.amazonaws.com   (Alias)

라우팅 정책 (Route 53이 DNS 쿼리에 응답하는 방식)

중요: DNS 라우팅은 로드 밸런서가 수행하는 트래픽 라우팅과 동일하지 않습니다. DNS는 IP 주소 또는 별칭만 반환하며, 클라이언트는 반환된 엔드포인트에 연결합니다.

정책설명핵심 포인트
단순단일 값을 반환합니다(여러 값이 있는 경우 무작위 값 반환).헬스 체크 없음; Alias를 사용할 경우 AWS 리소스는 하나만 가능합니다.
가중치할당된 가중치에 따라 트래픽을 분산합니다.모든 레코드는 동일한 이름 및 유형을 공유해야 합니다; 헬스 체크 가능; 가중치 0은 레코드를 비활성화합니다.
지연 시간 기반요청자에게 가장 낮은 지연 시간을 보이는 엔드포인트를 반환합니다.클라이언트 위치와 AWS 리전 간의 지연 시간 측정을 사용합니다; 헬스 체크 가능(장애 조치).
장애 조치 (액티브‑패시브)트래픽을 기본 리소스로 라우팅하고, 기본이 실패하면 보조 리소스로 전환합니다.헬스 체크가 필요합니다.
지리 위치요청자의 지리적 위치에 따라 다른 레코드를 반환합니다.규정 준수 또는 지역별 콘텐츠에 유용합니다.
지리 근접성 (트래픽 흐름)지리적 거리와 선택적 바이어스를 기준으로 라우팅합니다.Route 53 트래픽 흐름을 통해 구성합니다.
다중 값 응답최대 8개의 정상 레코드를 반환하며, 클라이언트가 하나를 선택합니다.내장 헬스 체크 기능; 별도의 헬스 체크가 필요 없습니다.

상태 확인

  • 목적: 엔드포인트(애플리케이션, 서버, AWS 리소스)의 상태를 모니터링하고 자동 DNS 장애 조치를 가능하게 합니다.
  • 헬스 체크 유형:
    1. 엔드포인트 헬스 체크 – HTTP, HTTPS, 또는 TCP 프로브.
    2. 계산된 헬스 체크 – 여러 헬스 체크 결과를 결합합니다.
    3. CloudWatch 기반 헬스 체크 – CloudWatch 알람을 사용합니다(예: DynamoDB 스로틀링, RDS 알람, 사용자 정의 메트릭).

핵심 설정

SettingDefault / Typical Value
정상/비정상 임계값3
간격30 초 (비용이 증가하면 10 초로 줄일 수 있음)
지원 프로토콜HTTP, HTTPS, TCP
성공 기준전역 헬스 체크어의 ≥ 18 %가 정상이라고 보고해야 엔드포인트가 정상으로 간주됩니다.
정상으로 간주되는 상태 코드2xx 및 3xx 응답.
콘텐츠 기반 검사선택 사항 – 응답의 처음 5 120 바이트 내 텍스트를 기준으로 성공/실패를 판단합니다.
전역 헬스 체크어전 세계에 약 15개의 분산된 위치.

헬스 체크 통합

  • 헬스 체크는 가중치, 지연 시간 기반, 장애 조치, 다중 값 응답 정책을 사용하여 레코드에 연결할 수 있습니다.
  • HTTP 헬스 체크공용 리소스에만 적용됩니다.
  • 프라이빗 리소스계산된 또는 CloudWatch 기반 헬스 체크를 통해 모니터링할 수 있습니다.

팁: 방화벽이나 보안 그룹이 Route 53 헬스 체크 IP 범위에서 오는 인바운드 트래픽을 허용하도록 설정하세요.

빠른 참고용 치트‑시트

개념핵심 요점
DNS이름을 IP로 변환 → 계층 구조 (TLD → SLD → subdomain).
Route 53관리형, 권한 DNS with health checking and 100 % SLA.
Record TypesA/AAAA (IP), CNAME (hostname), NS (name servers), plus many advanced types.
Alias RecordAWS‑specific “CNAME‑like” record that works at the zone apex; free, health‑checked.
TTL캐시 지속 시간 제어; low = fast changes, high = fewer queries.
Routing PoliciesSimple, Weighted, Latency, Failover, Geolocation, Geoproximity, Multi‑Value.
Health Checks엔드포인트를 모니터링; 장애 조치 트리거; endpoint‑, calculated‑, or CloudWatch‑based 가능.
Hosted ZonesPublic (Internet) vs. Private (VPC) – $0.50/month per zone.

헬스 체크

  • 여러 헬스 체크 결과를 결합하여 단일 헬스 체크로 만든다.
    • 논리 연산자: OR, AND, NOT.
  • 최대 자식: 256개의 자식 헬스 체크.
  • 통과 기준: 부모가 정상으로 간주되기 위해 자식 체크 중 몇 개가 통과해야 하는지 지정한다.
  • 일반적인 사용 사례: 모든 헬스 체크가 실패하지 않도록 웹사이트를 유지보수한다.

Note: Route 53 헬스 체크는 VPC 외부에서 실행되므로 프라이빗 엔드포인트(프라이빗 VPC 리소스 또는 온프레미스 서버)에 접근할 수 없습니다.
프라이빗 리소스를 모니터링하려면 다음을 수행할 수 있습니다:

  1. 프라이빗 엔드포인트의 상태를 반영하는 CloudWatch 메트릭을 생성합니다.
  2. 해당 메트릭에 CloudWatch 알람을 연결합니다.
  3. 그 알람 자체를 모니터링하는 Route 53 헬스 체크를 생성합니다.

Failover (Active‑Passive)

표준 Route 53 장애 조치 라우팅으로, 하나의 리소스는 기본(활성)이고 다른 하나는 대기(수동) 상태입니다.

지리 위치 라우팅

  • 목적: 사용자 위치에 따라 트래픽을 라우팅합니다 (지연 시간 기반 라우팅과는 다름).
  • 위치 세분화: 대륙, 국가, 미국 주 (지역이 겹칠 경우 가장 정밀한 매치가 우선).
  • 기본 레코드: “Default” 레코드를 항상 생성하여 어떤 위치 규칙에도 일치하지 않는 요청을 잡아냅니다.
  • 사용 사례:
    • 웹사이트 현지화
    • 지역별 콘텐츠 제한
    • 지역 간 로드 밸런싱
  • 헬스 체크: 헬스 체크와 연동하여 정상적인 엔드포인트에만 트래픽이 전달되도록 할 수 있습니다.

지오프로시미티 라우팅

  • 목표: 지리적 편향에 따라 트래픽을 리소스로 이동하거나 회피합니다.
  • 지원되는 리소스:
    • AWS 리소스 – AWS 리전을 지정합니다.
    • 비‑AWS 리소스 – 위도와 경도를 지정합니다.
  • 구현: **Route 53 Traffic Flow (고급)**가 필요합니다.
  • 편향 값:
    • 양의 편향 (1 – 99): 지리적 영역을 확대 → 리소스로 더 많은 트래픽을 보냅니다.
    • 음의 편향 (‑1 – ‑99): 영역을 축소 → 리소스로 향하는 트래픽을 줄입니다.

IP 기반 라우팅 (CIDR 매핑)

  • 작동 방식: 클라이언트의 IP 주소를 기준으로 트래픽을 라우팅합니다.
  • 구성: CIDR 블록 목록을 제공하고 각 블록을 특정 엔드포인트/위치에 매핑합니다 (사용자 IP‑대‑엔드포인트 매핑).
  • 사용 사례:
    • 사용자를 가장 가까운 엔드포인트로 보내 성능을 최적화합니다.
    • 네트워크 비용을 절감합니다.
    • 예시: 특정 ISP 사용자를 전용 엔드포인트로 직접 연결합니다.

멀티‑밸류 응답 라우팅

  • 사용 시점: 동일한 요청을 처리할 수 있는 여러 리소스가 있는 경우.
  • 동작: Route 53은 각 쿼리마다 최대 8개의 정상 레코드를 반환합니다.
  • 헬스 체크: 연결할 수 있으며, 정상 레코드만 반환됩니다.
  • 중요: 이는 Elastic Load Balancer (ELB) 를 대체하는 것이 아님을 유의하십시오.

도메인 등록 vs. DNS 서비스

개념설명
Domain Registrar도메인 이름을 구입하는 기관(예: GoDaddy, Amazon Registrar). 일반적으로 기본 DNS 서비스를 제공합니다.
DNS ServiceDNS 레코드를 호스팅하고 해결하는 시스템(예: Route 53). 레지스트라와 다른 DNS 서비스를 사용할 수 있습니다.

일반적인 흐름:

  1. 구입: 모든 레지스트라(제3자 레지스트라 포함)에서 도메인을 구입합니다.
  2. Route 53에서 Hosted Zone을 생성합니다.
  3. 레지스트라에서 NS 레코드를 업데이트하여 Route 53 네임 서버를 가리키게 합니다.

핵심 요점: Domain registrar ≠ DNS service. 많은 레지스트라가 DNS를 번들로 제공하지만, 원하는 어떤 DNS 제공자든 자유롭게 사용할 수 있습니다.

Route 53 Resolver (Hybrid DNS)

기본적으로 Resolver는 다음에 대한 DNS 쿼리에 자동으로 응답합니다:

  • EC2 인스턴스의 로컬 도메인 이름.
  • Private Hosted Zones의 레코드.
  • Public Name Servers의 레코드.

연결할 수 있는 네트워크 유형

  • VPC (피어링된 VPC 포함).
  • 온프레미스 네트워크 (AWS Direct Connect 또는 AWS VPN를 통해).

엔드포인트

엔드포인트 유형기능
Inbound Endpoint온프레미스 DNS 리졸버가 AWS 리소스(예: EC2 인스턴스) 및 프라이빗 호스티드 존 레코드의 도메인 이름을 해결할 수 있도록 허용합니다.
Outbound EndpointRoute 53 Resolver가 VPC에서 온프레미스 DNS 리졸버로 DNS 쿼리를 전달할 수 있게 합니다.

이러한 엔드포인트를 통해 하이브리드 DNS 아키텍처를 구축할 수 있으며, AWS와 외부 네트워크 전반에 걸쳐 이름을 원활하게 해결할 수 있습니다.

Back to Blog

관련 글

더 보기 »