首页 > 解决方案 > 创建访问策略以使用 IP 地址将弹性 beantalk 连接到 Elasticsearch

问题描述

我正在尝试设置从我的 AWS Elastic Beanstalk 服务到 AWS OpenSearch 服务(运行 elasticsearch)的访问权限。

我最初设置了一个用于本地测试的 IP 地址,这很有效,但是我在其任何配置设置中都找不到我的 Elastic Beanstalk 服务的 IP 地址。

我在想我会完全开放我的服务进行测试,但这似乎也不起作用。

如何查找/设置我的 Elastic Beanstalk 服务的 IP 地址?

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": [
        "es:*"
      ],
      "Resource": "arn:aws:es:ap-southeast-2:*****:domain/mydomain/*",
      "Condition": {
        "IpAddress": {
          "aws:SourceIp": [
            "*"
          ]
        }
      }
    }
  ]
}

标签: amazon-web-serviceselasticsearchamazon-elastic-beanstalk

解决方案


如果你使用的是 ALB,那么你就不能拥有它的 IP,因为 ALB 的IP 地址是动态的。而且,ALB 仅用于传入连接,而不用于传出连接。

要为您的 EC2 实例提供静态 IP,您必须使用单实例 EB 环境(无负载均衡器),或者将您的 EB 实例放置在私有子网中,位于NAT 网关后面。这将确保您的所有 EB 实例都将 NAT 用于传出连接,并且您将获得 NAT 的静态 IP 地址,您可以在 ES 策略中将其列入白名单。


推荐阅读