在EC2上运行的Elasticsearch集群上自动执行快照

时间:2019-09-30 18:13:55

标签: amazon-web-services elasticsearch amazon-ec2

我有一个在EC2实例上运行的Elasticsearch集群,我想自动执行快照以每天进行备份。

我已经阅读了《快照和还原》指南,并拥有可以创建快照的PUT命令。从我的研究中,我已经看到了几种自动执行备份的方法。我发现的一个建议是使用AWS托管的Elasticsearch。不幸的是,由于我们的其他限制,切换到托管Elasticsearch无效。

我尝试的第一种方法是在一个将进行适当REST调用的节点上设置cron作业。但是我意识到,如果运行该命令的节点出现故障,则备份将无法运行。

我接下来要使用的下一种方法是AWS Datapipeline。问题在于,似乎没有一种方法可以从Datapipeline发送REST调用-我可以运行EC2 shell命令,但随后会遇到与以前相同的问题。

我想到的另一种方法是使用CloudWatch事件来安排将进行REST调用的lambda函数。看来这可能效果最好,但是对于自动执行备份来说似乎也太复杂了。

是否可以从Elasticsearch内部自动执行备份?如果没有的话,有没有更简单的方法可以使用AWS服务呢?

1 个答案:

答案 0 :(得分:0)

对于在7.3之前的版本上运行的Elasticsearch集群,使用CloudWatch事件安排将执行REST调用以执行快照的lambda函数是一种安排备份的弹性方式,因为它避免了对运行单个节点的依赖。 cron作业,同时还执行可靠的Elasticsearch备份(有关详细信息,请参阅问题注释)。

Elasticsearch 7.4的一项新功能是快照生命周期管理,它使您可以每天在特定时间使用快照自动备份Elasticsearch索引。

https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started-snapshot-lifecycle-management.html