[AWS] Route 53 관련

INYEONG KIM·2024년 9월 7일

AWS SAP 정리노트

목록 보기
10/14
post-thumbnail

Route 53의 레코드 종류

  1. 별칭 A 레코드 (=AWS 리소스에 대한 레코드)
  • AWS 내의 특정 리소스에 대한 A 레코드 (dns name --> IP)
    • ELB, S3 버킷, API Gateway 등 리소스 name
    • Route 53에 정의된 다른 도메인과 같은 대상에 대한 DNS도 처리
  • 별칭 레코드는 대상 AWS 리소스의 IP 주소가 변경될 때 자동으로 업데이트
  • 별칭 레코드에 대한 DNS 쿼리는 비용이 발생 X
  1. A 레코드 (dns name --> IP)
  • 별칭 A 레코드와 달리 쿼리 비용 발생
  1. AAAA 레코드 (dns name --> IPv6)
  2. CNAME 레코드 (dns name --> dns name)
  • 예시) example.com ---> www.example.com
  1. PTR 레코드 (역방향 DNS, IP ---> dns name)
  • Pointer Record의 약어 표현

이외 다양한 종류의 레코드를 Route 53에서 제공 중

Route 53 라우팅 정책

1. 장애 조치 라우팅 정책

  • 주(primary) 리소스가 응답하지 않으면 대기(secondary) 리소스로 트래픽을 전환하여 가용성을 유지
    • 헬스 체크를 통해 주 리소스가 비정상일 때 자동으로 대기 리소스로 트래픽을 라우팅하는 방식
  • 주 리소스와 대기 리소스를 사전에 정의 필요

2. 가중치 기반 라우팅

  • 각 리소스에 대해 가중치를 설정하여 트래픽의 비율을 제어

3. 지연 시간 기반 라우팅

  • 사용자의 요청을 최소 지연 시간으로 제공가능한 리전으로 트래픽을 라우팅

4. 지리적 위치 기반 라우팅 (=사용자 위치에 따른 컨텐츠 지역화 목적)

  • 사용자의 지리적 위치(나라, 주, 대륙 등)에 따라 트래픽을 특정 리소스로 라우팅
  • 일본에서 온 트래픽은 일본에 있는 서버로, 미국에서 온 트래픽은 미국에 있는 서버로 라우팅
  • 주로 콘텐츠 지역화나 규정 준수 목적

5. 지리적 근접성 기반 라우팅 (=지연속도 단축을 통한 성능 최적화 목적)

  • 리소스의 지리적 근접성을 기반으로 트래픽을 라우팅하는 정책
  • 트래픽 흐름(traffic flow) 기능을 사용해 설정하며, 리소스가 사용자에게 얼마나 가까운지에 따라 트래픽을 라우팅
  • 성능 최적화와 응답 시간 단축을 목표

6. 다중 값 응답 라우팅

  • 여러 리소스에 대해 DNS 쿼리에 다중 IP 주소를 반환
  • 각 리소스에 대해 헬스 체크를 설정할 수 있으며, 헬스 체크에 통과한 리소스의 IP 주소만 반환
  • 간단한 로드 밸런싱 역할을 하면서, 비정상적인 리소스를 제외하는 기능을 제공

Route 53 호스팅 영역 (퍼블릭, 프라이빗)

항목퍼블릭 호스팅 영역프라이빗 호스팅 영역
DNS 접근 가능 범위인터넷 전역특정 VPC 내
용도퍼블릭 도메인 관리 (example.com, 외부 도메인)VPC 내 프라이빗 도메인 관리
주의누구나 접속 가능한 DNSinternal.example.com 같은 도메인이 프라이빗 호스팅 영역에 있을 경우, 이 도메인은 지정된 VPC 내의 리소스에서만 접근이 가능

Route 53 Resolver 인바운드 엔드포인트

외부 네트워크(예: 온프레미스 네트워크 또는 다른 VPC)에서 Amazon VPC 내의 DNS 쿼리를 처리할 수 있도록 만들어진 기능

외부에서 보낸 DNS 쿼리가 Route 53 Resolver 인바운드 엔트포인트로 들어왔다면, 특정 VPC의 프라이빗 호스팅 영역의 DNS 쿼리가 가능하다.

  1. 온프레미스에서 DNS 쿼리가 발생
  2. 그 쿼리는 AWS의 Route 53 Resolver 인바운드 엔드포인트로 전송됨
  3. 인바운드 엔드포인트가 VPC 내의 DNS를 리졸빙하여 결과를 응답

주로 하이브리드 클라우드 환경에서 (인바운드 엔드포인트 + 프라이빗 호스팅 영역 생성) 조합을 자주 사용하니 주의

