amazon-web-services - 创建访问策略以使用 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": [
"*"
]
}
}
}
]
}
解决方案
如果你使用的是 ALB,那么你就不能拥有它的 IP,因为 ALB 的IP 地址是动态的。而且,ALB 仅用于传入连接,而不用于传出连接。
要为您的 EC2 实例提供静态 IP,您必须使用单实例 EB 环境(无负载均衡器),或者将您的 EB 实例放置在私有子网中,位于NAT 网关后面。这将确保您的所有 EB 实例都将 NAT 用于传出连接,并且您将获得 NAT 的静态 IP 地址,您可以在 ES 策略中将其列入白名单。