AWS Elastic Search ConnectException: Operation timed out

696 Views Asked by At

I'm trying to access AWS open search cluster present in different AWS account(lets say ES cluster present in account A and we are trying to access it from Account B). I have performed following steps to access it

  1. Allowlist principal AWS account B in AWS account A inside ES endpoint service option..

  2. Created vpc endpoint in Account B using vpc service name of Account A. vpc pairing request received by Account A

  3. Accept vpc-pairing request in AWS account A.

  4. VPC endpoint status changed from pending to available in AWS account B.

  5. AWS account A ES is accessible on HTTP, port 80, hence added Http, port 80 inbound rule in ECS service security group. ES connection code is getting called from the same ECS service.

Following is the code snippet for ES client builder :

final RestClientBuilder restClientBuilder = RestClient.builder(new
HttpHost("vpc-endpoint-present-in-account-B", 80, "http"))
.setRequestConfigCallback(rcb -> rcb.setConnectTimeout(300_000).setSocketTimeout(300_000));

I'm getting [java] java.util.concurrent.ExecutionException: java.net.ConnectException: Operation timed out exception on restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT); call.

Detail logs

[java] java.util.concurrent.ExecutionException: java.net.ConnectException: Operation timed out [java] at org.apache.http.concurrent.BasicFuture.getResult(BasicFuture.java:71) ~[httpcore-4.4.14.jar:4.4.14] [java] at org.apache.http.concurrent.BasicFuture.get(BasicFuture.java:84) ~[httpcore-4.4.14.jar:4.4.14] [java] at org.apache.http.impl.nio.client.FutureWrapper.get(FutureWrapper.java:70) ~[httpasyncclient-4.1.4.jar:4.1.4] [java] at org.elasticsearch.client.RestClient.performRequest(RestClient.java:244) ~[elasticsearch-rest-client-7.7.1.jar:7.7.1] [java] at org.elasticsearch.client.RestClient.performRequest(RestClient.java:235) ~[elasticsearch-rest-client-7.7.1.jar:7.7.1] [java] at org.elasticsearch.client.RestHighLevelClient.internalPerformRequest(RestHighLevelClient.java:1609) ~[elasticsearch-rest-high-level-client-7.7.1.jar:7.7.1] [java] at org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighLevelClient.java:1579) ~[elasticsearch-rest-high-level-client-7.7.1.jar:7.7.1] [java] at org.elasticsearch.client.RestHighLevelClient.performRequestAndParseEntity(RestHighLevelClient.java:1549) ~[elasticsearch-rest-high-level-client-7.7.1.jar:7.7.1] [java] at org.elasticsearch.client.RestHighLevelClient.search(RestHighLevelClient.java:1065) ~[elasticsearch-rest-high-level-client-7.7.1.jar:7.7.1] [java] at com.amazon.atvomniaservice.elastic.ElasticSearchClient.search(ElasticSearchClient.java:62) ~[ATVOmniaService-1.0.jar:?] [java] at com.amazon.atvomniaservice.elastic.ElasticSearchQueryRunner.submit(ElasticSearchQueryRunner.java:33) ~[ATVOmniaService-1.0.jar:?] [java] at com.amazon.atvomniaservice.elastic.ElasticSearchQueryRunner.submit(ElasticSearchQueryRunner.java:19) ~[ATVOmniaService-1.0.jar:?] [java] at com.amazon.atvomniaservice.GenericQueryDriver.run(GenericQueryDriver.java:60) ~[ATVOmniaService-1.0.jar:?] [java] at com.amazon.atvomniaservice.activity.GetSessionsActivity.lambda$enact$0(GetSessionsActivity.java:78) ~[ATVOmniaService-1.0.jar:?] [java] at com.amazon.atvomniaservice.activity.ContinuationRunner.lambda$runInContinuation$0(ContinuationRunner.java:40) ~[ATVOmniaService-1.0.jar:?] [java] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?] [java] at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?] [java] at com.amazon.metrics.executor.MetricsClearingRunnable.run(MetricsClearingRunnable.java:58) ~[DeclarativeCoralMetrics-2.1.jar:?] [java] at com.amazon.coral.metrics.MetricReportingThreadPoolExecutor$MeasuringRunnable.run(MetricReportingThreadPoolExecutor.java:210) ~[MetricReportingExecutors-1.0.jar:?] [java] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?] [java] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?] [java] at java.lang.Thread.run(Thread.java:829) [?:?] [java] Caused by: java.net.ConnectException: Operation timed out [java] at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[?:?] [java] at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:777) ~[?:?] [java] at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvent(DefaultConnectingIOReactor.java:174) ~[httpcore-nio-4.4.12.jar:4.4.12] [java] at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvents(DefaultConnectingIOReactor.java:148) ~[httpcore-nio-4.4.12.jar:4.4.12] [java] at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:351) ~[httpcore-nio-4.4.12.jar:4.4.12] [java] at org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager.execute(PoolingNHttpClientConnectionManager.java:221) ~[httpasyncclient-4.1.4.jar:4.1.4] [java] at org.apache.http.impl.nio.client.CloseableHttpAsyncClientBase$1.run(CloseableHttpAsyncClientBase.java:64) ~[httpasyncclient-4.1.4.jar:4.1.4] [java] ... 1 more [java] updated [[host=http://vpce-XXXXX.vpce-svc-XXXX.us-east-1.vpce.amazonaws.com:80]] already in blacklist [java] An unexpected error occurred:

0

There are 0 best solutions below