如何确保ASG(自动缩放组)在启动配置中的每次更改都会替换现有实例



基础设施是使用地形代码提供的。在我们的AWS环境中,我们为对存储库的每一次提交都创建了一个新的AMI。现在,如果我们想使用这个新的AMI 为ALB后面的web服务器配置自动缩放

  • 我们如何确保ASG在启动配置的每一次更改中都会替换现有实例,因为我相信,一旦您更改LC,只有在扩展/扩展之外创建的实例才会使用新的AMI启动,而现有实例不会被替换

此外,你知道在自动伸缩的情况下,我们如何从语法上(通过terraform(获得在任何时间点运行的服务器数量吗?

我们非常感谢您的帮助。谢谢

在大多数情况下,这非常简单,而且网络上已经有十几种实现。

棘手的部分是在LC和ASG上表达"create_before_delete"字段。您还可以参考ASG资源中的LC。这样,一旦你的信用证被更改,你就会触发一个工作流,创建一个新的ASG,取代你当前的ASG。

非常好的记录示例

此外,你知道我们如何在语法上(通过terraform(获取在任何时间点运行的服务器数量,以防自动缩放?

这取决于上下文。如果你有一个静态数字,这很容易,你可以在你的模块中定义它,并坚持使用它。如果它是关于传递以前的ASG值,上面的指南中会再次描述这种方式:(你需要编写一个自定义的外部处理程序,以确定你在目标组周围"当前"运行的实例的数量。当然,可能会有一个新的AWS REST API添加,让您有机会查询所有目标组的健康检查属性,并获得它们的总和(不知道(。然后,您可以添加一些用于扩展策略的自定义规则。

外部处理器

附带说明:在该示例中,部署是使用ELB进行的。

最新更新