반응형
Route 53
- 고가용성, 확장성을 갖춘, 완전히 관리되며 권한있는 DNS다.
- 권한이 있다라는 뜻은 우리가 DNS 레코드를 업데이트 할 수 있다는 의미다.
- 도메인 레지스트리로 도메인 이름을 등록한다.
- Route 53의 리소스 관련 상태 확인을 확인할 수 있다.
- 100% SLA 가용성을 제공하는 유일한 AWS 서비스입니다
- Route 53에서 여러 DNS 레코드를 정의하고 레코드를 통해 특정 도메인으로 라우팅하는 방법을 정의한다.
레코드가 가지는 값
- 도메인/서브도메인 이름
- 레코드 타입
- A: 호스트 이름과 IPv4 IP를 매핑
- AAAA: 호스트 이름과 IPv6를 매핑
- CNAME: 호스트 이름을 다른 호스트 이름과 매핑
- 대상 호스트 이름은 A나 AAAA 레코드가 될 수 있다.
- Route 53에서 DNS 이름 공간 또는 Zone Apex의 상위 노드에 대한 CNAMES를 생성할 수 없다.
- 예를 들어 example.com에 CNAME을 만들 수는 없지만 www.example.com에 대한 CNAME 레코드는 만들 수 있다.
- 즉 루트 도메인 이름이 아닌 경우에만 사용할 수 있다.
- NS: 호스팅 영역의 네임 서버다. 트래픽이 도메인으로 라우팅 되는 방식을 제어한다.
서버의 DNS 이름 또는 IP 주소로 호스팅 존에 대한 DNS 쿼리에 응답이 가능하다. - CAA, DS, MX, NAPTR, PTR, SOA, TXT, SPF, SRV 등
- Value: ip
- 라우팅 정책: Route 53이 쿼리에 응답하는 방식이다.
- TTL: DNS 리졸버에서 레코드가 캐싱되는 시간이다.
참고로 53은 전통적인 DNS 포트다.
호스팅 존
- 호스팅 존은 레코드의 컨테이너다.
- 도메인과 서브도메인으로 가는 트래픽의 라우팅 방식을 정의한다.
- 호스팅 존에 두 종류가 있는데 퍼블릭 호스팅 존과 프라이빗 호스팅 존이 있다.
- 프라이빗 호스팅 존: 가상 프라이빗 클라우드(VPC)만이 URL을 리졸브 할 수 있다.
- 퍼블릭 호스팅 존 : 퍼블릭 호스팅 존은 공개된 클라이언트로부터 온 쿼리에 응답할 수 있다.
Alias
AWS를 사용하는 경우 AWS의 자체적인 호스트 이름이 생긴다.
이를 우리가 소유한 도메인에 호스트 이름을 매핑하려고 할 수 있다. 이때 CNAME과 ALIAS를 사용할 수 있다.
CNAME은 위에서 살펴봤으므로 ALIAS에 대해 알아보겠다.
- Route53에 한정되지만 별칭 레코드도 있다.
- 호스트 이름이 특정 AWS 리소스로 향하도록 할 수 있다. 오직 AWS의 리소스에만 매핑이 되어 있다.
- 루트 도메인, 비루트 도메인 모두에 작동한다.
- 무료이고, 자체적으로 상태 확인이 가능하다.
- EC2 DNS 이름에 대해서는 별칭 레코드를 설정할 수 없다.
- 별칭 레코드는 TTL을 설정할 수 없다.
- 대상
- ELB
- CloudFront
- API Gateway
- 일래스틱 빈스톡 환경
- S3 웹사이트 (버킷 X)
- VPC 인터페이스 엔드포인트
- Global Accelerator 가속기
- 동일 호스트 존의 Route 53
Route 정책
라우팅 정책은 Route 53가 DNS 쿼리에 응답하는 것을 돕는다.
단순 라우팅 정책 (Simple)
- 트래픽을 단일 리소스로 보낸다.
- 동일한 레코드에 여러 개의 ip 지정할 수도 있다.
- 그럼 DNS가 다중 값을 응답하고 클라이언트가 랜덤으로 골라서 라우팅에 적용한다.
가중치 기반 정책 (Weighted)
- 가중치를 활용해 요청의 일부 비율을 특정 리소스로 보낸다.
- 각 레코드에 상대적으로 가중치를 할당한다.
- DNS 레코드들은 동일한 이름과 유형을 가져야 하며 상태 확인과도 관련될 수 있다.
- 서로 다른 지역들에 걸쳐 로드 밸런싱을 할 때나 적은 양의 트래픽을 보내 새 애플리케이션을 테스트하는 경우에 사용한다.
대기 시간 기반 정책 (Latency-based)
- 지연 시간이 가장 짧은, 즉 가장 가까운 리소스로 리다이렉팅을 한다.
- 지연 시간은 유저가 레코드로 가장 가까운 식별된 AWS 리전에 연결하기까지 걸리는 시간을 기반으로 측정된다.
장애 조치 정책 (Failover)
- 상태확인과 DNS 레코드를 묶은 방식이다.
- 공용 엔드 포인트 모니터링, 계산된 상태 확인, 클라우드 워치의 경보 상태를 모니터링이 있다.
- Primary 리소스 / Disaster Recovery 리소스가 필요하다.
- Primary에 에러가 발생하면 Disaster Recovery로 쿼리한다.
지리적 위치 (Geolocation)
- 사용자의 실제 위치를 기반으로 합니다. 즉 가장 가까운 곳 IP로 응답한다.
- 사용 사례로는 콘텐츠 분산을 제한하고 로드 밸런싱 등을 실행하는 웹사이트 현지화가 있습니다
지리 근접 (GeoProximity)
- 사용자와 리소스의 지리적 위치를 기반으로 트래픽을 리소스로 라우팅한다.
- 편향값을 사용해 특정 위치를 기반으로 리소스를 더 많은 트래픽을 이동시킨다.
IP 기반 (IP-based)
- 클라이언트 IP 주소를 기반으로 라우팅한다.
- Route 53에서 CIDR 목록을 정의, 클라이언트의 IP 범위
- CIDR에 따라 트래픽을 어느 로케이션으로 보내야 하는지 정한다.
- 이걸 사용해 성능 최적화, 네트워크 비용 절감이 가능하다.
다중 값 (Multi-Value)
- 트래픽을 다중 리소스로 라우팅할 때 사용한다.
- Route 53은 다중 값과 리소스를 반환한다.
- 상태 확인과 연결하면 다중 값 정책에서 반환되는 유일한 리소스는 정상 상태 확인과 관련이 있다.
- 각각의 다중 값 쿼리에 최대 8개의 정상 레코드가 반환된다.
- ELB와 유사해 보이지만 ELB를 대체할 수는 없다.
- 클라이언트 측면의 로드 밸런싱이다.
- 다중 값이 있는 단순한 라우팅의 경우에는 단순 라우팅 정책은 상태 확인을 허용하지 않기 때문에 단순 라우팅 정책의 쿼리가 반환하는 리소스 중 하나는 비정상일 가능성이 있습니다
- 다중 라우팅은 정상 상태 확인과 연동되며, 정상인 리소스를 반환할 수 있다.
반응형
댓글