HAProxy는 연결을 분산하고 비정상 백엔드를 로테이션에서 제외하며 애플리케이션 계층 조건에 따라 요청을 라우팅할 수 있습니다. 이 실습 과정에서는 응답으로 각 결정을 확인할 수 있는 작은 로컬 서비스를 이용해 이러한 동작을 구성하고 시험합니다.
HTTP 라운드로빈, 통계 페이지, TCP 프록시, 경로 기반 ACL 백엔드 선택을 설정합니다. 마지막 챌린지에서는 세 노드 모의 웹 클러스터에 활성 상태 검사를 추가하고 한 백엔드를 중지·복구해 장애 전환과 자동 복귀를 검증합니다.
학습 내용
- HAProxy를 설치하고 구성 위치와 백업을 확인하며 서비스 검증하기
- HTTP frontend와 backend를 정의하고 라운드로빈 분산 확인하기
- 활성 백엔드 검사를 추가하고 노드 제외와 복귀 관찰하기
- 8404 포트에서 내장 통계 페이지를 활성화하고 접근하기
- TCP 모드 밸런싱을 구성하고 단순 연결 리스너로 시험하기
- 경로 접두사 ACL을 정의하고 일치 요청을 별도 backend로 라우팅하기
- 구성을 검증하고 HAProxy를 재시작 또는 재로드한 뒤
curl과nc로 시험하기
추천 대상
이 중급 과정은 HAProxy 구성, 트래픽 분산, 기본 장애 전환을 직접 연습하려는 Linux 관리자, DevOps 실무자, 백엔드 학습자를 위한 과정입니다.
선수 지식: Linux 셸, sudo, 서비스, 구성 파일, IP 주소, TCP 포트, 기본 HTTP 요청 개념에 익숙해야 합니다.
학습 환경: HAProxy, 로컬 Python HTTP 서버, Netcat 리스너, 관리자 접근 권한이 있는 단일 Linux 실습 머신입니다. 모든 백엔드 “노드”는 localhost의 서로 다른 포트입니다.
자주 묻는 질문
실제 다중 서버 클러스터를 사용하나요?
아닙니다. 백엔드는 한 실습 머신의 서로 다른 포트에서 동작하는 경량 서비스입니다. 하지만 실제 HAProxy 밸런싱, 상태 검사, 장애 전환, 복귀, ACL 라우팅을 시험합니다.
TCP 실습에서 실제 MySQL 클러스터를 구성하나요?
아닙니다. 3307 및 3308 포트의 Netcat 리스너로 TCP 라운드로빈 응답을 보여 줍니다. MySQL 설치, 복제, 데이터베이스 세션은 다루지 않습니다.
운영 보안과 고급 HAProxy 운영도 다루나요?
아닙니다. TLS 종료, 통계 인증, 시크릿, stick table, 세션 고정, 속도 제한, 로그 파이프라인, HAProxy 고가용성은 범위 밖입니다. 격리된 실습의 통계 리스너는 의도적으로 단순하며 인증이 없습니다.





