我在VPC中的AWS中有一个Elasticsearch域,我需要针对它执行一些REST请求(我的网络设置方式是我可以这样做的。)
为此,我想问你们是否有办法以编程方式获取Elasticsearch端点?我的意思是,此屏幕中的“VPC端点”字段的值例如是,但是通过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)。
请帮忙!谢谢!
答案 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
方法,它返回一个包含端点的地图。