OpenSearch Service의 연결 및 소켓 시간 초과 문제를 해결하려면 어떻게 해야 합니까?
Amazon OpenSearch Service에 연결하려고 하면 클라이언트 애플리케이션에서 연결 시간 초과 또는 소켓 오류가 발생합니다.
해결 방법
시간 초과 문제 해결
다음 작업을 수행하십시오.
- OpenSearch Service 인덱스의 느린 로그를 활성화하여 완료하는 데 시간이 오래 걸리고 조정해야 하는 쿼리를 식별합니다. 자세한 내용은 OpenSearch Service의 느린 로그 보기를 참조하십시오.
- 더 작은 쿼리를 사용하여 요청의 데이터 양과 요청을 완료하는 데 필요한 시간을 줄입니다.
- 더 큰 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스 유형을 사용합니다. 자세한 내용은 인스턴스 유형 및 테스트 선택과 OpenSearch Service에서 지원되는 인스턴스 유형을 참조하십시오.
- 애플리케이션이 시간 초과된 요청을 재시도하도록 지수 백오프 및 재시도 메커니즘을 구성합니다.
- 개별 요청 대신 대량 요청을 사용하여 클러스터의 오버헤드를 줄입니다.
- 프로파일 API 디버깅 도구를 사용하여 자세한 시간 초과 정보를 얻습니다. 자세한 내용은 OpenSearch 웹사이트의 프로파일 API를 참조하십시오.
‘Connection timed out’ 오류 해결
연결 시간이 초과되면 다음 예와 유사한 오류 메시지를 받습니다.
"curl: (7) Failed to connect to vpc-acbdefxyz.us-east-1.es.amazonaws.com port 443: Connection timed out
curl: (28) Operation timed out after 1001 milliseconds with 0 out of 0 bytes received"
사용하는 도메인 유형에 따라 다음과 같은 문제 해결 작업을 수행하십시오.
퍼블릭 도메인
클라이언트가 인터넷에 연결되어 있거나 인터넷 경로를 사용하는 경우 인터넷을 통해 퍼블릭 도메인에 액세스할 수 있습니다. 클라이언트가 인터넷에 연결되어 있지 않거나 인터넷 경로를 사용하지 않는 경우 telnet 또는 curl 명령을 실행할 때 다음과 같은 출력이 표시될 수 있습니다.
Trying xyz.xyz.xyz.xyz... telnet: connect to address xyz.xyz.xyz.xyz: Connection timed out
-또는-
* Trying xyz.xyz.xyz.xyz:443... * connect to xyz.xyz.xyz.xyz port 443 failed: Operation timed out * Failed to connect to search-domain-name-someid.aws-region.es.amazonaws.com port 443 after 75243 ms: Couldn't connect to server * Closing connection 0 curl: (28) Failed to connect to search-domain-name-someid.aws-region.es.amazonaws.com port 443 after 75243 ms: Couldn't connect to server
이 문제를 해결하려면 클라이언트에 인터넷 경로가 있고 검색 엔드포인트에 대한 아웃바운드 요청을 차단하지 않는지 확인하십시오.
연결을 테스트하려면 다음 명령을 실행합니다.
telnet search-domain-name-someid.aws-region.es.amazonaws.com 443
참고: search-domain-name-someid를 도메인 이름으로 바꾸고, aws-region을 AWS 리전으로 바꾸십시오.
검색 엔드포인트의 성공적인 응답 예:
Trying xyz.xyz.xyz.xyz... Connected to search-domain-name-someid.aws-region.es.amazonaws.com. Escape character is '^]'.
VPC 내부 도메인
가상 프라이빗 클라우드(VPC) 내부에 만든 OpenSearch Service 도메인의 경우 VPC의 각 데이터 노드에 탄력적 네트워크 인터페이스가 있습니다. 네트워크 인터페이스는 네트워크 트래픽을 도메인으로 전달합니다.
네트워크 인터페이스와 도메인 간의 연결을 확인하려면 다음 단계를 완료하십시오.
-
다음 명령 중 하나를 실행하여 VPC의 네트워크 인터페이스 IP 주소를 가져옵니다.
nslookup -q=A vpc-domain-name-id.aws-region.es.amazonaws.com-또는-
dig +short vpc-domain-name-id.aws-region.es.amazonaws.com참고: domain-name-id를 도메인 이름으로 바꾸고 aws-region을 리전으로 바꾸십시오.
출력에서 네트워크 인터페이스 IP 주소를 기록해 둡니다. -
연결을 테스트하려면 각 데이터 노드 IP 주소에 대해 다음 명령 중 하나를 실행합니다.
telnet ip-address 443-또는-
curl -v telnet://ip-address:443참고: ip-address를 네트워크 인터페이스 IP 주소로 바꾸십시오.
시간 초과 응답 예:Trying xyz.xyz.xyz.xyz...telnet: connect to address xyz.xyz.xyz.xyz: Connection timed out성공적인 응답 예:
Trying xyz.xyz.xyz.xyz...Connected to xyz.xyz.xyz.xyz. Escape character is '^]'. -
연결 시간이 초과되면 VPC의 보안 그룹, 라우팅 테이블, 네트워크 액세스 제어 목록(네트워크 ACL)이 도메인에 대한 액세스를 허용하는지 확인합니다. 일부 네트워크 인터페이스에 연결할 수 있지만 다른 인터페이스에서 시간이 초과된 경우 AWS Support 사례를 만듭니다.
참고: VPC 외부에서는 OpenSearch Service 도메인에 액세스할 수 없습니다. 자세한 내용은 VPC 내에서 OpenSearch Service 도메인 시작을 참조하십시오.
‘HTTP 504 gateway timeout’ 오류 해결
로드 밸런서는 인바운드 트래픽을 데이터 노드로 분산합니다. OpenSearch Service 요청이 유휴 제한 기간 내에 확인을 반환하지 않으면 로드 밸런서가 TCP 연결을 종료합니다. 그 결과 다음 예와 유사한 오류 메시지가 표시됩니다.
"error msg: org.elasticsearch.client.ResponseException:
method[POST], host[https: //acbdefjhxyz.eu-central-1.es.amazonaws.com:443],
URI [/eks*/_search?typed_keys=true],status line [HTTP/1.1 504 Gateway Time-out]"
일반적으로 ‘HTTP 504 Gateway timeout’ 오류는 OpenSearch Service가 동시 요청을 너무 많이 수신하거나 요청이 복잡할 때 발생합니다. 오류가 반드시 클러스터에 문제가 있음을 나타내는 것은 아닙니다. 원인 및 문제 해결 단계에 대한 자세한 내용은 HTTP 504: 게이트웨이 시간 초과를 참조하십시오.
‘SocketTimeoutException’ 오류 해결
소켓 시간 초과 오류는 일반적으로 클라이언트가 너무 많은 요청이나 복잡한 요청을 보낼 때 발생합니다. OpenSearch Service 도메인은 클라이언트 응답이 지연되어 리소스 사용량이 높아질 수 있습니다. 오류 메시지 예시:
"j.net.SocketTimeoutException: 30,000 milliseconds timeout on connection http-outgoing-5083 [ACTIVE]
java.net.SocketTimeoutException: Read timed out
Caused by: java.net.SocketTimeoutException: Read timed out"
이 문제를 해결하려면 다음 작업을 수행하십시오.
- 클러스터의 제한 시간 값을 조정합니다. 자세한 내용은 OpenSearch 웹 사이트의 검색 설정을 참조하십시오.
- 쿼리를 최적화합니다.
- 요청 요구 사항을 충족하도록 OpenSearch Service 도메인의 규모를 조정합니다.
관련 정보
OpenSearch Service 클러스터에서 검색 대기 시간 급증 문제를 해결하려면 어떻게 해야 합니까?
OpenSearch Service 클러스터에서 인덱싱 성능을 개선하려면 어떻게 해야 합니까?
Amazon CloudWatch Logs 스트리밍 및 Kibana를 사용하여 OpenSearch Service의 느린 로그 분석
- 언어
- 한국어

관련 콘텐츠
질문됨 3년 전