home
SAA-C03

[network] Route 53

사람은 이름을 기억하고 컴퓨터는 IP로 찾아갑니다. 그 사이를 잇는 DNS, 그리고 트래픽을 원하는 대로 흘려보내는 라우팅 정책.

One-Line Summary

Amazon Route 53도메인 이름(example.com)을 실제 IP나 AWS 리소스로 연결해 주는 고가용성·확장형 관리형 DNS 서비스다. 여기에 도메인 등록엔드포인트 헬스체크까지 묶여 있어, "누가 접속하느냐·어디가 가까우냐·어디가 살아있느냐"에 따라 트래픽을 다르게 흘려보내는 라우팅 정책이 핵심이다. 시험에서는 Alias 레코드7가지 라우팅 정책이 압도적으로 자주 나온다.

Why It Exists

사람은 www.example.com 같은 이름을 기억하지만, 네트워크는 54.x.x.x 같은 IP로만 통신한다. 이 이름 ↔ 주소 변환(DNS)이 없으면 아무리 서버가 살아 있어도 사용자가 찾아올 수 없다. 게다가 리소스가 여러 리전·여러 대에 흩어져 있으면, 단순 변환을 넘어 "이 사용자를 어느 서버로 보낼지" 까지 결정해야 한다.

Route 53가 이 두 가지(이름 해석 + 트래픽 유도)를 함께 한다.

DNS가 없으면
  -> 사용자는 IP를 외워야 하고, 서버가 바뀌면 접속 불가

Route 53 경유
  -> example.com 질의를 받아 적절한 답(IP/AWS 리소스)을 돌려줌
  -> 라우팅 정책으로 "누구를·어디로·살아있는 곳으로" 보낼지 결정
  -> 헬스체크로 죽은 엔드포인트는 답에서 빼서 자동 우회

시험 감각: "DNS 기반으로 리전/가중치/지연시간/장애조치에 따라 트래픽을 나눠라" = Route 53 라우팅 정책.

Abbreviations

약어풀네임의미
DNSDomain Name System도메인 이름 ↔ IP 변환 체계
TTLTime To LiveDNS 응답을 리졸버가 캐시하는 시간(초)
NSName Server해당 존을 책임지는 네임서버 레코드
SOAStart Of Authority존의 권한 시작 정보(존 메타데이터)
A / AAAAAddress record이름 → IPv4(A) / IPv6(AAAA)
CNAMECanonical Name이름 → 다른 이름(별칭)
AliasAlias recordRoute 53 전용, 이름 → AWS 리소스(무료)
Hosted ZoneHosted Zone한 도메인의 레코드를 담는 컨테이너

Route 53의 3가지 역할

역할내용
DNS 서비스(권한 있는 DNS)Hosted Zone에 레코드를 두고 도메인 질의에 답한다(핵심)
도메인 등록(Registrar)example.com 같은 도메인을 직접 구매·갱신
헬스체크엔드포인트 상태를 감시해 장애조치·자동 우회에 활용

이름 Route 53의 53은 DNS가 쓰는 포트 53에서 왔다. "고가용성 DNS + 도메인 등록 + 헬스체크" 세트로 기억한다.

Hosted Zone — Public vs Private (빈출)

Hosted Zone은 한 도메인의 레코드를 담는 컨테이너다. 어디서 해석되느냐에 따라 두 종류로 갈린다.

구분Public Hosted ZonePrivate Hosted Zone
해석 범위인터넷 전체(누구나 조회)연결된 VPC 내부에서만
용도대외 서비스 도메인내부 전용 이름(사내 API, DB 엔드포인트 별칭 등)
필요 조건등록된 도메인VPC 연결 + VPC의 enableDnsHostnames/enableDnsSupport on
대표 예www.example.com → ALBdb.internal.example.com → 사설 IP
[Public HZ]  인터넷 사용자 ── 질의 ──► Route 53 ──► 공인 대상(ALB, CloudFront...)

[Private HZ] VPC 내부 EC2 ── 질의 ──► Route 53 Resolver ──► 사설 IP(외부엔 안 보임)

시험 감각: "VPC 안에서만 쓰는 내부 도메인 이름 해석" = Private Hosted Zone. "인터넷 사용자에게 도메인 제공" = Public Hosted Zone.

