Route53은 아래의 기능들을 제공하는 서비스입니다.
특정 도메인에 트래픽을 어떻게 라우팅 시킬 것인지 정의하는 부분입니다.
각 레코드는 아래의 내용을 포함합니다.
레코드 타입에는 아래의 여러 종류들이 존재합니다.
CNAME은 Top Node Domain Name으로 지정할 수 없습니다.(epimetheus.store 등 불가)
타겟 도메인명은 A나 AAAA레코드에 포함되어 있어야 합니다.
Hosted Zone
도메인과 서브도메인으로 가는 트래픽에 대해 어디로 보내야 할 지 저장한 컨테이너
- Public Hosted Zones
- Private Hosted Zones
TTL이 높으면 : 트래픽은 적어지나 outdated record가 생김
TTL이 낮으면 : 더 많은 트래픽을 감당해야하지만 record를 바꾸기 쉬움
별칭을 가진 record를 제외하고, TTL은 필수적입니다.
hostname을 다른 hostname으로 지칭함(단, Root Domain은 불가능)
hostname이 AWS 리소스를 가리키게 함. 따라서 Record 타입이 A/AAAA만 가능
(Root Domain 여부 상관없음)
Route53은 트래픽을 라우팅하는 것이 아니라 DNS 쿼리를 적절한 위치로 보내는 길잡이 역할입니다.
1개의 Resource로 라우팅됨
특정 리소스에 얼만큼의 요청(%)를 보낼 지 지정함
Latency가 가장 적은 리소스로 리디렉션을 시킴
Route53의 Health Check
public resource에 대해서만 Health Check를 지원합니다.
HTTP, HTTPS, TCP를 지원합니다.
18%이상의 검사에서 통과했을때만 Healthy로 판단합니다.
모니터링 대상
- 다른 Resource
- 다른 Health Check
- Cloudwatch Alarm(이걸로 우회해서 private resource 확인가능)
Calculated Health Checks
최대 256개의 Health Check를 (OR | AND | NOT)으로 묶어 한개의 Health Check로 만드는 것
Primary Record에 Health Check를 걸어두고(필수) 장애가 발생했을 때 Secondary에 Failover을 하는 방식
User의 Location에 기반하여 라우팅 진행(Latency와는 다른 개념)
각 Resource의 위치에 bias를 걸어 인접한 사용자를 해당 리소스로 접근 시킴(Geolocation과 동일)
Client IP에 따라 어디로 라우팅될지 결정. CIDR을 제공해야함
CIDR로 endpoint나 location을 기록해두고, 해당 DNS로 요청이 왔을 때 어떤 endpoint로 보낼 지 Client IP와 CIDR을 매핑하여 결정
여러 리소스로 트래픽을 라우팅할 때 사용. 사용자는 healthy한 여러 리소스를 응답받고, 그중에서 선택함(Client Side Load Balancing)