AWS Route53 헬스체크는 서비스 장애를 빠르게 감지하고 트래픽을 안정적으로 우회하기 위한 핵심 기능입니다. 특히 주기(Interval) 30초, 실패 임계값(Failure Threshold) 3번 설정은 기본적으로 많이 사용하는 조합으로, 장애 인식 시간을 약 1분 30초(90초)로 설계하게 됩니다. 이 글에서는 이 설정이 의미하는 정확한 동작 방식을 쉽게 설명합니다.
헬스체크 주기 30초란?
Route53은 지정된 엔드포인트를 30초마다 1번씩 검사합니다.
즉, 1분에 2회 정도 장애 여부를 체크하는 셈이며, 이 주기가 짧을수록 장애 감지 속도가 빨라집니다.
- 체크 예:
- 0초
- 30초
- 60초
- 90초 …
이렇게 일정한 간격으로 대상의 상태를 지속적으로 확인합니다.
실패 임계값 3번의 의미
헬스체크는 연속으로 3번 실패했을 때만 비정상(Unhealthy)으로 판정합니다.
중간에 한 번이라도 성공하면 실패 횟수는 0으로 초기화됩니다.
즉,
- 1회 실패 → 대기
- 2회 실패 → 대기
- 3회 실패 → 비정상 판정
이렇게 3회 연속 실패해야만 Route53은 실제 장애로 간주합니다.
장애 판정까지 걸리는 실제 시간
주기 30초 × 연속 실패 3회
= 최소 90초 후 장애 판정
대상 서비스가 완전히 다운되더라도 Route53이 이를 감지하고 Route 정책(Failover, Weighted 등)을 적용하기까지는 약 1분 30초가 소요됩니다.
왜 3회 실패 임계값이 필요할까?
웹 환경에서는 일시적인 네트워크 지연, 순간적인 타임아웃 등으로 인해 짧은 순간의 실패가 자주 발생합니다.
만약 1번 실패만으로 장애로 판정하면 정상적인 서비스에도 불필요하게 트래픽이 우회될 수 있습니다.
3회 연속 실패 기준은 다음을 보장합니다:
- 일시적 오류 → 무시
- 지속적 오류 → 장애로 판단
즉, “안정적이면서도 합리적인 장애 감지 방식”입니다.
실제 운영에서의 팁
- 장애 감지 시간을 더 줄이고 싶다면
- 주기를 10초로 축소
- 계층형 헬스체크(Health Check of Health Check) 활용
- CloudWatch Alarm 기반 헬스체크 연동
- ALB Target Group과 연계한 Failover 구성
등을 고려할 수 있습니다.
- 반대로 너무 짧게 잡으면 과민한 장애 판정이 발생할 수 있으므로 주의해야 합니다.
해시태그
#AWS #Route53 #헬스체크 #Failover #클라우드운영 #장애감지 #인프라관리