Route 53 Resolver 아웃바운드 엔드포인트

VPC 내에서 발생한 DNS 쿼리를 외부 네트워크로 전달하는 역할

  • 하이브리드 클라우드 환경의 VPC에서 On-Prem 에 대한 DNS 조회
  • AWS 외부에 위치한 사설 DNS 서버와 통신 목적

Route 53 장애 조치 구성

웹 애플리케이션이나 서비스가 중단되었을 때 트래픽을 자동으로 대체 리소스로 전환하여 가용성을 보장하는 방법, 헬스 체크 기능을 활용해 장애를 감지

Route 53 장애 조치 구성의 주요 요소

  1. 헬스 체크(Health Check):
  • Route 53은 정기적으로 대상 리소스(예: 웹 서버, 애플리케이션, 데이터베이스 등)의 상태를 확인
  • 헬스 체크는 HTTP, HTTPS, TCP 등으로 리소스가 정상인지 감지하며, 리소스가 비정상일 경우 트래픽을 다른 리소스로 전환
  1. 장애 조치 레코드(failover records):
  • Route 53은 Failover Routing Policy를 사용하여, 기본 리소스(primary resource)가 장애 상태가 되면 자동으로 대체 리소스(secondary resource)로 트래픽을 전환합니다.
    • 기본(primary)와 보조(secondary) 리소스 각각에 대한 DNS 레코드를 설정합니다.
    • 기본 리소스가 정상일 때는 트래픽이 기본 리소스로만 전달
  • 헬스 체크에서 기본 리소스가 장애로 감지되면, 자동으로 보조 리소스에 트래픽을 전달
  1. 장애 조치 정책(failover policy): Primary 레코드 / Secondary 레코드 설정

  2. 다중 리전 장애 조치:

  • Route 53을 이용하면 여러 AWS 리전에 걸쳐 장애 조치를 구성
  1. 헬스 체크 및 복구:
  • 장애가 발생한 기본 리소스가 복구되면, Route 53은 다시 헬스 체크 결과를 확인하고 트래픽을 다시 기본 리소스로 복귀 가능

Route 53 장애 조치 구성 시 주의 사항

  • 상태 확인이 없는 기록은 항상 건강한 것으로 간주
    • 상태확인(=health check)가 없는 경우, Route 53은 리소스가 다운되었는지 알 수 없으므로, 그 레코드는 무조건 사용 가능한 것으로 취급
  • 정상 레코드가 없으면 모든 레코드는 정상으로 간주
    • 트래픽이 무조건 어느 한 리소스로 라우팅되어야 하기 때문에 발생
    • 모든 레코드가 Unhealthy 상황이라면, Route 53은 마지막 수단으로 모든 레코드를 정상(healthy)으로 간주
    • 따라서, 기본 리소스와 백업 리소스 모두가 비정상으로 감지되었을 경우에도, Route 53은 트래픽을 어디로든 보낼 수 있도록 모든 레코드를 정상으로 간주하고 트래픽을 라우팅
  • 프라이빗 호스팅 영역에서 장애 조치 레코드를 생성하는 경우 VPC의 인스턴스에 퍼블릭 IP 주소를 할당하여 IP 주소로 VPC 내의 엔드포인트 상태를 확인
    • Route 53의 헬스 체크는 퍼블릭 IP에 접근하여 리소스 상태를 확인하는 방식으로 작동
    • 헬스체크는 기본적으로 퍼블릭 IP로 상태 확인: 프라이빗 IP만 가진 리소스에는 직접적으로 접근 X
    • 프라이빗 호스팅 영역에서도 Route 53의 장애 조치 기능을 사용할 수 있지만, 헬스체크 방식은 사용 X
      • 퍼블릭 IP를 할당하거나 다른 방식(예: CloudWatch, Lambda)을 사용하여 상태 확인을 설정 필요

참고 (DNS 공통)

  • 조건부 전달자: 특정 DNS 도메인에 대한 요청특정 DNS 서버로 전달하는 방식
    • 특정 DNS에 대한 DNS 서버를 고정하는 방식
  • 전달 규칙: DNS 서버가 모든 도메인에 대해 DNS 쿼리를 특정 서버로 전달하도록 설정하는 방식
    • 전달 규칙을 통해 DNS 서버는 자체적으로 쿼리를 처리하지 않고, 기본적으로 다른 DNS 서버에게 의존해 쿼리를 처리 가능
    • 회사 네트워크가 인터넷에 대한 모든 쿼리를 외부 DNS 서버(예: ISP의 DNS 서버)로 전달하도록 설정
profile
미래의 저를 위해 작성하는 중입니다 🙆‍♂️

0개의 댓글