0

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

  • 我们如何确保 ASG 用 Launch 配置中的每次更改替换现有实例,因为我相信,一旦您更改 LC,只有使用新 AMI 和现有那些没有被替换。

此外,您是否知道我们如何以编程方式(通过 terraform)获取在任何时间点运行的服务器数量,以防自动缩放?

任何帮助都在这里受到高度赞赏。谢谢!

4

1 回答 1

0

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

棘手的部分是在 LC 和 ASG 上表达“create_before_destroy”字段。您还应该参考 ASG 资源中的 LC。这样,一旦您的 LC 发生更改,您将触发一个创建新 ASG 的工作流程,以替换您当前的 ASG。

非常好的文档示例

此外,您是否知道我们如何以编程方式(通过 terraform)获取在任何时间点运行的服务器数量,以防自动缩放?

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

外部处理程序

旁注:在示例中,部署是使用 ELB 进行的。

于 2020-04-20T17:50:25.503 回答