본문 바로가기
개발 공부/AWS

[AWS] SAA 공부 (8)-1 Route 53 - 라우팅 정책

by sngynhy 2025. 3. 28.

DNS 라우팅 정책

Route 53이 DNS 쿼리에 응답하는 것을 도와 클라이언트의 요청을 적절한 서버로 보낼 수 있도록 해줌

DNS는 호스트 이름들을 클라이언트가 실제 사용 가능한 엔드포인트로 변환하는 것을 도움

1. 단순 라우팅

  • 가장 기본적인 방식
  • 트래픽을 단일 리소스로 보내는 방식 (하나의 IP 주소 또는 도메인으로 트래픽 전달)
  • 동일한 레코드에 여러 개의 값을 지정 가능
    • DNS에 의해 클라이언트 쪽에서 하나를 무작위로 선택
  • 별칭 레코드 함께 사용 시 하나의 AWS 리소스만을 대상으로 지정 가능
  • 상태 확인 불가

2. 가중치 기반 라우팅

  • 여러 대상에 트래픽을 비율로 분배
  • 각 레코드에 상대적으로 가중치를 할당
    • 각 레코드로 보내지는 트래픽의 양 = 해당 레코드의 가중치 / 전체 가중치
    • 특정 리소스 레코드에 가중치 0의 값을 보낼 경우 > 해당 리소스에 트래픽 보내기를 중단하여 가중치 변경 가능
    • 모든 리소스 레코드 가중치의 값이 0인 경우 > 모든 레코드가 다시 동일한 가중치를 갖게 됨
  • DNS 레코드들은 동일한 이름과 유형이어야 함
  • 상태 확인 가능
  • 사용 사례
    • 서로 다른 지역들에 걸쳐 로드 밸런싱할 경우
    • 적은 양의 트래픽을 보내 새 애플리케이션을 테스트하는 경우

3. 지연 시간 기반 라우팅

  • 가장 빠른 응답 시간이 나오는 리전으로 트래픽 전달 > 가장 가까운 리소스로 리다이렉트
  • 상태 확인 가능

4. 장애 조치 라우팅

  • 주(Primary) 서버 장애 시 백업(Secondary) 서버로 트래픽 자동 전환
  • 상태 확인 가능

5. 지리적 라우팅

  • 사용자의 실제 위치를 기반으로 트래픽 전달
  • 일치하는 위치가 없는 경우 기본 레코드를 생성해야 함
  • 상태 확인 가능

6. 지리 근접 라우팅

  • 사용자와 리소스의 지리적 위치를 기반으로 트래픽 전달
  • 편향값을 사용해 특정 위치를 기반으로 더 많은 트래픽을 리소스로 전환
  • 지리적 위치를 변경하려면 편향값 지정
    • 특정 리소스에 더 많은 트래픽을 보내려면 편향값 확장 (1 to 99)
    • 리소스를 줄이려면 편향값을 음수로 축소 (-1 to -99)
  • 위치 설정
    • AWS 리소스 > 특정 리전 지정 (자동으로 라우팅 계산)
    • 온프레미스 데이터 센터 > 위도와 경도 지정
  • 편향 활용을 위해 고급 Route 53 트래픽 플로우 사용

7. 다중 값 응답 라우팅

  • 트래픽을 다중 리소스로 라우팅
  • Route 53은 다중 값과 리소스 반환
  • 상태 확인 가능
    • 각각의 다중 값 쿼리에 최대 8개의 정상 레코드 반환
    • 클라이언트에서 다중 값 쿼리를 실행하면 최대 8개의 레코드를 수신하며 클라이언트는 한 개를 선택
    • 상태 확인과 결합하면 반환되는 8개 레코드 중 최소 1개 혹은 최대 8개의 레코드가 정상 상태
  • 클라이언트 관점에서 ELB와 유사하지만 ELB를 대체할 수는 없음

Route 53의 상태 확인 (Health Checks)

  • 주로 공용 리소스에 대한 상태를 확인하는 방법
  • DNS의 장애 조치 자동화
    • 공용 엔드 포인트 모니터링 > 애플리케이션, 서버, 다른 AWS 리소스 등
    • 다른 상태 확인을 모니터링 (= 계산된 상태 확인)
    • CloudWatch 경보 상태 모니터링 > 개인 리소스에 유용
  • 각자의 메트릭 사용

상태 확인 동작 방식

1. 공용 엔드 포인트 모니터링

  • 전 세계에서 온 15개의 상태 확인이 엔드 포인트의 상태를 확인하고 임계값을 정상 혹은 비정상으로 설정
    • 간격 설정 가능 > default 30초 or 10초(비용 발생)
    • HTTP, HTTPS, TCP 등 프로토콜 지원
    • 18% 이상의 상태 확인이 엔드 포인트를 정상이라고 판단하면 Route 53도 이를 정상으로 간주
    • 상태 확인에 사용될 위치 선택 가능
  • HTTP 코드로 응답
  • 텍스트 기반의 응답일 경우 상태 확인의 처음 5,120바이트만 확인 > 응답 자체에 해당 텍스트가 있는가 확인하기 위함
  • 네트워크 관점에서 상태 확인의 작동이 가능하려면 상태 확인이 애플리케이션 밸런서나 엔드 포인트에 접근이 가능해야 함 > Route 53의 상태 확인 IP 주소 범위에서 들어오는 모든 요청을 허용해야 함

2. 다른 상태 확인을 모니터링 (계산된 상태 확인)

  • 여러 개의 상태 확인 결과를 하나로 합쳐주는 기능
  • 상태 확인들을 모두 합치기 위한 조건 > OR, AND, NOT
  • 하위 상태 확인을 256개까지 모니터링 가능
  • 상위 상태 확인이 통과하기 위해 몇 개의 상태 확인을 통과해야 하는 지정 가능
    • 상위 상태 확인이 웹사이트를 관리 유지되도록 하는 경우

3. CloudWatch 경보의 상태 모니터링 (개인 리소스 상태 확인)

  • 상태 확인이 VPC의 외부에 존재
  • 개인 엔드 포인트에 접근 불가능
    • 개인 VPC 혹은 온프레미스 리소스인 경우
  • CloudWatch 지표를 만들어 알람을 할당하는 식으로 문제 해결 > CloudWatch 경보를 상태 확인에 할당
    • CloudWatch 메트릭을 이용해 개인 서브넷 안에 있는 EC2 인스턴스를 모니터링
    • 만약 메트릭이 침해되는 경우 CloudWatch 알람 생성
    • 알람이 'ALARM' 상태가 되면 상태 확인은 자동으로 비정상으로 전환