【发布时间】:2020-11-28 03:20:57
【问题描述】:
我正在尝试使用弹性搜索订阅过滤器将流 cloudwatch 日志记录到弹性搜索。 我想用 terraform 自动化,但没有找到 terraform 是否支持这种资源类型。 请告诉我是否可行。
【问题讨论】:
标签: elasticsearch aws-lambda terraform amazon-cloudwatch terraform-provider-aws
我正在尝试使用弹性搜索订阅过滤器将流 cloudwatch 日志记录到弹性搜索。 我想用 terraform 自动化,但没有找到 terraform 是否支持这种资源类型。 请告诉我是否可行。
【问题讨论】:
标签: elasticsearch aws-lambda terraform amazon-cloudwatch terraform-provider-aws
在 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。
【讨论】: