# Using Java TransportClient for access to AWS ElasticSearch instance

**URL:** <https://discuss.elastic.co/t/using-java-transportclient-for-access-to-aws-elasticsearch-instance/93941>\
**Category:** Elasticsearch\
**Created:** [July 20, 2017, 1:01pm UTC](https://discuss.elastic.co/t/using-java-transportclient-for-access-to-aws-elasticsearch-instance/93941 "2017-07-20T13:01:26Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Josca](https://avatars.discourse-cdn.com/v4/letter/j/e68b1a/32.png) [@Josca](https://discuss.elastic.co/u/Josca)\
**Post date:** [July 20, 2017, 1:01pm UTC](https://discuss.elastic.co/t/using-java-transportclient-for-access-to-aws-elasticsearch-instance/93941/1 "2017-07-20T13:01:26Z")

</div>

Hi,

Is it possible to use Java TransportClient when using AWS ElasticSearch instance and access token? Where can I find documentation for that, please?

Thanks for any advice.

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [July 20, 2017, 1:35pm UTC](https://discuss.elastic.co/t/using-java-transportclient-for-access-to-aws-elasticsearch-instance/93941/2 "2017-07-20T13:35:23Z")

</div>

No but [cloud.elastic.co](http://cloud.elastic.co) which runs on AWS supports it.

---

<div class="post-metadata">

**Author:** ![Josca](https://avatars.discourse-cdn.com/v4/letter/j/e68b1a/32.png) [@Josca](https://discuss.elastic.co/u/Josca)\
**Post date:** [July 25, 2017, 8:10am UTC](https://discuss.elastic.co/t/using-java-transportclient-for-access-to-aws-elasticsearch-instance/93941/3 "2017-07-25T08:10:36Z")

</div>

I have my own AWS Elasticsearch instance. From Python I connect it using generated access token. Python package "elasticsearch==5.4.0" has support for it. I need to choose good Java solution. I successfully connected to local ES instance from both Java TransportClient and Java REST. But I don't know how to connect to AWS instance where using of access token is needed.

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [July 25, 2017, 8:42am UTC](https://discuss.elastic.co/t/using-java-transportclient-for-access-to-aws-elasticsearch-instance/93941/4 "2017-07-25T08:42:36Z")

</div>

If you are running your own ES instance, what does "access token" mean?  
There is nothing like this in elasticsearch by default.

Are you using x-pack to secure your elasticsearch instance?

---

<div class="post-metadata">

**Author:** ![Josca](https://avatars.discourse-cdn.com/v4/letter/j/e68b1a/32.png) [@Josca](https://discuss.elastic.co/u/Josca)\
**Post date:** [July 25, 2017, 8:54am UTC](https://discuss.elastic.co/t/using-java-transportclient-for-access-to-aws-elasticsearch-instance/93941/5 "2017-07-25T08:54:36Z")

</div>

Access token is used when connecting to AWS Elasticsearch instance only. When I connect to my local instance, no access token is used. I don't know which Java client should I use when connecting to AWS Elasticsearch instance. I don't use x-pack, because it's for elasticsearch installation. It's not my case. Thanks.

---

<div class="post-metadata">

**Author:** ![Christian\_Dahlqvist](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/christian_dahlqvist/32/4617_2.png) [@Christian\_Dahlqvist](https://discuss.elastic.co/u/Christian_Dahlqvist)\
**Post date:** [July 25, 2017, 8:59am UTC](https://discuss.elastic.co/t/using-java-transportclient-for-access-to-aws-elasticsearch-instance/93941/6 "2017-07-25T08:59:18Z")

</div>

As far as I know, the AWS Elasticsearch service (if this is what you are using) does not support the transport protocol, which means that you will need to use a REST based Java client. The Python client works as it is REST based.

---

<div class="post-metadata">

**Author:** ![Josca](https://avatars.discourse-cdn.com/v4/letter/j/e68b1a/32.png) [@Josca](https://discuss.elastic.co/u/Josca)\
**Post date:** [July 25, 2017, 9:47am UTC](https://discuss.elastic.co/t/using-java-transportclient-for-access-to-aws-elasticsearch-instance/93941/7 "2017-07-25T09:47:39Z")

</div>

I think so too. But I can't find full documentation of Java REST API. It's not contained in org.elasticsearch javadoc: [https://www.javadoc.io/doc/org.elasticsearch/elasticsearch/5.4.3](https://www.javadoc.io/doc/org.elasticsearch/elasticsearch/5.4.3). Example of using with AWS is also missed here:  
[https://www.elastic.co/guide/en/elasticsearch/client/java-rest/5.4/\_example\_requests.html](https://www.elastic.co/guide/en/elasticsearch/client/java-rest/5.4/_example_requests.html).

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [July 25, 2017, 10:05am UTC](https://discuss.elastic.co/t/using-java-transportclient-for-access-to-aws-elasticsearch-instance/93941/8 "2017-07-25T10:05:57Z")

</div>

This is what the Java REST Client supports for authentication: [https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/\_basic\_authentication.html](https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/_basic_authentication.html)

It's fully compatible with [cloud.elastic.co](http://cloud.elastic.co).

---

<div class="post-metadata">

**Author:** ![Josca](https://avatars.discourse-cdn.com/v4/letter/j/e68b1a/32.png) [@Josca](https://discuss.elastic.co/u/Josca)\
**Post date:** [July 25, 2017, 1:13pm UTC](https://discuss.elastic.co/t/using-java-transportclient-for-access-to-aws-elasticsearch-instance/93941/9 "2017-07-25T13:13:39Z")

</div>

I don't need connect to [cloud.elastic.co](http://cloud.elastic.co), but to Amazon Web Services Elasticsearch.

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [July 25, 2017, 1:36pm UTC](https://discuss.elastic.co/t/using-java-transportclient-for-access-to-aws-elasticsearch-instance/93941/10 "2017-07-25T13:36:34Z")

</div>

I hear you.

If the official client does not work with whatever other non official provider, then you probably need to ask this provider for advices.

I can tell you that this client works fine with:

- Local instances
- [cloud.elastic.co](http://cloud.elastic.co) instances
- Own deployed instances on whatever cloud provider, such as AWS, GCP, Azure...

And probably some others.

May I suggest that you ask your question on AWS forums and eventually update this thread so others will know what is needed to be done?

---

<div class="post-metadata">

**Author:** ![Josca](https://avatars.discourse-cdn.com/v4/letter/j/e68b1a/32.png) [@Josca](https://discuss.elastic.co/u/Josca)\
**Post date:** [July 25, 2017, 3:32pm UTC](https://discuss.elastic.co/t/using-java-transportclient-for-access-to-aws-elasticsearch-instance/93941/11 "2017-07-25T15:32:01Z")

</div>

Ok, I will try it.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [August 22, 2017, 3:32pm UTC](https://discuss.elastic.co/t/using-java-transportclient-for-access-to-aws-elasticsearch-instance/93941/12 "2017-08-22T15:32:06Z")

</div>

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