본문으로 건너뛰기

Load Balancing 서비스 문제 해결

본 문서는 Load Balancing 서비스 관련 문제를 해결하기 위한 방법을 설명합니다.


연결된 로드 밸런서를 통해 서비스가 안 되는 문제

로드 밸런서의 프라이빗 IP 또는 퍼블릭 IP로 통신이 되지 않는 경우, 다음을 확인하시기 바랍니다.

로드 밸런서에 연결된 대상의 보안 그룹이 트래픽을 허용하지 않은 경우

▶ 로드 밸런서와 인스턴스의 상태 확인 IP와 통신 설정을 합니다.
대상(인스턴스)의 상태 확인(Health Check) 및 서비스 연결을 위해 로드 밸런서가 인스턴스의 상태 확인 IP와 통신할 수 있어야 합니다.
이를 위해, 대상(인스턴스)의 보안 그룹에서 상태 확인 IP와 통신을 허용하도록 인바운드 규칙을 추가해야 합니다.

  • 자세한 정보는 상태 확인 IP 통신 허용을 참고하시기 바랍니다. 상태 확인 IP는 카카오클라우드 콘솔 > Beyond Networking Service > Load Balancing > 대상 그룹 > 설정할 대상 그룹 상세 페이지의 대상 탭 > 서브넷별 상태 확인 IP에서 확인할 수 있습니다.

▶ 보안 그룹의 인바운드 규칙을 설정합니다.
보안 그룹의 인바운드 규칙 설정 시, 서비스 및 상태 확인 유형에 맞는 프로토콜과 포트 번호를 설정해야 합니다. 예를 들어, 서비스 포트가 80, 상태 확인 유형이 Ping이면, 다음의 인바운드 규칙을 허용해야 합니다.

프로토콜출발지포트 번호
TCP{상태 확인 IP 1}/3280
TCP{상태 확인 IP 2}/3280
ICMP{상태 확인 IP 1}/32ALL
ICMP{상태 확인 IP 2}/32ALL

대상 내 서비스가 동작 중이지 않은 경우

▶️ 애플리케이션의 동작 여부를 확인합니다.

대상(인스턴스) 내에서 로드 밸런서의 대상 그룹에 대상 등록 시, 설정한 포트를 사용하는 애플리케이션이 정상적으로 동작 중이어야 합니다.

대상의 상태가 unhealthy인 경우

▶️ 상태 확인에 설정한 HTTP 상태 코드와 웹 서버가 반환하는 상태 코드가 일치하는지 확인합니다.

보안 그룹 설정이나 서비스 상태가 모두 정상이고, 대상 내에서 패킷을 확인했을 때 상태 확인가 동작하고 있음에도 대상의 상태가 unhealthy일 수 있습니다.
HTTP 프로토콜로 상태 확인가 설정되어 있다면, 상태 확인에 설정한 HTTP 상태 코드와 웹 서버가 반환하는 상태 코드가 일치하는지 확인이 필요합니다.

  • 예를 들어, 상태 확인에 설정한 HTTP 상태 코드가 200~399인데 웹 서버가 반환하는 상태 코드가 500인 경우, 대상의 상태는 unhealthy가 됩니다.