在我的工作中,我们继承了一种古老的,摇摇晃晃的Terraform结构和程序。由于时间的缘故,我们只能说现在修复或从头开始做的工作太多了。我对Terraform也很陌生,不知道很多最佳实践。
基本上我们现在的问题是,我们在构建和部署过程中使用了很多ami。我们希望确保保留当前作为启动配置的一部分使用的ami,但我们也希望在启动配置作为新部署的一部分被替换后删除旧的ami。目前,我们替换了启动配置,旧的AMI只是坐在那里,与新的AMI几乎无法区分,因为lc都有唯一的名称,它们不匹配AMI名称,它们使用TeamCity中的构建号。
是否有在不再需要这些ami时注销它们的最佳实践?一旦ami不在LC中使用,是否有办法删除它们,或者标记它们以便稍后通过自动化流程删除它们?人们一般是如何处理这些问题的?
AMI服务器作为备份,您可以从中启动新实例。"未使用"的定义AMI是特定于用例的,对于什么是未使用的AMI没有定义的概念。
对于一些人来说,它可能是一个月以前的AMI,对于另一些人来说,它可能是一个星期没有在实例中使用的AMI,对于你来说,它可能与你的当前版本的lc没有关联。
因此,您需要设计自己的解决方案来识别这样的ami。它可以以lambda函数的形式定期执行,并将您的ami列表与lc中的ami列表进行比较。