>我有一个在 EC2 实例上运行的 Elasticsearch 集群,我想每天自动备份快照。
我已经通读了快照和还原指南,并且我有可以创建快照的PUT命令。从我的研究中,我看到了几种自动化备份的方法。我发现的一个建议是使用 AWS 托管的 Elasticsearch。不幸的是,由于我们的其他约束,切换到托管 Elasticsearch 将不起作用。
我尝试的第一种方法是在其中一个节点上设置一个 cron 作业,该节点将进行适当的 REST 调用。但是,我意识到,如果运行命令的节点出现故障,则备份将不会运行。
我要使用的下一个方法是AWS Datapipeline。问题是似乎没有办法从数据管道发送 REST 调用 - 我可以运行 EC2 shell 命令,但随后我遇到了与以前相同的问题。
我想到的另一种方法是使用 CloudWatch 事件来调度将进行 REST 调用的 lambda 函数。这似乎效果最好,但对于自动化备份来说似乎也过于复杂。
有没有办法从Elasticsearch中自动备份?如果没有,是否有更简单的方法来使用 AWS 服务执行此操作?
对于在 7.3 之前的版本上运行的 Elasticsearch 集群,使用 CloudWatch 事件来调度一个 lambda 函数(该函数将使 REST 调用执行快照(是一种弹性的调度备份方式,因为它避免了对运行 cron 作业的单个节点的依赖,同时还执行可靠的 Elasticsearch 备份(有关详细信息,请参阅问题的评论(。
Elasticsearch 7.4 的一个新功能是快照生命周期管理,它允许您每天在特定时间使用快照自动备份 Elasticsearch 索引。
https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started-snapshot-lifecycle-management.html