DNS 장애 조치에 Route 53 상태 확인을 사용하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2019년 11월 15일

Amazon Route 53 상태 확인을 사용하여 DNS 장애 조치를 구성하려면 어떻게 해야 합니까?

간략한 설명

Route 53를 사용하여 리소스의 상태를 확인하고 DNS 쿼리에 대한 응답으로 정상적인 리소스만 반환할 수 있습니다. DNS 장애 조치 구성에는 세 가지 유형이 있습니다.

  1. 액티브 – 패시브: Route 53가 기본 리소스를 능동적으로 반환합니다. 장애가 발생하면 Route 53가 백업 리소스를 반환합니다. 장애 조치 정책을 사용하여 구성되었습니다.
  2. 액티브 – 액티브: Route 53가 둘 이상의 리소스를 능동적으로 반환합니다. 장애가 발생하면 Route 53가 정상적인 리소스로 페일백합니다. 장애 조치 이외의 라우팅 정책을 사용하여 구성되었습니다.
  3. 조합: 여러 라우팅 정책(예: 지연 시간 기반, 가중치 기반 등)이 트리로 결합되어 더 복잡한 DNS 장애 조치를 구성합니다.

​해결 방법

액티브 – 패시브 장애 조치

액티브 – 패시브 DNS 장애 조치는 기본 리소스 하나와 보조 리소스 하나를 사용하는 가장 간단한 방법입니다.

참고: 진행하기 전에 기본 리소스에 대한 Route 53 상태 확인을 생성해야 합니다.

장애 조치 별칭 레코드의 값을 사용하여 기본 및 보조 리소스에 대한 리소스 레코드 두 개를 생성합니다. 각 레코드에 대해 다음을 수행합니다.

  1. 리소스의 [Name]을 입력합니다. (예: resource.example.com)
    참고: 두 리소스에 동일한 이름을 사용하십시오.
  2. [Type]에서 [A – IPv4 address]를 선택합니다.
  3. [Alias]에서 [Yes]를 선택합니다. [Alias Target]에 기본 리소스의 DNS 이름을 입력합니다. 그러면 [Alias Hosted Zone ID]가 표시됩니다.
  4. [Routing Policy]에서 [Failover]를 선택합니다.
    기본 레코드의 경우 [Failover Record Type]에서 [Primary]를 선택합니다. [Set ID]에 고유한 이름(예: elb-Primary}을 입력합니다.
    보조 레코드의 경우 [Failover Record Type]에서 [Secondary]를 선택합니다. [Set ID]에 고유한 이름(예: elb-Secondary)을 입력합니다.
  5. [Evaluate Target Health]에서 기본 레코드에 대해 [Yes]를 선택합니다. 보조 레코드에 대해 [No]를 선택합니다.
  6. 기본 레코드에 대해 [Associate with Health Check]에서 [Yes]를 선택합니다. [Health Check to Associate]에서 기본 리소스에 대해 생성한 상태 확인을 선택합니다.
  7. [Create]을 선택하여 레코드를 생성합니다.

이제 레코드에서 도메인이 기본 리소스를 가리키거나 보조 리소스로 장애 조치합니다.

액티브 – 액티브 장애 조치

액티브 – 액티브 DNS 장애 조치는 DNS 쿼리에 여러 리소스를 반환합니다. 한 리소스가 비정상이면 Route 53가 다른 리소스로 장애 조치합니다.

참고: 계속하기 전에 두 리소스에 대한 Route 53 상태 확인을 생성해야 합니다.

장애 조치 별칭 레코드의 값을 사용하여 각 리소스에 대해 레코드를 생성합니다. 각 레코드에 대해 다음을 수행합니다.

  1. 리소스의 이름(예: resource.example.com)을 입력합니다.
    참고: 각 레코드에 대해 동일한 이름을 사용해야 합니다.
  2. 레코드 [Type](예: A – IPv4 주소)을 선택합니다.
    참고: 리소스에 대한 모든 레코드는 동일한 유형이어야 합니다.
  3. [Alias]에서 [Yes]를 선택합니다. [Alias Target]에 리소스의 DNS 이름을 입력합니다. 그러면 [Alias Hosted Zone ID]가 표시됩니다.
  4. [Routing Policy]를 선택하고 해당 정책에 적절한 값(예: Weighted policyWeight)을 입력합니다. [Set ID]에 이 리소스의 고유한 이름(예: Resource 1)을 입력합니다.
    참고: 가중치 기반 라우팅 정책의 경우 모든 레코드를 동일한 가중치(예: 10) 또는 다른 가중치(예: 20 및 10)로 설정할 수 있습니다. 이 경우 20개의 레코드는 두 배의 트래픽을 수신합니다.
  5. [Evaluate Target Health]에서 [Yes]를 선택합니다.
  6. [Associate with Health Check]에서 [Yes]를 선택합니다. [Health Check to Associate]에서 이 리소스에 대해 생성한 상태 확인을 선택합니다.
  7. [Create]을 선택하여 레코드를 생성합니다.

