GCP 로드 밸런서 - 인스턴스 실패 - 디버그?

GCP 로드 밸런서 - 인스턴스 실패 - 디버그?

주말 동안 GCP LB는 인스턴스 중 하나를 비정상으로 표시했습니다. 아무것도 변경되지 않았고 재배포도 없었으며 다른 인스턴스도 괜찮습니다.

TCP 상태 확인을 사용하고 있는데 다음은 예상대로 0이 됩니다.

nc localhost 80 -z; echo $?

GCP가 노드를 비정상으로 간주하는 이유를 디버깅하려면 어떻게 해야 하나요?

업데이트:

상태 확인을 SSL로 변경한 다음 다시 TCP80으로 변경했으며 이제 Google은 노드가 정상이라고 간주합니다. 조금 걱정되는 부분입니다.

답변1

상태 확인 실패의 가장 일반적인 원인은 로드 밸런서의 주소가 아닌 인스턴스의 외부 IP 주소에만 서비스를 바인딩하는 것입니다.

서버 프로세스가 호스트에 구성된 모든 주소를 수신하도록 해야 합니다. 이렇게 하면 로드 밸런서의 외부 주소에 대한 상태 확인이 작동됩니다.

Google Cloud Platform의 부하 분산에서 상태 확인을 디버깅하는 방법에 대한 광범위한 정보를 찾을 수 있습니다.여기.

답변2

제 경우에는 방화벽 규칙 때문이었습니다. 인스턴스는 공유 VPC의 사용자 지정 서브넷에 있으며 문서에 설명된 대로 로드 밸런서 및 상태 확인기의 IP 주소를 허용된 대로 수동으로 추가해야 했습니다.

관련 정보