我有一个免费套餐帐户,我创建堆栈来了解 AWS 的工作原理。有时我忘记删除堆栈,它会保持事件状态好几天,用完我的免费套餐时间。
我可以让我创建的每个堆栈在一段时间(例如 1 天)后删除吗?我认为可以通过向模板添加某些内容或添加一些标签来实现。
最佳答案
TheeCodeDragon 似乎已经发布了一个带有自删除堆栈的答案,可以解决您的问题。这里有一些其他解决方案。
计划自动缩放
如果您的主要资源是 EC2 实例,并且您在自动扩展组中配置它们并为您的组设置扩展至 0 的计划。我们这样做是为了让实例在周末(即下午 6:00 之后)消失。然后我们的开发环境会在周一早上扩大规模,这样我们就不会在开发环境中浪费金钱。 http://docs.aws.amazon.com/autoscaling/latest/userguide/schedule_time.html#create-sch-actions
Lambda(云的 Cron)
当管理功能不存在时,十分之九你可以编写一个 lambda 函数来按计划运行来处理它。您可以编写一个 lambda 函数,该函数每隔“X”间隔或时间段运行一次,并在您配置的堆栈上执行删除堆栈。 Lambda 可以通过 CloudFormation 设置。
部署说明:
我看到您关于默认情况下未安装 CLI 的评论。即使对于开发人员,我也使用 AWS codebuild。与 Jenkins 相当的 self 管理的无服务器构建工具。如果您使用它来运行模板,则 CLI 已安装。需要注意的是,您需要让它从源代码管理或 s3 中提取您的项目。我使用 codecommit 因为设置很简单。
关于amazon-web-services - 超时后自动删除CloudFormation Stack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47219289/