조합 장애 조치

또한 복수의 라우팅 정책과 상태 확인을 결합하여 복잡한 장애 조치 메커니즘을 생성할 수 있습니다. 이 메커니즘은 Route 53가 복수의 레코드 티어를 통과한 후 적절한 레코드를 반환합니다.

예를 들어 엔드포인트가 세 개인 경우 처음 두 개(엔드포인트 A와 B) 간에 트래픽을 로드 밸런싱하고 처음 두 개가 상태 확인에 실패하면 세 번째(엔드포인트 C)로 페일백할 수 있습니다. 이 구성에는 두 개의 라우팅 티어가 있습니다. 하위 라우팅 티어에서 Route 53는 레코드 상태 확인을 사용하여 엔드포인트 A와 B가 정상인지 확인한 다음, 양쪽 기본 리소스 간에 균등하게 트래픽을 라우팅합니다. 엔드포인트 A와 B가 상태 확인에 실패하면 트래픽이 더 높은 라우팅 티어로 장애 조치됩니다. 상위 라우팅 티어에서 Route 53는 보조 대체 리소스(예: 오류 페이지가 있는 S3 버킷)인 엔드포인트 C로 트래픽을 라우팅합니다. 이 구성은 다음과 같이 생성할 수 있습니다.

  1. 세 엔드포인트 모두에 대해 Route 53 상태 확인을 생성하여 상태 확인 레코드에 연결합니다.
  2. 하위 라우팅 티어의 경우 엔드포인트 A와 엔드포인트 B의 도메인 이름(예: resource.example.com)에 대해 동일한 가중치를 갖는 가중치 기반 레코드 2개를 생성합니다.
    중요: 엔드포인트 A와 엔드포인트 B의 상태 확인을 가중치 기반 레코드와 연결해야 합니다. 이 단계를 통해 Route 53는 각 레코드의 상태 확인 상태를 확인하고 그에 따라 레코드 간에 트래픽을 로드 밸런싱합니다.
  3. 상위 라우팅 티어의 경우 엔드포인트 C의 도메인 이름(예: domain.example.com)에 대한 장애 조치 레코드를 생성합니다.
    중요: 기본 레코드는 2단계에서 생성한 resource.example.com 에 대한 레코드를 가리키는 별칭 레코드여야 합니다.
    중요: 보조 레코드가 장애 조치 리소스로 엔드포인트 C를 가리키는지 확인합니다.
  4. Route 53를 구성하여 기본 장애 조치 레코드의 상태를 확인합니다. 사용자 지정 상태 확인을 생성하여 2개의 가중치 기반 레코드(예: 계산된 상태 확인)의 상태를 확인하거나 레코드 옵션을 사용하여 Evaluate Target Health에 사용할 수 있습니다.

이 장애 조치 구성은 다음과 같이 작동합니다.

  1. 클라이언트가 domain.example.com을 요청합니다.
  2. 기본 레코드가 상태 확인을 통과하면 Route 53는 로드 밸런싱된 resource.example.com의 기본 리소스 레코드로 트래픽을 전송합니다. 이 레코드는 클라이언트가 엔드포인트 A 또는 엔드포인트 B를 가리킵니다.
  3. 기본 레코드가 상태 확인에 실패하면(엔드포인트 A와 B가 상태 확인에 실패함) Route 53는 기본 레코드를 비정상으로 표시하고 보조 레코드로 장애 조치합니다. 그러면 Route 53가 클라이언트 요청을 엔드포인트 C(대체 리소스)로 전송합니다.
  4. 기본 레코드가 상태 확인을 다시 통과하면 Route 53가 기본 리소스 레코드(엔드포인트 A 및 B)로 자동으로 페일백합니다.

이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?