AWS Route53 Health Check 사용하기

JIPA
4 min readOct 27, 2020

--

AWS 에서 제공하는 다양한 기능 중 DNS 와 관련한 중요한 서비스 중 하나인 Route53 은 DNS Host 를 위한 Authoritative DNS 기능부터 특정 서비스 제공 환경에서 문제가 발생하였을 경우 DNS 레벨에서 부하를 분산할 수 있는 속칭 GSLB(Global Server Load Balancing) 기능도 제공하고 있습니다. 그리고 Route53 에서 제공하는 또 하나의 중요한 기능 중 하나가 바로 Health Check 기능인데요. 여러분들은 이 Health Check 기능을 통해 여러분들이 운영하고 있는 서비스에 대한 가용성에 대한 상태를 점검하고 이상이 발생할 경우 경보를 통해 적절한 조치를 취할 수 있는 자동화된 운영환경을 구성하실 수 있습니다.

만일, 여러분이 AWS Shield Advanced 를 구독하고 있는 상태라면 DDoS 공격 방어를 위해 등록하는 Protected Resource 설정 시에 이 Route53 Health Check 기능을 사용하여 보호 대상 자원의 가용성 상태를 점검하고 그 결과에 따라 DDoS 대응을 할 수 있는 구성도 사용하실 수 있습니다.

이 포스팅에서는 이러한 다양한 장점이 있는 Route53 의 기본적인 설정 방법에 대해 살펴보도록 하겠습니다.

사전 준비

Route53 Health Check IP 의 네트워크 접근 허용
: Route53 을 통해 Health Check 가 정상적으로 이뤄지기 위해서는 Route53 Health Check 에 사용되는 Amazon IP 에 대한 네트워크 접근이 허용되어야 합니다. Security Group 을 사용하는 환경이라면 아래의 포스팅에 있는 자동화된 SG 설정 업데이트 방법을 참고하시고 그 이외의 방화벽 설정이 필요한 경우에는 전체 Amazon IP List 중 ROUTE53_HEALTHCHECKS 서비스로 사용되는 IP 가 허용되도록 구성하셔야 합니다.

  1. 테스트 웹 서버 구성
    : 편의상 Wordpress AMI 를 선택한 후 EC2 인스턴스를 구성하도록 하겠습니다.

참고. 테스트 구성에서는 별도의 ELB 없이 구성하였습니다.

  • 공인 IP = Route53 에서 접근이 가능하도록 공인 IP 를 할당받도록 설정합니다.
  • Security Group = 외부 접속을 위한 SSH, HTTP 와 함께 Route53 Health Check 도 허용되도록 구성합니다.

2. 웹서버 동작 확인
: EC2 가 부팅이 완료되면 아래와 같이 Public DNS 명을 확인 후 웹사이트 접속이 정상적으로 이뤄지는 것을 확인합니다.

3. Route53 Health Check 설정
: Route53 의 메뉴 중 Health Check 에서 “Create Health Check” 를 클릭하여 새로운 Health Check 를 생성합니다.

  • Specify endpoint by = Domain Name 을 선택합니다.
    참고. Elastic IP 를 사용하지 않은 경우 EC2 재기동 시 Public IP 가 변경될 수 있기 때문에 Domain Name 을 선택합니다.
  • Domain Name = 위 단계에서 확인한 EC2 의 Public DNS 명을 입력합니다.

동작 확인

모든 설정이 정상적으로 이뤄진 경우 아래와 같이 Health Check 에 대상이 되는 EC2 의 웹서비스가 정상적으로 동작 중인 것을 Route53 Health Check Menu 를 통해 확인하실 수 있습니다.

만일, 웹서비스가 비정상으로 판단되는 경우 아래와 같이 Unhealthy 상태를 확인하실 수 있습니다.

감사합니다.

--

--

JIPA
JIPA

Written by JIPA

Always Day 1. Security is job zero.

No responses yet