레코드 타입 — 무엇을 답으로 돌려주나

레코드역할
A이름 → IPv4 주소
AAAA이름 → IPv6 주소
CNAME이름 → 다른 이름(별칭). zone apex 불가
Alias이름 → AWS 리소스(Route 53 전용, 무료). zone apex 가능
MX메일 서버 지정
TXT텍스트(도메인 소유 검증, SPF/DKIM 등)
NS이 존을 담당하는 네임서버
SOA존의 권한 시작 정보

Alias vs CNAME (매우 빈출)

시험에서 거의 반드시 나오는 비교다. 핵심은 zone apex(루트 도메인)에서의 사용 가능 여부비용이다.

항목Alias 레코드CNAME 레코드
무엇을 가리키나AWS 리소스(ALB/CloudFront/S3 웹사이트/API GW 등)다른 DNS 이름(임의 호스트명)
zone apex(루트, example.com)가능불가능
서브도메인(www.example.com)가능가능
비용무료(Alias 질의 과금 없음)일반 질의 과금
대상 IP 변화 대응AWS가 자동 추적(리소스 IP 바뀌어도 OK)대상 이름 그대로 위임
타입A/AAAA 형태로 동작항상 CNAME
example.com (zone apex)
  ├─ CNAME  → ✕ DNS 규격상 apex에 CNAME 불가 (SOA/NS와 공존 못 함)
  └─ Alias  → ✅ ALB/CloudFront 등 AWS 리소스로 바로 연결 (무료)

www.example.com (서브도메인)
  ├─ CNAME  → other.example.net  (가능하지만 과금)
  └─ Alias  → CloudFront 배포     (권장: 무료 + apex와 일관)

시험 감각: "루트 도메인(example.com)을 ALB/CloudFront/S3로 연결" = Alias(CNAME은 apex 불가). "AWS 리소스를 도메인에 붙이는데 비용까지 아껴라" = Alias.

Alias가 지원하는 대표 대상: ELB(ELB), CloudFront(CloudFront), S3 정적 웹사이트, API Gateway, Global Accelerator(Global Accelerator), 다른 Route 53 레코드. (EC2 인스턴스 IP에는 Alias 불가 → A 레코드 사용)

라우팅 정책 — 시험의 최대 산봉우리 (빈출)

같은 이름에 대한 질의를 어떻게 답할지 정하는 정책. 7가지를 "언제 쓰나"로 구분하는 것이 핵심이다.

1) Simple (단순)

가장 기본. 하나의 레코드에 값 하나(또는 여러 IP)를 매핑해 그대로 답한다. 헬스체크와 결합 불가.

example.com  A  →  54.1.1.1   (여러 값이면 랜덤으로 하나 반환, 상태 확인 X)

단순 매핑, 트래픽 분산·장애조치 로직이 필요 없을 때.

2) Weighted (가중치)

여러 레코드에 **가중치(%)**를 부여해 트래픽을 비율대로 나눈다. 카나리 배포·블루/그린·A-B 테스트의 대표 도구.

레코드가중치결과
v1 서버90트래픽 90%
v2 서버(신규)10트래픽 10%(카나리)
weight 90 ─► 기존 스택
weight 10 ─► 신규 스택   ← 문제 없으면 점차 비율 상향

시험 감각: "트래픽을 N% : M% 비율로 나눠라 / 카나리 / 점진적 전환" = Weighted. 가중치 0이면 그 레코드는 응답에서 제외.

3) Latency-based (지연시간 기반)

여러 리전에 배포된 리소스 중, 사용자에게 지연시간이 가장 낮은 리전으로 보낸다. "빠른 응답"이 키워드.

서울 사용자 ─► ap-northeast-2 (지연 낮음)  ✅
             ─► us-east-1     (지연 높음)  ✕

시험 감각: "여러 리전 배포, 사용자에게 가장 빠른(latency 최저) 리전으로" = Latency-based. (지리적 위치가 아니라 실제 측정된 지연시간 기준)

4) Failover (장애조치, active-passive)

헬스체크와 짝을 이룬다. Primary가 살아있으면 Primary로, **죽으면 자동으로 Secondary(백업)**로 돌린다. 전형적 active-passive DR.

