Elastic Load Balancing ‘Connection timed out’ 오류를 해결하려면 어떻게 해야 합니까?

3분 분량
0

Elastic Load Balancing(ELB)을 사용하고 있는데, ‘Connection timed out’ 오류가 수신됩니다. 로드 밸런서와 클라이언트 사이의 연결 제한 시간 문제를 해결하려면 어떻게 해야 합니까?

해결 방법

로드 밸런서 체계가 인터넷에 연결되어 있는지 확인

클라이언트가 인터넷을 통해 연결을 시도하는 경우 ELB 체계가 인터넷에 연결되어 있는지 확인합니다.

리스너가 로드 밸런서 포트에 대해 구성되었는지 확인

클라이언트가 연결하는 로드 밸런서 포트의 리스너 구성을 확인합니다.

대상 인스턴스의 보안 그룹이 트래픽을 허용하는지 확인

Application Load Balancer 및 Classic Load Balancer

로드 밸런서에 연결된 보안 그룹의 설정을 확인합니다. 리스너 및 상태 확인 포트에 대해 양방향으로 트래픽이 허용되는지 확인합니다. 자세한 내용은 Application Load Balancer의 보안 그룹Classic Load Balancer의 보안 그룹 구성을 참조하세요.

Network Load Balancer

EC2 인스턴스를 대상으로 등록하는 경우 이러한 인스턴스의 보안 그룹이 리스너 및 상태 확인 포트 모두에서 트래픽을 허용하는지 확인합니다. IP 주소로 대상을 등록하는 경우 대상에 대한 보안 그룹이 NLB 노드의 트래픽을 허용하는지 확인합니다. 자세한 내용은 대상 그룹에 대상 등록(Network Load Balancer)을 참조하세요.

클라이언트 IP 보존을 사용하는 경우 대상 보안 그룹이 클라이언트 IP 주소의 트래픽을 허용하는지 확인합니다. 자세한 내용은 클라이언트 IP 보존을 참조하세요.

네트워크 ACL이 필요한 트래픽을 허용하는지 확인

로드 밸런서 노드가 있는 서브넷과 연결된 네트워크 액세스 제어 목록(ACL)에서 다음을 확인합니다.

  • 액세스 중인 포트에 대한 액세스를 허용하는지 여부
  • 인바운드 규칙의 특정 클라이언트 IP 주소에 대한 액세스를 허용합니다.

네트워크 ACL은 무상태이므로 인바운드 및 아웃바운드 규칙을 모두 허용해야 합니다. 또한, 모든 임시 포트가 아웃바운드 규칙에서 허용되는지도 확인합니다. 일부 임시 포트만 허용하는 경우 간헐적으로 연결 문제가 발생할 수 있습니다. 자세한 내용은 VPC에서 로드 밸런서의 네트워크 ACL을 참조하세요.

라우팅 테이블이 올바르게 구성되었는지 확인

인터넷 연결 로드 밸런서의 경우 로드 밸런서 노드가 있는 서브넷과 연결된 라우팅 테이블에 인터넷 게이트웨이가 있는지 확인합니다.

로드 밸런서에 대한 프라이빗 연결을 사용하는 내부 로드 밸런서의 경우 서로 다른 서브넷과 연결된 여러 라우팅 테이블이 존재할 수 있습니다. 개별 노드에서 연결 문제가 발생하여 간헐적인 문제가 생길 수 있습니다. 모든 노드와 연결된 라우팅 테이블을 확인합니다. 노드에서 연결성에 장애가 발생하면 로드 밸런서 노드 하위 집합과 연결된 라우팅 테이블이 구성되었는지 확인합니다. 필요한 경우 경로를 추가합니다.

다음 명령을 사용하여 노드 연결성을 테스트합니다.

nc –v <ELB IP Address> <Port>
telnet <ELB IP Address> <Port>

참고: ELB IP 주소포트에 대한 정보를 입력합니다.

클라이언트가 종료된 노드(Application Load Balancer 및 Classic Load Balancer)에 연결되어 있지 않은지 확인

클라이언트가 종료된 Application Load Balancer 또는 Classic Load Balancer 노드에 연결되어 있지 않은지 확인합니다. 클라이언트의 IP 주소가 ELB 도메인 이름 시스템(DNS)에 게시된 현재 IP 주소 목록에 포함되어 있는지 확인합니다. example.com의 도메인 이름을 사용하여 다음 dig 명령을 실행합니다.

$ dig +short example.com
35.154.42.229
13.126.64.179

클라이언트 측 방화벽이 트래픽을 차단하지 않는지 확인

다른 문제 해결 방법으로 연결성 문제가 해결되지 않으면 클라이언트 측 방화벽에서 트래픽을 차단한 것일 수 있습니다. 문제를 해결하려면 다음 단계를 수행합니다.

  • 메타데이터와 함께 VPC 흐름 로그를 사용하는 경우 로드 밸런서 노드 인터페이스의 로그를 확인합니다. 로드 밸런서가 클라이언트 IP 주소의 **SYN**을 수신하는지 확인합니다. 그런 다음, 로드 밸런서 노드에서 클라이언트 IP 주소로 SYN, ACK를 다시 전송하는지 확인합니다. SYN, ACK가 로드 밸런서 노드에서 반환되지 않으면 해당 노드에 문제가 있을 수 있습니다. 흐름 로그를 읽는 방법의 예는 TCP 플래그 시퀀스를 참조하세요.
  • 클라이언트를 실행 중인 시스템에서 패킷 캡처를 수행합니다. tcpdump 유틸리티를 사용하여 분석할 네트워크 트래픽을 가져옵니다. 연결에 실패하면 필요한 트래픽을 허용하도록 방화벽 규칙을 업데이트합니다.

관련 정보

Application Load Balancer 문제 해결

Classic Load Balancer 문제 해결

사용자 지정 네트워크 ACL

AWS 공식
AWS 공식업데이트됨 2년 전
댓글 없음