Connection Refused

(anna) #1

I am using the Java HighLevelRestClient to connect to my elastic instance hosted on AWS. I can make requests against the URL on postman and from my browser just fine, but when I use the client library I get a Connection Refused. (I don't currently need any authentication as this is a small public test instance).

Edit: I have set up the ElasticSearch [6.2] instance on the AWS console and am making requests against the domain that is created. I don't see any ports that are configured for my domain.

This is my code:

RestHighLevelClient restHighLevelClient = new RestHighLevelClient(restClientBuilder);

        GetRequest getRequest = new GetRequest("some_index", "some_type","some_id");
        final String[] elasticGetResponse = new String[1];

        restHighLevelClient.getAsync(getRequest, new ActionListener<GetResponse>() {

            public void onResponse(GetResponse documentFields) {
                try {
                    elasticGetResponse[0] = restHighLevelClient.get(getRequest).toString();

                catch (IOException e) {


            public void onFailure(Exception e) {

I'm not sure what I'm doing incorrectly. All help is appreciated!

Update: I built the restClientBuilder with the following

        MySSLHelper sslHelper = new MySSLHelper(SSLConfig.builder()

        RestClientBuilder restClientBuilder = RestClient.builder(new HttpHost("MY_ELASTICSEARCH_ENDPOINT")).setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() {
            public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpAsyncClientBuilder) {
                return httpAsyncClientBuilder.setSSLContext(sslHelper.getContext());

(David Pilato) #2

How did you create the restClientBuilder object?

(anna) #3

updated the original post with the code.

(David Pilato) #4

You said there is no auth.

Are you using https here?

(anna) #5

I'm not sure about this, I don't think so. My access policy is the public template.

(anna) #6

Hey David, on the latest version [6.2] do I need to host the elasticsearch instance locally and use the AWS CLI to access and deploy it? Currently I have only set up the instance via the AWS Console and am trying to hit endpoints at the endpoint provided.

(David Pilato) #7

Are you running Elasticsearch as as service by AWS by any chance?

Can you just curl the instance and if so on which address?

(anna) #8

Yes I am. I can curl the instance but I want to programmatically access and populate the instance using the Java Client.

I will send you a direct message with the URL.

(David Pilato) #9

Few comments:

1st: never ever expose elasticsearch on internet without any security like X-Pack.
2nd: I can't help because I don't know their service so you should ask your AWS support
3rd: Did you look at and ?

Cloud by elastic is the only way to have access to X-Pack. Think about what is there yet like Security, Monitoring, Reporting and what is coming like Canvas, SQL...

It also runs on AWS or GCP. And 6.3.0 is already available there!

I can totally help on service although you have a support team for you as well.

(system) closed #10

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.