从 AWS mysql RDS 获取数据到 AWS Elasticsearch 的最简单方法?

Simplest way to get data from AWS mysql RDS to AWS Elasticsearch?

我在 AWS RDS 中有数据,我想将其通过管道传输到 AWS ES 实例,最好每小时更新一次,或类似方式。

在我的本地机器上,使用本地 mysql 数据库和 Elasticsearch 数据库,使用 Logstash 很容易设置它。

是否有 "native" AWS 方法来做同样的事情?还是我需要自己架设 EC2 服务器并在上面安装 Logstash?

您可以使用本地 Logstash 实现相同的目的,只需将您的 jdbc 输入指向您的 RDS 数据库并将 elasticsearch 输出指向您的 AWS ES 实例。如果您需要定期 运行 这个,那么是的,您需要在其上设置一个 运行 Logstash 的小实例。

实现相同目的的 "native" AWS 解决方案包括使用 Amazon Kinesis and AWS Lambda

这里有一个 good article 解释如何将它们连接在一起,即:

  • 如何将 RDS 数据流式传输到 Kinesis Stream
  • 配置 Lambda 函数来处理流
  • 将数据推送到您的 AWS ES 实例

看看 Amazon DMS。它通常用于数据库迁移,但是,它也支持连续数据复制。这可能会简化流程并具有成本效益。

You can use AWS Database Migration Service to perform continuous data replication. Continuous data replication has a multitude of use cases including Disaster Recovery instance synchronization, geographic database distribution and Dev/Test environment synchronization. You can use DMS for both homogeneous and heterogeneous data replications for all supported database engines. The source or destination databases can be located in your own premises outside of AWS, running on an Amazon EC2 instance, or it can be an Amazon RDS database. You can replicate data from a single database to one or more target databases or data from multiple source databases can be consolidated and replicated to one or more target databases.

https://aws.amazon.com/dms/