카테고리 없음

AWS Route53 헬스체크 기준 완전 정리

idea9329 2025. 12. 4. 10:30
728x90
반응형

 

AWS Route53의 헬스체크(Health Check)는 도메인의 트래픽을 정상 서버로만 보내기 위해 상태를 자동으로 감지하는 기능이다. 특히 멀티리전 구성이나 장애 자동 복구(Failover) 구성에서 필수 요소다.

아래에서 헬스체크가 판단하는 정상/비정상 기준, 체크 방식, 주요 옵션 등을 상세히 정리해줄게.


🔍 1. 헬스체크 기본 동작 방식

Route53 헬스체크는 전 세계 AWS 헬스체커(Health Checker) 서버들이 지정된 엔드포인트(웹 서버, LB, IP 등)로 주기적으로 요청을 보내며 정상 여부를 판단한다.

  • 기본 체크 간격: 30초
  • 고빈도 체크: 10초
  • 최소 15개 이상의 글로벌 노드에서 측정 후 과반수 이상이 실패하면 비정상 판정

🧪 2. 헬스체크 판단 기준

✅ 정상(Healthy)

아래 조건을 만족하면 정상으로 인식한다:

  • 헬스체커가 ping/HTTP/HTTPS 요청에 정상 응답(2xx~3xx) 을 반환했을 때
  • TCP 연결이 세션 정상 성립
  • 응답 시간(타임아웃) 이내 응답 도착
  • “Expected String”이 응답 안에 존재할 때 (선택 옵션)

❌ 비정상(Unhealthy)

아래 중 하나라도 발생하면 비정상 처리:

  • 지정한 포트로 응답 없음 (Timeout)
  • HTTP 상태코드가 4xx 또는 5xx
  • 접속은 되지만 응답 본문에 Expected String 없음
  • TCP 연결 자체가 실패

📌 참고: 3개 연속 실패하면 Unhealthy,
3개 연속 성공하면 다시 Healthy 로 전환된다(기본값).


🏥 3. 헬스체크 방식 종류

1) HTTP / HTTPS 체크

가장 많이 쓰는 방식

  • 특정 URL로 GET 요청
  • 상태코드 2xx/3xx → 성공
  • 4xx/5xx → 실패
  • HTTPS(SSL) 인증 오류는 헬스체크 실패로 간주할 수도 있음

옵션:

  • "Expected String" 포함 여부 검사 가능
    → 예: "OK" 문자열이 응답에 포함되어야 정상

2) TCP 체크

웹이 아닌 포트 서비스 확인용

  • TCP handshake 성공 → Healthy
  • 핸드쉐이크 실패/Timeout → Unhealthy

보통 DB, Redis, Application Port 등에서 사용


3) CloudWatch 기반 체크

직접 엔드포인트를 때리지 않고 CloudWatch 알람 상태로 헬스 여부 판단

  • Alarm 상태 → Unhealthy
  • OK 상태 → Healthy
  • 장애 조치 자동화 시 가장 유연한 방식

🌐 4. 헬스체커 IP 주소

Route53 헬스체커는 AWS 글로벌 네트워크 노드에서 체크한다.

  • 헬스체커 IP 목록은 수백 개이며 지속적으로 변동
  • 방화벽/보안장비에서 허용하려면
     AWS Health Checkers IP Range 문서 전체 CIDR 허용 필요

⚙️ 5. 고급 옵션(중요)

✔ Failure Threshold

몇 번 연속 실패하면 Unhealthy 로 볼지 설정
기본: 3
→ 값이 낮을수록 민감하게 장애 감지

✔ Request Interval

체크 주기

  • 30초(기본)
  • 10초(High frequency)

✔ Latency Measurement

여러 리전 중 가장 빠른 리전 선택할 때 사용

✔ Health Check Regions 선택

장애 조치 환경에 따라 특정 지역만 체크하도록 설정 가능


🚨 6. Failover에서 헬스체크가 적용되는 방식

Route53에서 Primary / Secondary 구성 시:

  • Primary = 헬스체크 기준 Healthy → 트래픽 전송
  • Primary = Unhealthy → Secondary로 자동 전환
  • Primary가 회복되면 자동 복구(Failback)

이 동작을 위해 A 레코드 또는 Alias 레코드에 헬스체크를 연결해야 한다.


📌 7. 헬스체크 Best Practice

  • LB에 적용 시 Target Group 상태보다 Route53 헬스체크가 더 느릴 수 있음
  • 보안 장비에 AWS 헬스체커 IP 전체 허용 필수
  • 예상 문자열(“Expected String”)을 넣으면 오탐 방지 가능
  • 장애 확인 시간 = (Failure Threshold × Interval)
    예) 3 × 10초 = 약 30초

마무리

Route53 헬스체크는 단순히 “죽었는지 보는 체크”가 아니라,
전 세계 노드에서 주기적으로 검증해 Failover와 고가용성을 보장하는 핵심 기능이야.

 


#AWS #Route53 #HealthCheck #Failover #클라우드장애대응 #DNS고가용성

728x90
반응형