需求—客户需要一种自动化机制,每天对AWS ElasticSearch域(生产)进行手动快照。快照目标为AWS S3桶。
<<p>预期流/strong>- 每日日程安排@ 2am ->启动过程——>拍快照——>等5分钟——>检查快照状态(success/in_progress/failed)
- 如果是
state==IN_PROGRESS
,再次检查快照状态,最多10次,间隔5分钟state==SUCCESS
- end process (success)state==IN_PROGRESS
-当达到10次重试(50分钟)时,结束进程(失败)state==FAILED
-结束进程(失败)
- 如果上一步失败,发送推送通知(Slack/Teams/Email/等)
动机—通过AWS获取的自动快照可以用于灾难恢复或升级失败,如果有人不小心(是的,它发生了)删除了整个ElasticSearch集群,则无法使用。
还没有找到一个开箱即用的Lambda/机制来满足需求。建议吗?想法吗?
p。s-我在VPC中使用AWS步骤函数+ Lambda做了一个POC,这似乎是有效的,但我宁愿使用托管服务或一个活的开源项目。
如果您不小心删除了AWS Elasticsearch域,AWS Support可以帮助您恢复该域及其最新快照。这在文档中没有列出,因为理想情况下,这不应该是您的第一个赌注。
假设这种情况很少见,您应该没问题。但是,如果您认为您的AWS ES集群很有可能一次又一次地被删除,那么您最好设置一个lambda函数来将最新的快照保存到您自己的S3存储桶中。这也将节省您对AWS支持的依赖。
AWS Elasticsearch具有意外删除保护。如果您错误地删除了域名,AWS elasticsearch可以在14天内恢复它。希望能解决你的问题。