[AWS SAA-C03] AWS Route53 정리

Route53

  • Route53은 가용성과 확장성이 뛰어난 DNS(Domain Name Service) 웹 서비스이다.
  • Route53은 세 가지 주요 기능을 제공한다.
    = 도메인 등록
    . 도메인 이름 등록 허용
    = DNS(Domain Name Service) 서비스
    . www.example.com과 같은 친숙한 도메인 이름을 192.0.2.1과 같은 IP 주소로 변환한다.
    . 권한 있는 DNS 서버의 글로벌 네트워크를 사용하여 DNS 쿼리에 응답하여 지연 시간을 줄인다.
    . 인터넷 트래픽을 CloudFront, Elastic Beanstalk, ELB 또는 S3로 라우팅할 수 있다.
    = 상태 점검
    . 웹 및 전자 메일 서버와 같은 리소스의 상태를 모니터링 할 수 있다.
    . 인터넷을 통해 자동화된 요청을 응용프로그램으로 보낸다.
    . 연결 가능하고, 사용 가능하며, 작동 가능한지 확인한다.
    . 리소스를 사용할 수 없을 때 알림을 보내도록 상태 점검에 대해 CloudWatch 경보를 구성할 수 있다.
    . 사용할 수 없는 리소스로부터 인터넷 트래픽을 라우팅하도록 구성할 수 있다.
    = 보안
    . 도메인 등록 및 DNSSEC 서명을 모두 지원한다.

지원되는 DNS 리소스 레코드 유형

A(Address)

  • 192.0.2.1과 같은 점(.)이 있는 10진수 표기의 IPv4 주소AAAA형식
  • 콜론(:)으로 구분된 16진수 IPv6 주소CNAME
  • 도메인 이름과 동일한 형식
  • DNS 프로토콜은 DNS 네임스페이스의 최상위 노드(예: DNS 이름 example.com 등록, 영역 정점은 example.com, example.com의 CNAME 레코드를 만들 수 없지만 newproduct.example.com, www.example.com 등에 CNAME 레코드를 만들 수 있다.)
  • 하위 도메인에 대한 CNAME 레코드가 생성된 경우 해당 하위 도메인에 대한 다른 리소스 레코드 집합을 생성할 수 없다. 예를 들어 www.example.com에 대한 CNAME이 생성된 경우 Name 필드의값이 www.example.com인 다른 리소스 레코드 집합을 생성할 수 없다MX(Mail Exchange)
  • MX 레코드의 우선 순위를 나타내는 10진수와 전자 메일 서버의 도메인 이름을 포함한다NS(Name Server)
  • NS 레코드는 호스트 영역의 이름 서버를 식별한다. NS 레코드의 값은 네임 서버의 도메인 이름이다.PTR
  • PTR record value 요소는 도메인 이름과 동일한 형식이다.SOA(Start of Authority)
  • SOA 레코드는 도메인과 해당 Amazon Route53 호스트 영역에 대한 정보를 제공한다.SPF(Sendor Policy Framework)
  • SPF 레코드는 이전에 전자 메일 메시지의 보낸 사람의 ID를 확인하는 데 사용되었지만 권장되지 않는다.
  • SPF 레코드 대신 해당 값이 포함된 TXT 레코드가 권장된다.SRV
  • SRV record Value 요소는 공백으로 구분된 4개의 값으로 구성된다. 처음 세 값은 우선 순위, 가중치 및 포트를 나타내는 10진수이다. 네 번째 값은 10 580 hostname.example.com의 도메인 이름이다.TXT(Text)
  • TXT 레코드에는 공백으로 구분된 이중 따옴표 문자열 목록이 포함된다. 단일 문자열에는 최대값이 포함된다.
  • 255자이다. 도메인 이름에 이스케이프 없이 허용되는 문자 외에 공백을 허용한다.
  • txt 문자열이 허용된다.

