본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Amazon Route 53; Route 53; 아마존 Route 53
도메인 등록, DNS 라우팅, 상태 확인을 함께 제공하는 AWS의 고가용성·확장형 도메인 네임 시스템 웹 서비스

아마존 Route 53은 세 가지 일을 한다. 도메인 이름을 등록하고, 그 도메인으로 들어오는 DNS 질의에 답해 사용자를 알맞은 리소스로 보내고, 리소스가 살아 있는지 확인해 장애가 난 쪽으로 트래픽이 가지 않게 한다. 세 기능은 따로 써도 되고 함께 써도 된다. 여기에 VPC 안의 DNS 해석을 맡는 Route 53 VPC Resolver, 아웃바운드 DNS 질의를 거르는 Resolver DNS Firewall 같은 기능이 더해진다.

시험에서는 라우팅 정책 선택과 별칭 레코드와 CNAME의 차이, 그리고 상태 확인을 이용한 DNS 장애 조치가 가장 자주 나온다. Route 53은 SAA-C03 시험 안내서의 고가용성 과제에서 가용 영역, 리전과 함께 AWS 글로벌 인프라 예로 언급된다.

DNS와 Route 53이 www.example.com 요청을 리소스로 보내는 과정
항목 설명
도메인 등록 example.com 같은 도메인 이름을 Route 53에서 직접 등록
호스팅 영역(hosted zone) 하나의 도메인과 하위 도메인에 대한 레코드를 담는 컨테이너
퍼블릭 호스팅 영역 인터넷에서 오는 질의에 응답
프라이빗 호스팅 영역 연결된 하나 이상의 VPC 안에서 오는 질의에만 응답
레코드 A, AAAA, CNAME, MX, TXT 등 DNS 자원 레코드. Route 53 고유의 별칭 레코드가 있다
라우팅 정책 레코드를 만들 때 고르는 응답 방식
상태 확인(health check) 엔드포인트, 다른 상태 확인, CloudWatch 경보를 감시해 정상 여부 판단
VPC Resolver VPC에 기본으로 제공되는 재귀 DNS. 예전 이름은 Route 53 Resolver
  • 퍼블릭 호스팅 영역은 인터넷 사용자가 도메인을 찾을 때 쓰인다. 도메인을 다른 등록 기관에서 샀더라도 네임 서버를 Route 53으로 바꾸면 Route 53이 DNS를 맡는다.
  • 프라이빗 호스팅 영역은 db.example.internal처럼 VPC 안에서만 쓰는 이름을 관리한다. 영역을 만들 때 VPC를 지정하고, 나중에 다른 VPC(다른 계정의 VPC 포함)를 추가로 연결할 수 있다. 응답을 받으려면 연결된 VPC 안에 있거나, 하이브리드 구성의 인바운드 엔드포인트를 거쳐야 한다.
  • 프라이빗 호스팅 영역을 쓰려면 VPC의 DNS 확인과 DNS 호스트 이름 속성이 켜져 있어야 한다.
  • 같은 이름으로 퍼블릭·프라이빗 호스팅 영역을 함께 만들어 내부와 외부에 다른 답을 주는 split-view DNS도 가능하다.

별칭 레코드와 CNAME

편집 원본 편집

별칭 레코드(alias record)는 DNS 표준이 아닌 Route 53 고유 확장으로, CloudFront 배포, S3 정적 웹 사이트 버킷, Elastic Load Balancing 로드 밸런서, API Gateway, Global Accelerator, VPC 인터페이스 엔드포인트, 같은 호스팅 영역의 다른 레코드 같은 선택된 AWS 리소스를 가리킨다.

항목 별칭 레코드 CNAME 레코드
가리킬 수 있는 대상 선택된 AWS 리소스, 같은 호스팅 영역의 다른 레코드 어떤 DNS 이름이든 가능
영역 꼭대기(zone apex, 예: example.com) 생성 가능 생성 불가
질의 요금 AWS 리소스를 가리키는 별칭 질의는 무료 질의마다 요금
응답 방식 레코드 유형(A, AAAA 등)으로 IP를 바로 응답 다른 이름을 돌려주고 클라이언트가 다시 질의
TTL AWS 리소스를 가리키면 지정 불가, 리소스 기본 TTL 사용 직접 지정
대상 IP 변경 추적 로드 밸런서 IP가 바뀌어도 Route 53이 알아서 반영 대상 이름의 DNS에 의존

"example.com(apex)을 ALB나 CloudFront로 보내라"는 요구는 CNAME으로 풀 수 없고 별칭 레코드가 정답이다.

Route 53 라우팅 정책

