无法从 Fargate 连接 AWS Elasticsearch。获取 java.net.UnknownHostException

Unable to connect AWS Elasticsearch from Fargate. Getting java.net.UnknownHostException

我有一个 Spring 使用 AWS Fargate 部署的引导映像和使用 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/*"
    }
  ]
}

安全组:
远门:sg-test033f776d5fbed5c0000
弹性搜索:sg-test0e5a570cbfc389e8555

子网:
远门:subnet-test025f49153cf245a2d11,subnet-test01f19783c005010f122,subnet-test076dfbba51d92d49033
弹性搜索: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 启动尝试连接到 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