Primary(healthy)   ─► 정상 트래픽
Primary(unhealthy) ─► 헬스체크 실패 감지 ─► Secondary로 전환

시험 감각: "장애 시 백업 사이트로 자동 전환(active-passive DR)" = Failover + 헬스체크. Secondary로 흔히 S3 정적 사이트/다른 리전 스택을 둔다.

5) Geolocation (지리적 위치)

사용자의 위치(대륙/국가/미국 주) 를 보고 답을 정한다. 콘텐츠 현지화·법규 준수·언어별 사이트 라우팅에 쓴다.

사용자 위치응답 대상
대한민국한국어 사이트
유럽EU 데이터 리전(규제 준수)
그 외(기본값)Default 레코드(반드시 두는 게 안전)

시험 감각: "사용자 국가/지역에 따라 다른 콘텐츠·다른 리전으로 / GDPR 등 규제로 트래픽 격리" = Geolocation. (지연시간과 무관, 순수 위치 기반) 매칭 안 되는 위치 대비 Default 레코드 권장.

6) Geoproximity (지리적 근접 + bias)

사용자와 리소스의 지리적 거리로 라우팅하되, bias(편향) 값으로 특정 리소스의 담당 영역을 넓히거나 좁힐 수 있다.

시험 감각: "지리적 거리 기반인데 특정 리전으로 더/덜 몰리게 조정(bias)" = Geoproximity. Geolocation(국가 경계)과 달리 거리 + 편향이라는 점이 구분 포인트.

7) Multivalue answer (다중값 응답)

여러 레코드(최대 8개)를 각각 헬스체크와 함께 두고, 질의마다 건강한 값들만 여러 개 반환한다. 클라이언트가 그중 하나를 고르므로 간이 클라이언트 사이드 로드밸런싱 + 장애 값 자동 제외 효과.

질의 응답 ─► [IP1(healthy), IP3(healthy), IP4(healthy)]  ← IP2(unhealthy) 제외
클라이언트가 이 중 하나 선택
비교Simple(다중 IP)Multivalue answer
헬스체크불가가능(값별로)
죽은 값 제외안 됨자동 제외
용도단순 반환간이 LB + 가용성

시험 감각: "여러 IP를 돌려주되 건강한 것만, 간단한 분산" = Multivalue answer. 단, 진짜 로드밸런서(ELB)를 대체하진 않는다(가중·세션·L7 없음).

라우팅 정책 한눈 비교표 (빈출)

정책동작대표 use case헬스체크 사용
Simple값 하나(또는 랜덤) 반환단순 매핑
Weighted가중치(%)대로 분배카나리·블루/그린·A/B선택(권장)
Latency지연 최저 리전으로다중 리전 성능 최적화선택(권장)
FailoverPrimary→Secondary 전환active-passive DR필수
Geolocation사용자 위치(국가 등)로현지화·규제 준수선택
Geoproximity거리 + bias로리전 담당영역 미세조정선택
Multivalue건강한 값 여러 개 반환간이 client-side LB값별로 권장

헬스체크 (Health Checks)

Route 53는 엔드포인트를 주기적으로 감시하고, unhealthy면 응답에서 제외해 자동 우회한다. Failover의 근간.

헬스체크 종류감시 대상
엔드포인트 헬스체크공인 IP/도메인의 HTTP(S)·TCP 응답
계산형(Calculated)여러 하위 헬스체크를 조합(AND/OR/N개 이상 등)
CloudWatch 알람 연동프라이빗 리소스처럼 직접 못 찌를 때, 알람 상태로 판정
글로벌 헬스체커들 ──찌름──► 엔드포인트
  다수가 정상 응답  ─► healthy  (응답에 포함)
  실패 임계 초과    ─► unhealthy(응답에서 제외 → Failover 트리거)

시험 감각: "장애조치·자동 우회"가 필요하면 헬스체크 + Failover/Multivalue. 프라이빗 엔드포인트는 직접 못 찌르므로 CloudWatch 알람 기반 헬스체크를 쓴다.

TTL — 캐시와 장애조치 속도의 트레이드오프

TTL은 리졸버가 응답을 몇 초간 캐시할지다. Alias는 대상 리소스 유형에 따라 TTL이 정해지기도 한다.

