Amazon CloudWatch SubscriptionFilter 弹性搜索 Terraform 支持

Posted

技术标签:

【中文标题】Amazon CloudWatch SubscriptionFilter 弹性搜索 Terraform 支持【英文标题】:Amazon CloudWatch SubscriptionFilter Elastic search Terraform support 【发布时间】:2020-11-28 03:20:57 【问题描述】:

我正在尝试使用弹性搜索订阅过滤器将流 cloudwatch 日志记录到弹性搜索。 我想用 terraform 自动化,但没有找到 terraform 是否支持这种资源类型。 请告诉我是否可行。

【问题讨论】:

【参考方案1】:

在 AWS REST API 或 AWS CLI 中,没有订阅ElasticSearch。只有以下订阅是supported:

与订阅过滤器属于同一账户的 Amazon Kinesis 流,用于同一账户交付。

属于不同帐户的逻辑目的地,用于跨帐户传送。

与订阅过滤器属于同一账户的 Amazon Kinesis Firehose 交付流,用于同一账户交付。

一个与订阅过滤器属于同一账户的 AWS Lambda 函数,用于同一账户交付。

您在 AWS 控制台中看到的是 仅限控制台 的快捷方式。基本上,当您创建 ES 的“订阅”时,控制台只会提供一个 lambda 函数并创建订阅。 lambda 将获取日志事件并注入到 ES 域中。

因此,要在 terraform 中将日志注入 ES,您必须自己构建这样的“订阅”。这是通过实际订阅 lambda 函数来完成的。为了简化开发,您可以使用 AWS 创建的 lambda 函数并使用它,而不是开发自己的代码来将日志注入 ES。

【讨论】:

以上是关于Amazon CloudWatch SubscriptionFilter 弹性搜索 Terraform 支持的主要内容,如果未能解决你的问题,请参考以下文章

AWS:将日志从 Amazon CloudWatch 导出到 Amazon Redshift

Amazon CloudWatch SubscriptionFilter 弹性搜索 Terraform 支持

如何将日志从 Amazon S3 存储桶导入到 cloudwatch

无法通过node.js从lambda获取Amazon CloudWatch日志

对于 Amazon Web Services 上极短的流量峰值,正确的 Cloudwatch/Autoscale 设置是啥?

访问 AWS Lambda 的 Amazon CloudWatch 日志