Alias Resource Record Sets

  • Route53은 CloudFront 배포, Elastic Beanstalk, ELB, 정적 웹 사이트로 구성된 S3 버킷 또는 다른 Route 53 리소스 레코드 세트에 대한 쿼리 라우팅을 지원한다.
  • 별칭 레코드는 DNS RFC의 표준이 아니며 DNS 기능에 대한 Route53 확장이다.
  • 별칭 레코드는 CNAME 레코드와 유사하며 항상 A 또는 AAAA 유형이다.
  • 별칭 레코드는 루트 도메인 또는 example.com과 같은 정점 영역과 www.example.com과 같은 하위 도메인에 대해 모두 만들 수 있다. CNAME 레코드는 하위 도메인에만 사용할 수 있다.
  • Route53은 Alias Resource Record Sets가 참조하는 리소스 레코드 집합의 변경 사항을 자동으로 인식한다.(ex: 로드밸런서를 가리키는 사이트) 로드 밸런서의 IP가 변경되는 경우 리소스 레코드 집합이 포함된 호스트 영역을 변경하지 않고 DNS 응답에 해당 변경 사항을 자동으로 반영한다.
  • Alias Resource Record Sets가 CloudFront 배포, ELB 또는 S3 버킷을 가리키는 경우 TTL 또는 Time to Time을 지원하지 않는다. 기본 CloudFront, 로드 밸런서 또는 S3 TTL이 사용된다.
  • 별칭 레코드는 무료로 조회할 수 있으며 요금이 발생하지 않는다.

Alias Record 지원 대상

  • Elastic Load Balancers
  • CloudFront distributions
  • API Gateway
  • Elastic Beanstalk
  • S3 WebSite
  • Global Accelerator
  • VPC Interface Endpoints
  • Route53 record in the same hosted zone

Alias Record 미지원

  • EC2 DNS
  • RDS endpoints

Route53 Host Zone

  • Hosted Zone은 레코드 컨테이너로, 도메인(예: example.com) 및 모든 하위 도메인(예: www.example.com, retail)에 대한 트래픽 라우팅 방법에 대한 정보를 포함한다. example.com 및 seattle.accounting.example.com.
  • 호스트 영역의 이름은 해당 도메인과 동일하다.
  • 트래픽을 리소스로 라우팅
    = 공용 호스트 영역 또는 개인 호스트 영역을 사용하여 호스트 영역을 만든다.
    . Public Hosted Zone - 특정 도메인 및 하위 도메인의 리소스로 인터넷 트래픽을 라우팅한다.
    . Private Hosted Zone - VPC 내에서 트래픽 라우팅
    = 호스트 영역에 레코드 만들기
    . 레코드는 각 도메인 이름 또는 하위 도메인 이름에 대한 트래픽을 라우팅할 위치를 정의한다.
    . 호스트 영역의 각 레코드 이름은 호스트 영역 이름으로 끝나야 한다.
  • 공용/개인 및 개인 호스트 영역이 겹치는 경우 네임스페이스, Route53 Resolver는 트래픽을 가장 구체적인 일치 항목으로 라우팅한다.
  • IAM 권한은 호스트 영역 수준에서만 적용된다.

