본문 바로가기

리눅스

HAProxy의 Stats 페이지에서 백엔드 서버의 상태를 제어할 때 사용하는 관리 명령

반응형

HAProxy의 "Stats 페이지" 또는 CLI(admin socket)에서 백엔드 서버(Backend Server)의 상태를 제어할 때 사용하는 관리 명령

HAProxy 서버 상태 제어 옵션 상세 설명

HAProxy

항목 설명 운영 시 사용 예시
Set state to READY 서버를 정상 동작 상태(READY) 로 설정합니다. 새로운 요청을 받을 수 있게 됩니다. 점검이 끝난 서버를 다시 트래픽 풀에 복귀시킬 때
Set state to DRAIN 서버를 드레인 모드(DRAIN) 로 설정합니다. 기존 연결은 유지하지만, 새로운 연결은 받지 않습니다. 서버 점검 전, 트래픽을 안전하게 다른 서버로 이동시키고 싶을 때
Set state to MAINT 서버를 점검 모드(MAINTENANCE) 로 전환합니다. HAProxy는 해당 서버를 즉시 비활성화하고, 연결을 종료합니다. 서버를 완전히 내리고 교체/패치할 때
Health: disable checks Health check(헬스체크) 를 비활성화합니다. HAProxy가 주기적으로 서버 상태를 확인하지 않게 됩니다. 테스트 서버나 외부 스크립트로만 상태를 제어할 때
Health: enable checks 헬스체크를 다시 활성화합니다. 점검 후 자동 상태 감지를 다시 시작할 때
Health: force UP 헬스체크 결과와 무관하게, 서버를 강제로 UP(정상) 상태로 표시합니다. 일시적으로 정상 인식시키고 싶을 때 (예: false negative 대응)
Health: force NOLB 서버를 로드밸런싱 풀에는 제외하지만, 여전히 “alive”로 유지합니다. 트래픽은 받지 않되, replication이나 모니터링 목적일 때
Health: force DOWN 헬스체크 결과와 상관없이, 강제로 DOWN(비정상) 상태로 표시합니다. 장애 조치(failover) 강제 트리거용
Agent: disable checks 에이전트 체크(agent check) 를 비활성화합니다. Agent는 외부 프로그램(예: 모니터링 스크립트)이 상태를 제어할 때 사용됩니다. 외부 agent를 일시적으로 중단할 때
Agent: enable checks 에이전트 체크를 다시 활성화합니다. agent 기능 복원 시
Agent: force UP 에이전트 응답과 무관하게 서버를 강제로 정상으로 표시합니다. 외부 agent 오류시 임시 우회
Agent: force DOWN 에이전트 응답과 무관하게 서버를 비정상으로 표시합니다. 테스트 중 agent 신호 무시 시
Kill Sessions 해당 서버로 연결된 모든 클라이언트 세션을 즉시 종료합니다. 긴급 점검, 세션 누적 문제 해결 등

READY/DRAIN/MAINT 상태 비교

상태 신규 요청 기존 연결 유지 목적
READY ✅ 수락함 ✅ 유지 정상 서비스 상태
DRAIN ❌ 수락 안함 ✅ 유지 트래픽 제거 중
MAINT ❌ 수락 안함 ❌ 즉시 종료 점검, 서버 중단

 

운영 팁

  • DRAIN 모드는 무중단 배포(rolling update) 시 필수적으로 사용됩니다.
  • MAINT 모드는 즉시 중단되므로 운영 트래픽 중에는 신중히 적용해야 합니다.
  • Health / Agent 강제 제어(force) 명령은 임시 조치용으로, 장기적으로는 헬스체크 스크립트나 모니터링 시스템에서 정상적으로 복구하도록 하는 것이 좋습니다.

 

728x90
반응형