편집 원본 편집
정책 동작 대표 용도 상태 확인 연동
단순(simple) 레코드의 값을 그대로 응답. 값이 여러 개면 모두를 무작위 순서로 응답 웹 서버 하나 같은 단순 구성 불가(여러 IP를 넣어도 상태 확인하지 않음)
가중치 기반(weighted) 지정한 비율로 여러 리소스에 분배 카나리 배포, A/B 테스트, 점진적 이전 가능
지연 시간(latency) 사용자에게 지연 시간이 가장 짧은 리전의 리소스로 응답 여러 리전에 배포한 서비스의 성능 최적화 가능
장애 조치(failover) 기본 리소스가 정상이면 기본, 비정상이면 보조로 응답 액티브-패시브 재해 복구 기본 레코드의 정상 여부 판단이 전제(상태 확인 또는 별칭의 대상 상태 평가)
지리 위치(geolocation) 사용자의 대륙·국가·주 위치에 따라 응답 현지화 콘텐츠, 국가별 배포 제한, 규제 준수 가능
지리 근접(geoproximity) 사용자와 리소스의 위치를 기준으로 가장 가까운 곳에 응답. 바이어스로 담당 지역을 넓히거나 좁힘 리전 간 트래픽 비중을 지리적으로 조정 가능
다중 값 응답(multivalue answer) 정상인 레코드 중 최대 8개를 무작위로 응답 간단한 클라이언트 측 부하 분산 가능
IP 기반(IP-based) 사용자 출발지 IP 대역(CIDR)과 엔드포인트의 매핑에 따라 응답 특정 ISP 사용자를 특정 엔드포인트로 보내 비용·성능 최적화 가능
  • 지연 시간 기반과 지리 위치 기반을 혼동하지 않는다. 성능이 목표면 지연 시간, 위치에 따른 법적·콘텐츠 요구면 지리 위치이다.
  • 지리 위치 정책은 위치를 판별하지 못하는 질의를 위해 기본(default) 레코드를 두는 것이 좋다.
  • 다중 값 응답은 부하 분산 장치를 대체하지 않는다. 비정상 레코드를 빼고 여러 IP를 돌려주는 정도이다.
  • 여러 정책을 겹쳐 쓰는 복잡한 규칙은 Traffic Flow로 시각적으로 구성할 수 있다.

상태 확인과 DNS 장애 조치

편집 원본 편집

Route 53 상태 확인은 세 종류가 있다.

  • 엔드포인트 감시: IP 주소나 도메인 이름으로 지정한 엔드포인트에 일정 간격으로 인터넷을 통해 요청을 보내 응답을 확인한다. 특정 URL의 페이지를 요청하는 식으로 실제 사용자 요청을 흉내 낼 수 있다.
  • 계산된 상태 확인: 다른 상태 확인 여러 개의 결과를 모아 판단한다. 예를 들어 웹 서버 중 정상인 수가 기준 아래로 떨어질 때만 비정상으로 본다.
  • CloudWatch 경보 감시: CloudWatch 경보가 보는 지표 데이터를 기준으로 판단한다.

Route 53 상태 확인기는 VPC 밖에 있다. 사설 IP만 가진 VPC 안 리소스는 엔드포인트 감시로 직접 확인할 수 없으므로, CloudWatch 지표에 경보를 만들고 그 경보를 감시하는 상태 확인을 쓴다.

액티브-패시브 장애 조치 구성 예시는 다음과 같다.

레코드 장애 조치 유형 값 상태 확인
www.example.com 기본(primary) 서울 리전 ALB(별칭) 서울 ALB 엔드포인트 감시
www.example.com 보조(secondary) S3 정적 웹 사이트의 점검 안내 페이지(별칭) 선택

별칭 레코드는 대상 상태 평가(Evaluate target health)를 켜면 ALB 같은 대상 리소스의 상태를 별도 상태 확인 없이 반영할 수 있다.

Route 53 VPC Resolver와 하이브리드 DNS

편집 원본 편집

VPC Resolver는 모든 VPC에 기본으로 제공되며 VPC 기본 주소 +2(VPC+2) 주소로 접근한다. VPC 안의 EC2 내부 이름, 프라이빗 호스팅 영역 레코드에 답하고, 퍼블릭 도메인은 인터넷의 네임 서버에 재귀 질의한다. 온프레미스와 VPC가 서로의 이름을 풀어야 하는 하이브리드 환경에서는 Resolver 엔드포인트를 쓴다.

구성 요소 방향 용도
인바운드 엔드포인트 온프레미스(또는 다른 VPC) → VPC 사내 DNS 서버가 AWS 프라이빗 호스팅 영역 이름을 질의
아웃바운드 엔드포인트 VPC → 온프레미스(또는 다른 VPC) VPC 안 리소스가 사내 도메인(예: corp.example.com)을 질의
Resolver 규칙 아웃바운드 도메인별 조건부 전달 규칙. 여러 계정에 공유 가능

엔드포인트 사이의 트래픽은 Direct Connect나 Site-to-Site VPN 같은 사설 연결을 탄다.

  • zone apex를 AWS 리소스(ALB, CloudFront, S3 웹 사이트)로 보내려면 CNAME이 아니라 별칭 레코드를 쓴다. 별칭 질의는 무료이다.
  • 리전 장애에 대비한 액티브-패시브 구성은 장애 조치 라우팅 + 상태 확인이다. 액티브-액티브 다중 리전은 지연 시간 또는 가중치 기반 정책에 상태 확인을 붙인다.
  • 새 버전에 트래픽 10%만 보내는 요구는 가중치 기반 정책이다.
  • 국가별로 다른 콘텐츠를 보여야 하거나 특정 국가 사용자를 특정 리전에 묶어야 하면 지리 위치 정책이다.
  • 온프레미스에서 프라이빗 호스팅 영역 이름을 풀어야 하면 인바운드 엔드포인트, VPC에서 사내 도메인을 풀어야 하면 아웃바운드 엔드포인트와 전달 규칙이다.
  • 사설 IP만 있는 리소스의 상태 확인은 CloudWatch 경보 기반 상태 확인을 쓴다.