고가용성을 위해 Keepalived를 사용하여 HAProxy를 설정하는 방법

Gogayongseong Eul Wihae Keepalivedleul Sayonghayeo Haproxyleul Seoljeonghaneun Bangbeob



로드 밸런서가 있는 경우 특히 지속적인 서비스 가용성이 필요한 경우 가용성을 달성하는 데 공통적인 문제가 발생합니다. 가용성을 보장하는 방법을 통합하지 않으면 로드 밸런서라도 실패할 수 있으며, 이것이 바로 Keepalived가 작동하는 지점입니다.

로드 밸런싱 및 IP 장애 조치를 관리하여 안정성을 달성하기 위해 Linux 시스템용으로 설계된 오픈 소스 프레임워크입니다. Keepalived는 HAProxy와 같은 로드 밸런서와 함께 사용되어 서비스의 연속성을 보장하여 안정성을 달성합니다. 이 게시물에서는 Keepalived를 소개하고 HAProxy를 사용하여 설정하는 단계를 안내합니다.

Keepalived 란 무엇입니까?

HAProxy와 같은 로드 밸런서는 사이트 트래픽을 처리하는 데 유용합니다. 그러나 가용성이 보장되지 않는 경우가 있을 수 있습니다. Keepalived는 로드 밸런서로 IP 장애 조치를 관리하여 고가용성을 보장하고 HAProxy와 원활하게 작동하는 오픈 소스 소프트웨어입니다.







Keepalived가 제공하는 주요 기능 중 일부는 다음과 같습니다.



1. 가상 IP 관리

모든 서버에는 Keepalived에 의해 가상 IP가 할당되어 하나의 가상 엔터티로 작동할 수 있습니다. Keepalived는 장애 조치 시 가상 IP를 백업 서버로 전송하여 가동 중지 시간을 방지합니다.



2. 건강체크

Keepalived는 관리하는 모든 서비스의 상태를 확인할 수 있는 방식으로 설계되었습니다. 예를 들어 서버가 응답하지 않으면 즉시 장애 조치를 시작하고 백업 서버를 찾습니다. 이 상태 확인 및 장애 조치 기능을 통해 가용성이 보장됩니다.





3. 로드 밸런싱

주요 목적은 로드 밸런서가 아니지만 들어오는 트래픽을 다른 서버로 분산하도록 구성할 수 있습니다. 이 기능은 로드 밸런서와 결합되어 시스템 성능을 향상시킵니다.

Keepalived를 사용하여 HAProxy를 설정하는 방법

Keepalived는 로드 밸런서와 함께 작동한다고 이미 언급했습니다. 이 경우 고가용성을 위해 Keepalived를 사용하여 HAProxy를 설정했습니다. 따라서 먼저 HAProxy를 설치한 후 설정해야 합니다. 주어진 단계를 따르십시오:



1단계: HAProxy 설치

특히 HAProxy는 기본 Linux 저장소에서 사용할 수 있으므로 HAProxy 설치는 간단한 프로세스입니다. 이 튜토리얼에서는 Ubuntu를 사용하고 있지만 단계는 다른 배포판의 단계와 유사합니다.

HAProxy를 설치하기 전에 저장소를 빠르게 업데이트하세요.

$ sudo 적절한 업데이트

이제 APT를 사용하여 HAProxy를 설치할 수 있습니다.

$ sudo 적절한 설치 하프록시

2단계: HAProxy 구성

HAProxy에서는 구성 파일에 액세스하고 클라이언트 장치에서 들어오는 트래픽을 수신하는 방법을 정의한 다음 트래픽을 배포할 서버를 정의해야 합니다.

HAProxy 구성 파일에 액세스하여 시작하십시오.

$ sudo 나노 / / 하프록시 / haproxy.cfg

이 경우 포트 80을 통해 들어오는 모든 연결을 수신하도록 지정합니다. 백엔드의 경우 트래픽을 분산하기 위해 라운드 로빈을 사용하는 두 대의 서버를 지정합니다. 실제 서버와 일치하도록 서버 IP를 바꾸십시오.

구성 파일에 필요한 편집을 수행한 후 저장하고 종료합니다. 마지막으로 HAProxy를 다시 시작합니다.

3단계: Keepalived 설치

Keepalived는 Linux에 사전 설치되어 있지 않습니다. 따라서 APT를 사용하여 기본 저장소에서 설치해야 합니다. 다음 명령을 실행하십시오.

$ sudo 적절한 설치 연결 유지

메시지가 나타나면 'y'를 눌러 설치를 확인하세요. 설치가 완료되면 버전을 확인하여 Keepalived가 설치되었는지 확인하세요.

4단계: 연결 유지 구성

Keepalived를 구성하려면 '/etc/keepalived/keepalived.conf'에 있는 구성 파일에 액세스해야 합니다. 여기에서는 Keepalived가 HAProxy에 고가용성을 제공하는 방법을 정의해야 합니다.

가상 IP 주소, 사용 가능한 서버의 우선순위, HAProxy의 상태를 확인하는 스크립트를 정의해야 합니다. 다음 구성 파일에서는 2초마다 HAProxy의 상태를 평가하는 'chk_haproxy' 스크립트를 생성합니다. 네트워크 인터페이스로 'enp0s3'을 사용하여 이를 지정하고 'VI_1'이라는 VRRP 인스턴스를 생성합니다. 귀하의 경우에 맞게 네트워크 인터페이스를 변경하십시오.

그래도 인터페이스에 작동하는 라우터 ID를 설정하고 사용할 가상 IP 주소를 설정하세요. 인증 비밀번호도 변경해야 합니다.

5단계: Keepalived 다시 시작


Keepalived 구성이 모두 설정되면 파일을 저장하고 텍스트 편집기를 닫습니다. 그런 다음 구성 파일의 유효성을 확인하고 Keepalived 서비스를 다시 시작할 수 있습니다.

마지막으로 HAProxy 및 Keepalived가 시작되었는지 확인합니다.

그게 다야. 고가용성을 위해 Keepalived를 사용하여 HAProxy를 설정합니다. 정의된 가상 IP를 사용하여 설정이 예상대로 작동하는지 확인할 수 있습니다.

결론

이 게시물에 정의된 설정은 로드 밸런서가 수신 트래픽을 사용 가능한 서버에 분산하여 처리할 수 있는 가용성을 높이는 것을 보장합니다. 또한 Keepalived는 장애 조치를 처리하고 로드 밸런서에 가동 중지 시간이 발생하지 않도록 보장합니다. 단계를 수행하고 원하는 대로 구성 파일을 편집합니다.