Network Load Balancer로 관리되는 대상이 동일한 Network Load Balancer에 대해 연결을 시도하지만 연결이 실패합니다. 왜 그런가요?
간략한 설명
내부 Network Load Balancer의 대상이 해당 Network Load Balancer 자체로의 TCP 연결을 설정할 경우 타겟이 그 자체로 라우팅될 수 있습니다.
Network Load Balancers는 소스 IP를 유지하므로 수신되는 패킷의 소스와 대상이 모두 타겟의 프라이빗 IP 주소입니다. 이 경우, 호스트 운영 체제가 패킷을 잘못된 것으로 인식하기 때문에 응답 트래픽을 보내지 않으므로 연결이 실패합니다.
참고: 이 연결 실패는 소스와 대상이 동일한 경우에만 발생합니다. 따라서 연결 문제는 Network Load Balancer에 사용 가능한 대상의 수에 따라 간헐적으로 발생합니다.
이런 유형의 Network Load Balancer 연결 실패를 해결하려면 preserve_client_ip.enabled 대상 그룹 속성을 사용해 TCP와 TLS 대상 그룹의 클라이언트 IP 보존을 비활성화해야 합니다.
해결 방법
새 콘솔을 사용해 클라이언트 IP 보존을 활성화 또는 비활성화하려면 다음을 수행합니다.
- Amazon EC2 콘솔을 엽니다.
- 탐색 창의 **로드 밸런싱(Load Balancing)**에서 **대상 그룹(Target Groups)**을 선택합니다.
- 대상 그룹의 이름을 선택하여 세부 정보 페이지를 엽니다.
- 속성(Attributes) 탭에서 **편집(Edit)**을 선택합니다.
- 클라이언트 IP 보존을 활성화하려면 **클라이언트 IP 주소 보존(Preserve client IP addresses)**을 선택합니다. 클라이언트 IP 보존을 비활성화하려면 **클라이언트 IP 주소 보존(Preserve client IP addresses)**을 선택 취소합니다.
- **변경 사항 저장(Save changes)**을 선택합니다.
애플리케이션에 클라이언트의 IP 주소가 필요한 경우, 프록시 프로토콜 지원을 활성화하고 프록시 프로토콜 헤더에서 클라이언트 IP 주소에 액세스하면 됩니다.
관련 정보
대상이 자신의 로드 밸런서로 보내는 요청에 대한 연결 시간 초과