Cloud/AWS

Route 53

Debin 2023. 7. 4.
반응형

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를 대체할 수는 없다.
  • 클라이언트 측면의 로드 밸런싱이다.
  • 다중 값이 있는 단순한 라우팅의 경우에는 단순 라우팅 정책은 상태 확인을 허용하지 않기 때문에 단순 라우팅 정책의 쿼리가 반환하는 리소스 중 하나는 비정상일 가능성이 있습니다
  • 다중 라우팅은 정상 상태 확인과 연동되며, 정상인 리소스를 반환할 수 있다.
반응형

댓글