事故发生后,Alexey 在社区公开了完整复盘,明确指出这是一起典型的人为责任事故,而非 AI 工具的问题。他也针对此次经历,做出了一系列关键调整。
首先,他改变了 Claude Code 的使用方式。现在,他关闭了 Claude Code 的所有自动执行权限,不允许其直接写文件或运行命令。AI 仅用于生成 Terraform plan,然后由他本人进行人工检查,再手动执行实际操作。
其次是完善了数据备份与防护机制。Alexey 坦言,自己此前从未考虑到数据库删除时,快照会一同消失,这也是他的重大疏忽。为此,他在数据库管理中新增了多层备份策略,包括独立于 Terraform 生命周期的备份,以及 S3 数据备份,避免核心数据与基础设施配置绑定删除。同时,他启用了数据库删除保护功能,从源头防止误操作直接删除数据库。
为了确保备份真正可用,Alexey 还搭建了自动化恢复流程:每天凌晨创建备份后,系统会自动恢复一个数据库副本,并执行简单查询,验证数据的完整性与可用性,杜绝 “备份存在但无法恢复” 的情况。
Alexey 在复盘文章中直言,此次事故的核心问题,在于自己过度依赖 AI 工具与自动化流程。他将 terraform plan、apply 甚至 destroy 全部交给 AI 处理,相当于撤掉了基础设施管理中最后一道人工审核的防线。
同时,他对备份的依赖只停留在表面,从未真正验证过恢复流程的可行性,也没有设置足够的保护措施,才导致生产环境被删除时,一度陷入数据可能永久丢失的危机。
这次经历也让他意识到,在自动化和 AI 工具越来越普及的时代,基础设施管理的基本原则依然没有改变:自动化可以提高效率,但关键决策仍然需要人来承担。
来源:https://alexeyondata.substack.co ... production-database
点评
关闭了 Claude Code 的所有自动执行权限,不允许其直接写文件或运行命令。
在于自己过度依赖 AI 工具与自动化流程。他将 terraform plan、apply 甚至 destroy 全部交给 AI 处理,相当于撤掉了基础设施管理中最后一道人工审核的防线。这说来说去不还是大模型AI有问题吗.