TTL장점단점
높음(예: 86400)Route 53 질의↓ → 비용↓, 부하↓레코드 변경/장애조치 반영 느림
낮음(예: 60)변경·장애조치 빠른 반영질의 잦아져 비용↑
Failover 예정 서비스
  -> TTL을 미리 낮춰(예 60초) 두면, 전환 시 캐시가 빨리 풀려 신속히 백업으로

시험 감각: "장애조치가 느리게 반영된다" → 클라이언트/리졸버가 옛 레코드를 TTL 동안 캐시 중. 빠른 전환이 필요하면 TTL을 낮게.

Route 53(DNS 라우팅) vs Global Accelerator (혼동 주의)

둘 다 "가까운/좋은 곳으로 보낸다"지만 계층이 다르다.

구분Route 53 Latency/GeoGlobal Accelerator
동작 계층DNS(이름 해석 시점)네트워크(Anycast 고정 IP)
클라이언트 IP리전마다 다른 IP를 응답2개의 고정 Anycast IP
전환 속도DNS TTL 캐시에 의존(느릴 수 있음)거의 즉시(IP 그대로, 경로만 바뀜)
최적화 방식지연/위치 기반으로 응답 선택AWS 백본으로 최단 경로 유입

시험 감각: "고정 IP 필요 / DNS 캐시 없이 빠른 리전 페일오버" = Global Accelerator. "DNS 레벨에서 지연/위치/가중치 라우팅" = Route 53.

Common Wrong Directions

오답 방향왜 부족한가
루트 도메인(example.com)에 CNAME 사용zone apex에 CNAME 불가 → Alias 써야 함
ALB 연결에 A 레코드로 IP 하드코딩ALB IP는 변함 → Alias로 리소스 참조
Latency와 Geolocation을 같은 것으로 봄Latency=측정된 지연, Geolocation=사용자 위치(국가)
Failover 구성에 헬스체크 생략Failover는 헬스체크가 있어야 전환 판단 가능
Simple 정책으로 죽은 서버 자동 제외 기대Simple은 헬스체크 불가 → Multivalue/Failover 필요
Multivalue를 완전한 로드밸런서로 오해L7·세션·정교한 분산 없음(간이 client-side LB)
장애조치가 즉시 될 거라 가정TTL 캐시 때문에 지연 → TTL 낮춰야 빠름
Private Hosted Zone을 인터넷에서 조회 기대Private HZ는 연결된 VPC 내부 전용
프라이빗 엔드포인트를 직접 헬스체크하려 함직접 못 찌름 → CloudWatch 알람 기반 헬스체크

Exam Triggers

문제에서 이런 표현이 나오면떠올릴 것
"point root/apex domain to ALB or CloudFront"Alias 레코드(CNAME 불가)
"reduce cost of DNS queries to AWS resource"Alias(무료 질의)
"split traffic 90/10 for canary / blue-green"Weighted
"route users to lowest-latency region"Latency-based
"route based on user country / GDPR / localized site"Geolocation
"adjust how much traffic each region gets by distance + bias"Geoproximity
"automatic failover to standby site"Failover + 헬스체크
"return multiple healthy IPs, simple client-side balancing"Multivalue answer
"failover is slow to take effect"TTL을 낮춰라
"resolve names only inside a VPC"Private Hosted Zone
"health check a private/internal resource"CloudWatch alarm 기반 헬스체크
"static anycast IP / fast regional failover without DNS caching"Global Accelerator(Route 53 아님)

Memory Sentence

Route 53 = 고가용성 관리형 DNS + 도메인 등록 + 헬스체크. 루트 도메인을 AWS 리소스에 붙일 땐 무료인 Alias(CNAME은 apex 불가). 라우팅 7종은 Simple(단순)·Weighted(비율/카나리)·Latency(지연 최저)·Failover(active-passive+헬스체크)·Geolocation(사용자 위치)·Geoproximity(거리+bias)·Multivalue(건강한 값 여러 개). 장애조치가 느리면 TTL을 낮추고, 프라이빗 리소스 헬스체크는 CloudWatch 알람으로. VPC 내부 전용 이름은 Private Hosted Zone. 고정 IP·DNS 캐시 없는 빠른 페일오버는 Route 53이 아니라 Global Accelerator.

References

댓글

아직 댓글이 없습니다.