【问题标题】:Connect to Elasticsearch Service from Lambda in the same VPC从同一 VPC 中的 Lambda 连接到 Elasticsearch 服务
【发布时间】:2018-12-28 07:32:07
【问题描述】:

如何在不应用 IAM 角色的情况下从 Lambda 函数访问 Elasticsearch Service 实例?

【问题讨论】:

    标签: aws-lambda aws-elasticsearch


    【解决方案1】:

    您需要配置两个安全组:

    • 配置 Lambda 函数以使用 VPC。
    • 创建一个 Lambda 安全组 (Lambda-SG) 并配置 Lambda 函数以使用它。
    • 创建一个 ElasticSearch 安全组 (ES-SG) 并配置 ElasticSearch 以使用它。
    • ES-SG 中,添加一条规则以允许来自Lambda-SG 在端口9300(或您的ES 使用的任何端口)上的入站连接。

    也就是说,ES-SG 应该引用Lambda-SG 以允许入站连接。

    【讨论】:

      【解决方案2】:

      您需要为 lambda 函数提供 IAM 角色,并提供 IAM 角色对 ES 的访问权限。

      【讨论】:

      • 这意味着如何协助 EC2 和 ElasticSearch 之间的连接?他们不通过 IAM 进行通信。
      • 我没有看到提到 EC2 的帖子?在同一个 VPC 中,Lambda 和 ES 之间已经存在连接,但是 Lambda 函数需要具有适当访问权限的 IAM 角色才能与其他 AWS 服务通信。 VPC 中的子网默认配置为允许通信
      • 哎呀,你是对的。它是 Lambda 而不是 EC2。但是,只有在调用 AWS 创建/删除 ES 集群时才需要 IAM。 IAM 不用于登录/使用 ES。
      • 我很确定如果您不提供 IAM 角色、Lambda 函数使用、访问 ES,它将无法与之对话。
      【解决方案3】:

      如果您的 Lambda 在 VPC 中运行,您可以将 ElasticSearch 访问策略配置为基于 IP 的策略。

      AWS 确实提供了各种访问策略的示例。

      IP based access policy

      【讨论】:

        猜你喜欢
        • 2020-03-02
        • 2019-03-07
        • 2019-05-23
        • 1970-01-01
        • 2021-07-23
        • 2021-01-07
        • 2018-05-04
        • 2018-10-20
        • 1970-01-01
        相关资源
        最近更新 更多