← 아티클 목록

Route53 라우팅 정책 — 가중치·지연·장애조치 정리

2027-11-08#DNS#Route53#클라우드

DNS는 단순히 도메인을 IP 하나로 바꿔주는 전화번호부가 아닙니다. 클라우드 DNS는 같은 도메인 이름을 누가·어디서 묻느냐에 따라 다른 답 을 줄 수 있습니다. 신규 버전에 트래픽을 10%만 흘리거나, 사용자와 가까운 리전으로 보내거나, 죽은 서버를 답에서 빼는 일이 전부 DNS 라우팅 정책으로 가능합니다.

라우팅 정책 한눈에 비교

정책무엇을 기준으로대표 용도
단순(Simple)없음, 고정 응답단일 서버
가중치(Weighted)지정한 비율카나리 배포, A/B 테스트
지연(Latency)사용자와 리전 간 응답 속도글로벌 서비스 속도 최적화
장애조치(Failover)헬스체크 결과액티브-스탠바이 이중화
지리(Geolocation)접속자 국가·지역지역별 콘텐츠 분리

핵심은 가중치·지연·장애조치 세 가지입니다.

세 가지 정책 활용

  1. 가중치 라우팅 — 안전한 점진 배포 신규 버전 서버에 가중치 10, 기존에 90을 주면 트래픽의 10%만 새 버전으로 흘러갑니다. 문제가 없으면 비율을 점차 올려 100%로 전환합니다. 같은 도메인에 레코드 두 개를 만들고 가중치만 다르게 줍니다.
JSON
{
  "Name": "api.example.com",
  "Type": "A",
  "SetIdentifier": "v2-canary",
  "Weight": 10,
  "AliasTarget": { "DNSName": "v2-alb.elb.amazonaws.com" }
}
  1. 지연 라우팅 — 가장 빠른 리전으로 서울·버지니아 두 리전에 같은 서비스를 띄워두면, 한국 사용자는 서울로, 미국 사용자는 버지니아로 자동 연결됩니다. 기준은 물리적 거리가 아니라 실제 측정된 네트워크 지연 시간입니다.

  2. 장애조치 라우팅 — 죽으면 빼기 주(primary) 서버에 헬스체크를 걸어두면, 응답이 없을 때 DNS가 자동으로 대기(secondary) 서버 주소를 내줍니다. 헬스체크가 핵심이라 반드시 함께 설정합니다.

로컬 터미널
aws route53 create-health-check \
  --health-check-config \
  'Type=HTTPS,ResourcePath=/health,FullyQualifiedDomainName=api.example.com'

TTL 함정 주의

라우팅 정책을 바꿔도 즉시 반영되지 않습니다. DNS 응답은 TTL(Time To Live) 동안 클라이언트·중간 리졸버에 캐시되기 때문입니다. 장애조치나 카나리처럼 빠른 전환이 필요한 레코드는 TTL을 60초 정도로 짧게 둡니다. 너무 짧으면 조회 부하가 늘어나니 용도에 맞춰 조정합니다.

요점 정리

  • 같은 도메인도 라우팅 정책에 따라 다른 답을 줄 수 있다.
  • 카나리 배포는 가중치, 글로벌 속도는 지연, 이중화는 장애조치(+헬스체크) 정책을 쓴다.
  • 정책 전환 속도는 TTL이 좌우하므로 빠른 전환이 필요하면 TTL을 짧게 둔다.

DNS 라우팅 정책을 직접 만들고 트래픽이 의도대로 갈리는지 확인하는 실습은 클라우드 트랙에서 회원가입 없이 무료로 할 수 있습니다.