Route53 HealthCheck

  • Route53 상태 점검은 기본 리소스의 상태와 성능을 모니터링한다.상태 점검 유형
    • 웹 서버와 같은 엔드포인트를 모니터링하는 상태 검사
      = 상태 검사기는 전 세계에 위치해 있다.
      = 상태 검사기는 위치 및 간격을 지정할 수 있다.
      = 상태 검사기는 엔드포인트의 상태를 기반으로 평가한다.
      . 응답시간(Response Time)
      . 지정된 장애 임계값 - 엔드포인트가 여러 번의 연속적인 상태 점검에 응답하는지 여부
      = 상태 검사자의 18% 이상의 엔드포인트가 정상이라고 보고하는 경우 엔드포인트는 정상으로 간주된다.
      = 상태 점검은 다음과 같은 경우 정상으로 간주된다.
      . HTTP 및 HTTPS 상태 점검. TCP 상태 점검. 문자열 일치를 사용하여 HTTP 및 HTTPS의 상태 점검. 계산된 상태 검사. CloudWatch의 경보의 상태를 모니터링하는 상태 점검
      • Route53은 지정된 IP 주소와 포트에 HTTP, HTTPS 또는 TCP 요청을 전송하여 엔드포인트의 상태를 확인한다.
      • 상태 검사가 성공하려면 라우터 및 방화벽 규칙이 상태 검사자가 사용하는 IP 주소의 인바운드 트래픽을 허용해야 한다.
    • - Route53은 알람 상태를 모니터랑한하는 대신 해당 알람에 대한 데이터 스트림을 모니터링한다.
    • - 다른 상태 검사의 상태를 모니터링하는 상태 검사 - 모니터링을 수행하는 상태 검사는 상위 상태 검사이며 모니터링되는 상태 검사는 하위 상태 검사이다. - 한 개의 상위 상태 검사에서 최대 255개의 하위 상태 검사의 상태를 모니터링할 수 있다.
    • - TCP 연결은 4초 이내에 설정 가능하다. - 연결 후 2초 이내에 2xx 또는 3xx를 반환한다. - Route53은 응답 본문의 처음 5,120바이트에 전체적으로 나타나야 하는 지정된 문자열을 검색한다. 그렇지 않으면 엔드포인트가 상태 검사에 실패한다.
    • - TCP 연결은 10초 이내에 설정할 수 있다.
    • - TCP 연결은 4초 이내에 설정 가능하다. - 연결 후 2초 이내에 2xx 또는 3xx를 반환한다.

Route53 Split-view(Split-horizon) DNS

  • Route53 스플릿 뷰(Split-horizon) DNS는 공개적으로 사용되는 동일한 도메인 이름을 사용하여 웹 사이트의 내부 버전에 액세스할 수 있도록 도와준다.
  • 개인 및 공용 호스트 영역은 모두 분할 보기 DNS에 대해 동일한 도메인 이름으로 유지 관리할 수 있다.
  • 소스 VPC에서 DNS 확인 및 DNS 호스트 이름이 사용되도록 설정되어 있는지 확인한다.
  • DNS 쿼리는 요청 소스 기반으로 응답한다.
  • VPC 내에서 응답은 개인 호스트 영역에서 오는 반면 공개 쿼리는 공용 호스트 영역에서 응답을 반환한다.

Route53 DNSSEC

  • DNSSEC: DNS 트래픽을 보호하기 위한 프로토콜인 Domain Name System Security Extensions는 DNS 스푸핑 중간자 공격으로부터 도메인을 보호하는 데 도움이 된다.
  • DNSSEC은 공용 호스트 영역에서만 동작한다.
  • Route53은 도메인 등록을 위한 DNSSEC 뿐만 아니라 DNSSEC 서명도 지원한다.
  • 도메인에 대해 DNSSEC이 사용 가능한 경우 DNS 확인자는 중간 확인자의 응답에 대한 신뢰 체인을 설정한다.
  • 신뢰 체인은 도메인의 TLD 레지스트리(도메인의 상위 영역)로 시작하여 DNS 서비스 공급자의 권한 있는 네임 서버로 끝난다.
  • DNSSEC이 활성화된 경우 Route53은 DNSSEC을 지원하는 AWS KMS에서 고객 관리 키를 사용하여 KSK(Key Signing Key)를 생성한다. 고객 관리 키는 다음 요구 사항을 충족해야 한다.
    = 미국 동부(N. Virginia) 지역에 있어야 한다.
    = ECC_NIST_P256 키 사양의 비대칭 고객 관리 키여야 한다.

