gpt4 book ai didi

amazon-web-services - 无法从 Fargate 连接 AWS Elasticsearch。获取 java.net.UnknownHostException

转载 作者:行者123 更新时间:2023-12-04 17:15:14 24 4
gpt4 key购买 nike

我有一个使用 AWS Fargate 部署的 Spring Boot 镜像和使用 AWS Elasticsearch Service 部署的 Elasticsearch 集群。两者都在相同的 VPC 和子网下。下面是 Elasticsearch 的访问策略:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "es:*",
"Resource": "arn:aws:es:ap-south-1:8655488xxxxx:domain/website-qa/*"
}
]
}

安全组:
Fargate:sg-test033f776d5fbed5c0000
Elasticsearch :sg-test0e5a570cbfc389e8555

子网:
Fargate: subnet-test025f49153cf245a2d11,subnet-test01f19783c005010f122,subnet-test076dfbba51d92d49033
Elasticsearch :ap-south-1a: subnet-test025f49153cf245a2d11

在elasticsearch的安全组下,4439200端口我已经放行了Fargate的安全组。

下面是 application.yml 文件:

spring:
elasticsearch:
rest:
connection-timeout: 5000 #milliseconds
read-timeout: 5000 #milliseconds
uris: https://vpc-website-qa-xxxxxxxxxxxx.ap-south-1.es.amazonaws.com:9200

因此 spring boot 尝试连接到 Elasticsearch 但得到 java.net.UnknownHostException https://vpc-website-qa-xxxxxxxxxxxx.ap-south-1.es.amazonaws.com:9200

也尝试使用端口 443 但没有成功。为什么主机未在 Fargate 集群中解析?我在这里缺少什么?

最佳答案

基于评论。

ES 不使用 9200 端口。仅支持端口 443 上的 http 和 https 端口 80。 From docs :

Amazon ES only accepts connections over port 80 (HTTP) or 443 (HTTPS).

此外,spring-data-elasticsearch 只需要域,因此不应使用 https

删除 https 并使用端口 443 解决了这个问题。

uris: vpc-website-qa-xxxxxxxxxxxx.ap-south-1.es.amazonaws.com:443

关于amazon-web-services - 无法从 Fargate 连接 AWS Elasticsearch。获取 java.net.UnknownHostException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68836522/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com