Amazon web services 仅从我的VPC/子网访问弹性搜索internet端点
我有一个互联网弹性搜索端点。我只想在我的2Amazon web services 仅从我的VPC/子网访问弹性搜索internet端点,amazon-web-services,
elasticsearch,amazon-ec2,Amazon Web Services,
elasticsearch,Amazon Ec2,我有一个互联网弹性搜索端点。我只想在我的2VPC的中访问它,具体来说,仅限于我的EC2实例。以下是我正在尝试使用我的VPC CIDR块IP的策略,但我无法从我的EC2实例访问端点。MyEC2实例位于私有子网中,通过NAT网关访问internet。这是我的访问策略,它不起作用 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS":
VPC的
中访问它,具体来说,仅限于我的EC2
实例。以下是我正在尝试使用我的VPC CIDR
块IP
的策略,但我无法从我的EC2
实例访问端点。MyEC2
实例位于私有子网中,通过NAT网关访问internet。这是我的访问策略,它不起作用
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "es:*",
"Resource": "arn:aws:es:us-east-1:1XXXXXXXXXXX:domain/my-elasticsearch/*",
"Condition": {
"IpAddress": {
"aws:SourceIp": [
"xx.xx.xx.xx/24",
"xx.xx.xx.xx/24"
]
}
}
}
]
}
我也尝试过类似的方法,只允许从分配给IAM角色的EC2实例进行访问,但这也不起作用
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::XXXXXXXXXXX:role/MyEC2Role"
]
},
"Action": [
"es:*"
],
"Resource": "arn:aws:es:us-east-1:XXXXXXXXXXX:domain/my-elasticsearch/*"
}
]
}
我做错了什么?或者有更好的方法限制访问吗?因为您有一个公共AWS Elasticsearch群集,所以允许您的EC2实例从一个具有私有IP的私有子网中访问是不起作用的。 尝试在AWS ES群集的访问策略中添加NAT的公共IP,看看是否有效。 此外,如果您使用的是基于IAM的访问策略,请确保对AWS ES的所有请求都已签名,如下所述: