gpt4 book ai didi

amazon-web-services - 如何将我的 AWS Elastic Search Service 设为私有(private)?

转载 作者:行者123 更新时间:2023-12-02 23:16:28 25 4
gpt4 key购买 nike

{
"Version": "2012-10-17",
"Statement": [ {
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::xxxxxxxxxx:role/some-role"
},
"Action": "es:*",
"Resource": "arn:aws:es:us-west-1:xxxxxxxx:domain/theprodname/*"
}
]
}

我想将我的 Elasticsearch 服务设置为私有(private)。我所说的“私有(private)”是指:
  • 外界无法访问(无 http 请求)
  • 我自己的 aws ec2 服务器可以访问它。

  • 我将我的 aws IAM Role ARN 添加到原理中,结果我仍然无法在我的网站上使用 es 服务。

    任何的想法?提前致谢。

    我尝试了 Proper access policy for Amazon Elastic Search Cluster 的答案.但它不适用于我的情况。

    最佳答案

    您的 EC2 无法访问您的 ES 域可能存在一些问题。

  • EC2 未承担 ES 策略中提供的角色
  • 你不是 signing the request

  • 即使 EC2 承担 ES 策略中定义的角色但未发出签名请求,也会被拒绝访问。

    您可以避免使用 AWS ES REST API 发出签名请求。假设 EC2 在 VPC 中,您可以将静态 IP 分配给 NAT Gateway并在您的 ES 域策略中将该 IP 地址列入白名单。

    我的建议是使用原生 ES 客户端启用签名请求,因为它比 REST API 容易得多。

    关于amazon-web-services - 如何将我的 AWS Elastic Search Service 设为私有(private)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54270965/

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