- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 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 中,则需要两个。
然后需要使用 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)
关于amazon-web-services - 使用 Kinesis Firehose 时 VPC 内的 Elasticsearch 持续出现 503 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64266717/
我正在将 Java API 用于 Kinesis Firehose,并在可能的情况下利用 putRecordBatch()。但是,在我的应用程序中,我偶尔只发送一条记录,无法等待更多记录或将其缓存在内
我正在处理一个添加到 S3 的 XML 文件并将结果写入到 firehose,并将结果存储在同一个 S3 存储桶中,但目标文件名必须采用特定格式。我检查了文档,但看不到任何设置文件名格式的方法。我能找
按照此 guide 并创建 Kinesis Firehose 流。 我已按照指南进行操作,当我开始创建订阅过滤器(步骤 12)时,我在尝试发送到 S3 时遇到此错误: 调用 PutSubscripti
AWS Firehose已于今天发布。我正在研究它,并试图弄清楚如何使用AWS CLI将数据放入流中。我有一个简单的JSON有效负载和对应的Redshift表,其中的列映射到JSON属性。我尝试了各种
我正在尝试使用 Firehose API (JS)我不断收到以下错误: "InvalidArgumentException: Firehose is unable to assume role arn
我试图了解是否可以使用 kinesis firehose 将数据索引到 elasticsearch 到多个索引,方法是将索引名称和类型传递给它(类似于 elasticsaerch bulk api)
是否可以异步向 AWS 发送请求?在真正意义上。 如果我尝试以某种方式发送消息,则消息未送达: $firehose = new FirehoseClient($args); /
我将 AWS Kinesis Firehose 与自定义数据转换结合使用。 Lambda 用 Python 3.6 编写并返回如下所示的字符串: { "records": [
我有一个应用程序,我想构建一个包含 2-3 种组合事件类型的“最近事件”/firehose feed,例如帖子、评论和帖子点赞,以及其他内容 + 稍后可能会更多。我假设这是通过查询添加到数据库中的最后
我遇到了这个最可怕的场景,我想读取 kinesis firehose 在我们的 S3 上创建的文件。 Kinesis firehose 创建的文件并不是每个 json 对象都在一个新行上,而是一个 j
这个 11 年级的问题自 2010 年以来一直困扰着我,即使在大学毕业后我仍然无法弄清楚/找到解决方案。 Problem Description There is a very unusual str
我有以下 lambda 函数作为 Kinesis firehose 记录转换的一部分,它将 msgpack 记录从 kinesis 输入流转换为 json。 Lambda 运行时:python 3.6
我有一个用例,我必须每秒从不同的生产者收集数千条记录,并使用 AWS firehose 将它们推送到 Elasticsearch 。我还在 firehose 上使用数据转换 lambda,它在将记录传
所以我们有 100 种不同类型的消息进入我们的 Kinesis 流。我们只想保存 4 种类型。我知道 Kinesis 可以转换消息,但它也可以过滤吗?这是怎么做到的? 最佳答案 过滤只是一种转换,您可
账户 A 是我在其中创建 Kinesis 流的应用程序账户,我想在账户 B 中创建 Firehose 以从账户 A Kinesis 流中读取。这可能吗?我尝试按照 ( https://medium.c
将记录写入到配置为 S3 作为输出目标的 AWS Firehose 时,此数据在写入 S3 之前缓冲了多长时间?或者是否有最小尺寸阈值? 例如,我正在执行以下操作来添加记录: aws cli: aws
我正在为 S3 设置 Kinesis Firehose 传输流,我注意到您可以设置自定义 KMS key 以用于加密 S3 上的文件。 但是,如果 S3 存储桶已启用 KMS 加密,则无论如何都会对文
我已经阅读了很多关于向 firehose 添加换行符的类似问题,但它们都围绕着将换行符添加到源代码中。问题是我无权访问源,第三方正在将数据传输到我们的 Kinesis 实例,我无法将 '\n' 添加到
我正在尝试将一些数据从 API(谷歌股票/金融 API)写入我的 AWS Firehose 流。我已经在 Eclipse 上下载并安装了 AWS 插件,在 AWS 上设置了我的 Firehose 流,
您好,我正在尝试将 kinesis firehose 与 S3 结合使用。我试着阅读那些 s3 文件。我正在使用 GO 阅读它。 但是,我无法解析 JSON,因为值只是在没有任何分隔符的情况下附加。
我是一名优秀的程序员,十分优秀!