Elastic Load Balancing
Network Load Balancers

Network Load Balancer 문제 해결

다음 정보는 Network Load Balancer와 관련된 문제를 해결하는 데 도움이 될 수 있습니다.

등록된 대상은 서비스되지 않고 있습니다.

대상이 InService 상태로 들어가는 데 예상보다 시간이 오래 걸릴 경우 상태 확인에 실패할 수 있습니다. 한번이라도 상태 확인을 통과할 때까지 대상이 서비스되지 않습니다. 자세한 내용은 대상 그룹에 대한 상태 확인 섹션을 참조하십시오.

인스턴스가 상태 확인에 실패하고 있는지 확인한 다음, 다음을 점검합니다.

보안 그룹이 트래픽을 허용하지 않음

인스턴스에 연결된 보안 그룹은 반드시 상태 확인 포트와 상태 확인 프로토콜을 사용하여 로드 밸런서에서의 트래픽을 허용해야 합니다.

ACL(액세스 제어 목록)이 트래픽을 허용하지 않음

인스턴스를 위해 서브넷에 연결된 네트워크 ACL은 상태 확인 포트에서 인바운드 트래픽을, 휘발성 포트(1024-65535)에서 아웃바운드 트래픽을 허용해야 합니다. 로드 밸런서 노드를 위해 서브넷에 연결된 네트워크 ACL은 휘발성 포트에서 인바운드 트래픽을, 상태 확인 및 휘발성 포트에서 아웃바운드 트래픽을 허용해야 합니다.

인스턴스가 피어링된 VPC에서 지원되지 않음

피어링된 VPC에 등록할 수 있는 유일한 대상은 C5, i3.metal 및 M5 인스턴스입니다.

요청이 대상으로 라우팅되지 않음

다음 사항을 확인합니다.

보안 그룹이 트래픽을 허용하지 않음

인스턴스와 연결된 보안 그룹이 리스너 포트에서 클라이언트 IP 주소(대상이 인스턴스 ID로 지정된 경우) 또는 로드 밸런서 노드(대상이 IP 주소로 지정된 경우)로부터의 트래픽을 허용해야 합니다.

ACL(액세스 제어 목록)이 트래픽을 허용하지 않음

VPC의 서브넷과 연결된 네트워크 ACL이 로드 밸런서 및 대상이 리스너 포트에서 양방향으로 통신하도록 허용해야 합니다.

대상이 활성화되지 않은 가용 영역에 있음

가용 영역에 대상을 등록하지만 가용 영역은 활성화하지 않는 경우 이러한 등록된 대상은 로드 밸런서로부터 트래픽을 수신하지 않습니다.

트래픽의 리턴 경로가 없음

인터넷 경계 로드 밸런서에 등록된 대상은 인터넷에 대한 경로가 있어야 합니다. 퍼블릭 서브넷에 있는 대상은 인터넷 게이트웨이로 0.0.0.0/0을 라우팅할 수 있습니다. 프라이빗 서브넷에 있는 대상은 NAT 게이트웨이로 또는 퍼블릭 서브넷의 EC2 인스턴스로 0.0.0.0/0을 라우팅할 수 있습니다.

클라이언트가 피어링된 VPC 또는 AWS 관리형 VPN에 있음

클라이언트가 C5, i3.metal 또는 M5 인스턴스가 아닌 한, Network Load Balancers는 VPC 피어링 또는 AWS 관리형 VPN을 통한 클라이언트에서 로드 밸런서로의 연결을 지원하지 않습니다. VPC 피어링의 경우 두 VPC가 동일한 리전에 있어야 합니다.

대상이 예상보다 많은 상태 확인 요청을 수신함

Network Load Balancer에 대한 상태 확인은 분산되며 대상 상태를 결정하는 데 합의 메커니즘을 사용합니다. 그러므로 대상은 HealthCheckIntervalSeconds 설정을 통해 구성된 수보다 많은 상태 확인을 수신할 수 있습니다.

대상에 대한 상태 확인 수를 줄이려면 정적 HTML 파일을 HTTP 대상으로 사용하거나 TCP 상태 확인을 사용합니다.

대상이 예상보다 적은 상태 확인 요청을 수신함

net.ipv4.tcp_tw_recycle이 활성화되었는지 여부를 확인합니다. 이 설정은 로드 밸런서에 문제를 야기하는 것으로 알려져 있습니다. net.ipv4.tcp_tw_reuse 설정이 더 안전한 대안입니다.

비정상 대상이 로드 밸런서로부터 요청을 수신

로드 밸런서에 정상 상태의 대상이 한 개 이상 등록되어 있으면 로드 밸런서는 정상 상태의 등록 대상으로만 요청을 라우팅합니다. 비정상 상태의 대상만 등록되어 있으면 로드 밸런서는 모든 등록 대상에 요청을 라우팅합니다.

대상에서 로드 밸런서로의 요청에서 연결이 시간 초과됨

인스턴스 ID로 대상이 등록되는 내부 로드 밸런서가 있는지 확인합니다. 내부 로드 밸런서는 헤어핀 또는 루프백을 지원하지 않습니다. 대상을 인스턴스 ID로 등록하는 경우 클라이언트의 원본 IP 주소가 보존됩니다. 인스턴스가 인스턴스 ID로 등록된 내부 로드 밸런서의 클라이언트일 경우, 요청이 다른 인스턴스로 라우팅되는 경우에만 연결이 성공합니다. 그렇지 않으면 원본 및 대상 IP 주소가 동일하여 연결이 시간 초과됩니다.

인스턴스가 자신이 등록된 로드 밸런서로 요청을 전송해야 하는 경우 다음 중 하나를 수행합니다.

  • 인스턴스를 인스턴스 ID 대신 IP 주소로 등록합니다. Amazon Elastic Container Service를 사용하는 경우, 작업에 awsvpc 네트워크 모드를 사용하여 대상 그룹을 IP 주소로 등록하도록 해야 합니다.

  • 통신해야 하는 컨테이너가 다른 컨테이너 인스턴스에 있는지 확인합니다.

  • 인터넷 경계 로드 밸런서를 사용합니다.

대상을 Network Load Balancer로 이동할 때 성능이 저하됨

Classic Load Balancers와 Application Load Balancers는 모두 연결 멀티플렉싱을 사용하지만 Network Load Balancers는 그렇지 않습니다. 그러므로 대상이 Network Load Balancer 뒤에서 더 많은 TCP 연결을 수신할 수 있습니다. 대상이 수신할 수 있는 연결 요청 볼륨을 처리할 준비가 되었는지 확인하십시오.