Route53의 장애조치 라우팅 정책을 사용해보자!
안녕하세요! 클래스메소드 금상원 입니다.
이번 블로그에서는 AWS 비용 이상 탐지를 사용하여 월 비용이 생각 이상으로 나왔을 경우 알람을 받는 방법에 대해 알아보도록 하겠습니다.
Route53 장애조치 라우팅 정책이란?
Route 53의 장애조치 라우팅 정책(Failover Routing Policy)은 특정 리소스가 장애 상태일 때, 대체 리소스로 트래픽을 자동으로 전환하는 기능입니다. 이 정책을 사용하면 주 리소스(예: 웹 서버)가 다운되었을 때, Route 53이 미리 설정한 보조 리소스(예: 다른 지역의 서버)로 트래픽을 우회시켜 서비스의 가용성을 높일 수 있습니다.
이러한 방식으로 장애 발생 시 사용자에게 최소한의 영향으로 서비스를 계속 제공할 수 있으며, 비즈니스 연속성을 유지하는 데 중요한 역할을 합니다. 장애조치 라우팅 정책은 주 리소스의 상태를 모니터링하고, 필요 시 자동으로 대체 리소스로 전환하는 기능을 제공합니다.
장애조치 라우팅 정책 사용해보기
사전 준비
- Apache가 설치된 EC2인스턴스 2대
- index.html 등의 html 파일 준비
이번 테스트를 위해 도쿄, 오사카 리전에 서버를 각각 1대씩 구축을 했습니다.
상태 검사 작성(서버1)
AWS검색창에 「Route53」 을 검색하여 대쉬보드 화면으로 이동 합니다.
Route53의 대쉬보드 화면의 좌측메뉴에서 「상태 검사」 를 클릭 합니다.
상태 검사 화면에 「상태 검사 생성」 버튼을 클릭 합니다.
「이름」 을 입력한 후 「모니터링 대상」 을 선택 합니다.
모니터링 대상의 설정 항목의 설명은 아래를 확인해 주세요
- 엔드포인트 : 상태 검사가 수행될 대상의 URL이나 IP 주소입니다. 예: 웹 서버의 주소.
- 다른 상태 검사 상태(계산된 상태 검사) : 여러 상태 검사 결과를 종합하여 최종적으로 "건강한" 또는 "비건강한" 상태를 판단합니다.
- CloudWatch 경보 상태 : 상태 검사 결과를 모니터링하여 특정 조건이 충족될 때 알림을 보내는 기능입니다.
참고
아래의 엔드포인트 모니터링 설정은 아래와 같이 설정 합니다.
- 엔드포인트 지정 기준 : 「IP 주소」
- 프로토콜 : 「HTTP」
- IP주소 : 「서버1의 퍼블릭 아이피주소」
- 호스트 이름 : 「장애조치 라우팅에서 사용할 레코드」
- 포트 : 80
- 경로 : 상태검사할 파일이 위치한 경로와 파일명
- /var/www/html/index.html 경우 「index.html」 만 입력
위의 설정이 완료 되었다면 「다음」 버튼을 클릭 합니다.
상태 검사 실패 시 알림 메시지 받은 설정은 필요에 따라 설정해 주시면 됩니다.
모든 설정이 완료 되었으면 「상태 검사 생성」 버튼을 클릭하여 상태 검사를 생성 합니다.
상대 검사가 생성된 것을 확인합니다.
상태 검사 작성(서버2)
서버1의 상태 검사가 작성이 완료되면 위의 화면의 「IP 주소」 만 서버2의 퍼블릭 IP 주소로 변경하고 똑같은 설정으로 생성 합니다.
장애 조치 작성(서버1)
좌측 메뉴에서 「호스팅 영역」 을 클릭하고, 장애조치 라우팅을 사용할 호스팅 영역을 클릭 합니다.
우측 상단의 「레코드 생성」 버튼을 클릭 합니다.
라우팅 정책에서 「장애 조치」 를 선택하고 아래의 「다음」 버튼을 클릭 합니다.
기본 구성에서 아래와 같이 설정을 합니다.
- 레코드 이름 : 상태 검사에서 설정한 호스트 이름과 동일하게 설정
- 레코드 유형 : A레코드
- TTL : 필요에 따라
위의 설정이 완료되면 아래에서 「장애 조치 레코드 정의」 버튼을 클릭 합니다.
값/트리픽 라우팅 대상 에서는 이번 테스트에서 EC2의 IP주소에 라우팅을 하기 때문에 「레코드 유형에 따른 IP주소 또는 다른 값」 을 선택하고 서버1의 퍼블릭 IP 주소를 입력 합니다.
장애 조치 레코드 유형은 「기본」 으로 설정합니다.
기본으로 설정하면 「www.*.com」으로 들어오는 트래픽은 서버1에 문제가 발생하지 않는한 서버1에 라우팅을 하게 됩니다.
상태 학인 ID는 서버1의 상태 검사를 선택 합니다.
레코드 ID는 서버1과 서버2의를 구분할 수 있도록 고유한 값을 입력 합니다.
장애 조치 레코드 정의설정이 생성 되었다면 「레코드 생성」 버튼을 클릭하여 레코드를 생성 합니다.
장애 조치 작성(서버2)
위와 같은 방법으로 레코드를 생성합니다.
기본 구성은 같은 설정으로 합니다.
장애 조치 레코드 정의를 생성할 때 아래의 설정을 변경해 주어야 합니다.
값/트래픽 라우팅 대상의 IP 주소를 서버2의 퍼블릭 IP 주소로 변경합니다.
장애 조치 레코드 유형을 보조로 설정하여 서버1에서 문제가 발생하여 사용하지 못하는 경우 서버2로 트래픽이 라우팅 됩니다.
상태 학인 ID는 서버2의 상태 검사를 선택 합니다.
레코드 ID는 서버1과 서버2의를 구분할 수 있도록 서버1과 다른 고유한 값을 입력 합니다.
설정이 완료되면 레코드를 생성 합니다.
확인해 보기
서버1과 서버2의 레코드가 생성된 것을 확인 합니다.
먼저 생성한 레코드명으로 브라우저의 검색창에 입력하면 서버1에 트래픽이 라우팅된 것을 확인 할 수 있습니다.
장애 조치 테스트를 위해 서버1를 중지 상태로 변경 합니다.
그런 후 같은 레코드명으로 다시 검색창에 입력을 하면 서버2에 트래픽이 라우팅된 것을 확인 할 수 있습니다.
(시간이 조금 걸릴 수도 있습니다.)
마무리
이번 블로그에서는 Route53의 장애 조치 기능을에 대해 알아 보았습니다.
장애 조치 기능으로 여러 DR구성을 하시는 분들께 조금이나마 도움이 되었으면 좋겠습니다.
참고 자료