개발 공부/AWS
[AWS] SAA 공부 (8) Route 53
sngynhy
2025. 3. 28. 14:06
Route 53
확장성, 고가용성을 갖춘 완전 관리형 DNS 서비스
도메인 이름 등록, 트래픽 라우팅, 가용성 모니터링을 한 번에 관리 => DNS 관리와 트래픽 제어 가능
주요 기능
- 도메인 등록 및 관리 (도메인 레지스트라)
- Route 53에서 도메인 구매 및 등록 가능
- 기존 도메인을 Route 53으로 이전 가능
- Route 53에서 공용 호스팅 영역 생성
- 도메인을 구매한 타사 Registar에 NS 레코드 업데이트
- 도메인에 대한 DNS 레코드 설정 가능
- DNS 트래픽 라우팅 > 레코드를 통해 특정 도메인으로 라우팅
- 단순 라우팅
- 가중치 기반 라우팅
- 지연 시간 기반 라우팅
- 지리적 라우팅
- Failover 라우팅
- 상태 확인 및 장애 감지 (Health Checks & Failover)
- Route 53의 리소스 관련 상태 확인
- 특정 IP 주소 또는 도메인에 대해 정기적으로 상태 확인
- 상태 확인 실패 시 자동으로 트래픽을 다른 정상 서버로 전환
- 높은 가용성과 확장성
- 전 세계 여러 리전에 걸쳐 고속의 DNS 응답 속도 제공
- 글로벌 Anycast 네트워크를 사용하여 DDos 공격에도 강한 인프라
- 100% SLA 가용성을 제공하는 유일한 AWS 서비스
DNS 레코드 유형
도메인이나 example.com과 같은 서브도메인 이름과 같은 정보를 포함
- A (IPv4) / AAAA (IPv6)- 도메인을 특정 IP 주소에 매핑
- CNAME - 도메인을 다른 도메인에 매핑
- 대상 호스트 이름은 A 혹은 AAAA 레코드
- Route 53에서 DNS namespace 또는 Zone Apex의 상위 노드에 대한 CNAMES를 생성할 수 없음
- 예를 들어, example.com에 CNAME을 만들 수는 없지만 www.example.com에 에 대한 CNAME 레코드는 만들 수 있음
- NS (Name Server) - 호스팅 존의 네임서버
- 서버의 DNS 이름 또는 IP 주소로 호스팅 존에 대한 DNS 쿼리에 응답
- 네임서버 정보 저장 (Route 53에서 자동 생성)
- 트래픽이 도메인으로 라우팅되는 방식 제어
- MX - 이메일 서버 주소 지정
- TXT - 인증 정보 저장
호스팅 존 (Hosted Zone)
특정 도메인의 DNS 레코드를 저장하는 공간
즉, 레코드 컨테이너 역할로 도메인과 서브도메인으로 가는 트래픽의 라우팅 방식을 정의
- Public Hosted Zone - 인터넷에서 접근 가능한 도메인용
- 공개된 클라이언트로부터 온 쿼리에 응답
- 웹 브라우저에 example.com을 요청하면 IP 반환
- Private Hosted Zone - VPC 내에서만 사용 가능한 내부 DNS
- VPC(가상 프라이빗 클라우드) 에서만 동작
- 비공개 도메인의 이름의 프라이빗 리소스를 식별할 수 있도록 해줌
Records TTL (Time To Live)
1. 클라이언트가 Route 53에 DNS 요청 시 Route 53은 레코드와 IP, TTL을 응답받음
2. TTL은 클라이언트에게 결과를 캐시하도록 요청
3. 이후 클라이언트가 재요청을 보내거나 동일한 호스트 이름으로 접속 시
4. TTL이 만료되지 않았다면 캐시에 저장된 것을 사용하기 때문에 DNS 서버에게 쿼리를 보내지 않아도 됨
- High TTL (ex. 24시간)
- 트래픽은 현저히 줄어들지만 업데이트 되지 않은 레코드를 응답받을 수 있음
- Low TTL (ex. 60초)
- 트래픽 증가로 높은 비용 발생 (Route 53에 들어오는 요청의 양에 따라 요금 책정)
CNAME vs Alias
AWS 리소스 사용 시 주어지는 호스트 네임과 사용자가 보유한 도메인을 매핑하고자 할 때
1. CNAME Records
- 도메인을 다른 도메인에 매핑
- ex) app.mydomain.com => blabla.anything.com
- 루트 도메인이 아닌 경우에만 가능 > 즉, domain.com 앞에 뭔가 붙어야 함
2. Alias
- 호스트 이름이 특정 AWS 리소스로 매핑 (Route 53 서비스 한정)
- ex) app.mydomain.com => blabla.amazonaws.com
- 루트 및 비루트 도메인 모두 작동
- 무료
- 자체적으로 상태 확인 가능
별칭 레코드 (Alias Records)
- AWS의 리소스에만 매핑
- DNS의 확장 기능
- ALB에서 IP가 바뀌면 별칭 레코드가 자동으로 인식
- Zone Apex라는 DNS namespace의 상위 노드로 사용 가능 (CNAME과의 차이점)
(※ Apex란? 하위 도메인을 포함하지 않은 루트 도메인)- 즉, example.com와 같이 루트 도메인에도 별칭 레코드 사용 가능
- 레코드 타입 > A / AAAA만 가능
- TTL 설정 불가 > Route 53에 의해 자동 설정
- 타겟
- Route 53 (동일 Hosted Zone)
- ELB
- ColudFront
- API Gateway
- Elastic Beastalk environtments
- S3 Websites
- VPC Interface Endpoint
- Global Accelerator
- EC2의 DNS 이름에 대해서는 불가