在VPC中以编程方式获取AWS ES端点

时间:2018-05-25 17:26:25

标签: amazon-web-services elasticsearch

我在VPC中的AWS中有一个Elasticsearch域,我需要针对它执行一些REST请求(我的网络设置方式是我可以这样做的。)

为此,我想问你们是否有办法以编程方式获取Elasticsearch端点?我的意思是,此屏幕中的“VPC端点”字段的值例如是screen shot,但是通过AWS CLI或API调用而不是通过UI。

aws es describe-elasticsearch-domain不适用,因为我的域位于vpc内。

使用此命令获取网络接口的IP地址取得了一些成功: aws ec2 describe-network-interfaces --filters "Name=status,Values=in-use" "Name=description,Values=ES my-es-domain-name" --query "NetworkInterfaces[*].PrivateIpAddress"但它不适用于REST调用(javax.net.ssl.SSLPeerUnverifiedException)。

请帮忙!谢谢!

1 个答案:

答案 0 :(得分:0)

回答我自己的问题,看起来我使用的是旧版本的java sdk,以及aws cli。

我更新了我的aws cli,在同一场景中,使用版本1.15.31的cli,aws es describe-elasticsearch-domain返回一个名为Endpoints的字段,其中包含端点。

我能够在java sdk(com.amazonaws.services.elasticsearch.AWSElasticsearch.describeElasticsearchDomain.getDomainStatus)的1.11.328版本中获得相同的结果。确实DescribeElasticsearchDomainResult.getEndpoint返回null,但在这个版本中还有一个DescribeElasticsearchDomainResult.getEndpoints方法,它返回一个包含端点的地图。