gpt4 book ai didi

amazon-web-services - 使用 Kinesis Firehose 时 VPC 内的 Elasticsearch 持续出现 503 错误

转载 作者:行者123 更新时间:2023-12-02 19:11:10 26 4
gpt4 key购买 nike

我正在使用 Amazon Kinesis Data Generator将数据发送到测试 Kinesis Firehose Stream,以便在 Elasticsearch Service 集群中编制索引。

数据生成器发送一个相当基本的 json 文档进行处理,流元素工作正常,Lambda 转换也是如此。到目前为止,我已经验证并能够测试所有内容。只有当向我的 VPC 内的 Elasticsearch 发出请求时,我才会收到错误。

如果我将管道切换为使用公共(public) Elasticsearch 域,它工作正常,但是当我在我的 VPC 中使用 Elasticsearch 域时,我得到一个 503 error .这是每个请求的一致错误,因此不是容量问题。

这是我遇到的错误示例。只是一个通用的 503。我不确定这是来自负载均衡器还是目标(Elasticsearch 本身)。

{
"deliveryStreamARN": "arn:aws:firehose:eu-west-2:xxx:deliverystream/firehose-test",
"destination": "arn:aws:es:eu-west-2:xxx:domain/elasticsearch-test",
"deliveryStreamVersionId": 1,
"message": "Error received from Elasticsearch cluster. <html><body><h1>503 Service
Unavailable</h1>\nNo server is available to handle this request.\n</body></html>",
"errorCode": "ES.ServiceException",
"processor": "arn:aws:lambda:eu-west-2:xxx:function:transform-test:$LATEST"
}

VPC 内的其他应用程序可以毫无问题地使用 Elasticsearch 服务。这似乎是 Firehose 特有的东西。

我已经阅读并重新阅读了文档,但无法弄清楚为什么相同的数据管道在公共(public) ES 域中可以正常工作,但在我的 VPC 内的 ES 域中却不能。我仔细检查了所有角色、策略、安全组和子网。 Firehose 和 Elasticsearch 都使用相同的 VPC、安全组和子网。安全组的入站规则允许 HTTPS。一切看起来都是正确的,但仍然出现错误,并且没有在 Elastic 中建立索引。

我还阅读了这篇 AWS 博文大约 15 遍,但无济于事。 Ingest streaming data into Amazon Elasticsearch Service within the privacy of your VPC with Amazon Kinesis Data Firehose

最佳答案

因此,经过几天的痛苦之后,我意识到我的错误/Firehose 设置的怪癖。

我的 Elasticsearch 集群是多可用区。创建 Firehose 时,我只是让它根据预先存在的 Elasticsearch 域选择默认安全组。我只在 Firehose 上定义了一个安全组。如果您的 Elasticsearch 在 VPC 中,则需要两个。

  • 一个用于 Firehose 出站
  • 一个用于 Elasticsearch 入站(您可能已经有了)

然后需要使用 SG 规则将它们连接在一起。

Firehose Delivery Stream 设置向导不会警告您您只有一个安全组并且这将不起作用。 (也许它适用于单个可用区上的 Elasticsearch 域,但我还没有测试过。)

在创建 Firehose 传输流之前,您必须创建两个必需的安全组。

为允许 HTTPS/433 出站流量的 Firehose 端点创建第一个安全组。然后确保 Elasticsearch 域安全组允许入站 HTTPS/433 流量,特别是来自您刚刚创建的 Firehose 端点安全组。

这是所需内容的图表(来自这篇博文:Ingest streaming data into Amazon Elasticsearch Service within the privacy of your VPC with Amazon Kinesis Data Firehose) enter image description here

关于amazon-web-services - 使用 Kinesis Firehose 时 VPC 内的 Elasticsearch 持续出现 503 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64266717/

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