AWS ElasticSearch - 自动化手动快照

AWS ElasticSearch - Automating manual snapshots

要求 - 客户需要一种自动化机制,每天获取 AWS ElasticSearch 域(生产)的 manual snapshot。快照的目标是 AWS S3 存储桶。

预期流量

  1. 每天凌晨 2 点安排 --> 启动进程 --> 拍摄快照 --> 等待 5 分钟 --> 检查快照状态 (success/in_progress/failed)
  2. 如果state==IN_PROGRESS,再次检查快照状态,最多10次,间隔5分钟
    • state==SUCCESS - 结束进程(成功)
    • state==IN_PROGRESS - 当达到 10 次重试(50 分钟)时,结束进程(失败)
    • state==FAILED - 结束进程(失败)
  3. 如果上一步失败,发送推送通知(Slack/Teams/Email/etc。)

动机 - AWS 拍摄的自动快照可用于灾难恢复或升级失败,如果有人不小心(是的,它发生了)删除了整个 ElasticSearch 集群。

尚未找到符合要求的开箱即用 Lambda/mechanism。建议?想法?

p.s- 我在 VPC 中使用 AWS Step Functions + Lambda 进行了 POC,这似乎有效,但我宁愿使用托管服务或实时开源项目。

AWS Elasticsearch 有意外删除保护。如果您误删除了域,AWS elasticsearch 可以在 14 天内恢复它。 希望这能解决您的问题。

如果您不小心删除了 AWS Elasticsearch 域,AWS Support 可以帮助您恢复域及其最新快照尽最大努力.这未在文档中列出,因为理想情况下这不应该是您的第一个赌注。

假设这种情况很少见,您应该没问题。但是,如果您认为您的 AWS ES 集群很有可能一次又一次地被删除,您最好设置一个 lambda 函数以将最新快照保存在您自己的 S3 存储桶中。这也将使您免于依赖 AWS 支持。