Route53 Resolver DNS 방화벽

  • Route53 Resolver DNS 방화벽은 VPC의 아웃바운드 DNS 요청을 보호하고 애플리케이션이 쿼리할 수 있는 도메인을 모니터링하고 제어할 수 있다.
  • DNS 방화벽은 VPC에 대한 아웃바운드 트래픽을 필터링하고 조정할 수 있다.
  • 재사용 가능한 필터링 규칙 컬렉션을 DNS 방화벽 규칙 그룹에 생성하고 DNS 방화벽 로그 및 메트릭에서 모니터링되는 활동과 함께 VPC에 연결할 수 있다.
  • DNS 방화벽 보호의 기본적인 용도는 DNS 유출을 방지하는 데 도움이 된다. DNS 유출은 잘못된 작업자가 VPC의 응용 프로그램 인스턴스를 손상시킨 다음 DNS 조회를 사용하여 VPC에서 데이터를 자신이 제어하는 도메인으로 보낼 때 발생할 수 있다.
  • DNS 방화벽을 다음과 같이 구성할 수 있다.
    = 잘못된 도메인에 대한 액세스를 거부하고 다른 모든 쿼리가 OR을 통과하도록 허용한다.
    = 명시적으로 신뢰하는 도메인을 제외한 모든 도메인에 대한 액세스를 거부한다.
  • DNS 방화벽은 Route53 Resolver의 기능이며 사용하기 위해 추가 Resolver 설정이 필요하지 않다.
  • 방화벽 관리자를 사용하여 조직의 계정에서 VPC에 대한 DNS 방화벽 규칙 그룹 연결을 중앙에서 구성하고 관리할 수 있다. Firewall Manager는 Firewall Manager DNS 방화벽 정책의 범위에 포함되는 VPC에 대한 연결을 자동으로 추가한다.

Route53 Logging

DNS Query Logging

  • DNS 쿼리 로그에는 다음과 같은 정보가 포함되어 있다.
    = 요청된 도메인 또는 하위 도메인
    = 요청 날짜 및 시간
    = DNS 레코드 유형(예: A 또는 AAAA)
    = DNS 쿼리에 응답한 경로 53 에지 위치
    = NoError 또는 ServiceFail과 같은 DNS 응답 코드
  • Route53은 DNS 쿼리 로그를 CloudWatch 로그로 전송한다.
  • DNS 쿼리 로깅은 공용 호스트 영역에서만 사용할 수 있다. 개인 호스트 영역에 대한 확인자 쿼리 로깅을 사용한다.
  • 쿼리 로그에는 DNS 확인자가 Route53으로 전달하는 쿼리만 포함되며 DNS 확인자가 캐시한 항목은 포함되지 않는다.Resolver Query Logging
  • Resolver Query Logging은 다음을 포함한다.
    = 지정된 VPC에서 발생하는 쿼리와 해당 DNS 쿼리에 대한 응답이다.
    = 인바운드 Resolver 끝점을 사용하는 사내 리소스의 쿼리이다.
    = 재귀 DNS 확인에 아웃바운드 Resolver 끝점을 사용하는 쿼리이다.
    = Route 53 Resolver DNS 방화벽 규칙을 사용하여 도메인 목록을 차단, 허용 또는 모니터링하는 쿼리이다.
    = Resolver Query 로깅은 고유한 쿼리만 기록하고 Resolver가 캐시에서 응답할 수 있는 쿼리는 기록하지 않는다.
    = Resolver Query 로그에는 다음과 같은 값이 포함된다.
    . VPC가 생성된 AWS 영역
    . 쿼리가 발생한 VPC의 ID
    . 쿼리가 발생한 인스턴스의 IP 주소
    . 쿼리가 발생한 리소스의 인스턴스 ID
    . 쿼리가 처음 만들어진 날짜 및 시간
    . 요청된 DNS 이름(예: prod.example.com)
    . DNS 레코드 유형(예: A 또는 AAAA)
    . 오류 없음 또는 ServiceFail과 같은 DNS 응답 코드
    . DNS 쿼리에 대한 응답으로 반환되는 IP 주소와 같은 DNS 응답 데이터
    . DNS 방화벽 규칙 작업에 대한 응답
    = Route53은 Resolver Query 로그를 다음 주소로 전송한다.
    • CloudWatch 로그 그룹
    • S3
    • Kinesis Data Firehose 전달 스트림

출처: https://jayendrapatil.com/aws-route-53/

반응형