terraform 自动缩放组销毁超时

Posted

技术标签:

【中文标题】terraform 自动缩放组销毁超时【英文标题】:terraform autoscaling group destroy timeouts 【发布时间】:2017-10-20 21:50:14 【问题描述】:

有什么方法可以更改 terraform 默认超时?

例如在terraform apply 上,我经常超时尝试销毁自动缩放组:

module.foo.aws_autoscaling_group.bar (deposed #0): Still destroying... (10m0s elapsed)
Error applying plan:

1 error(s) occurred:

 * aws_autoscaling_group.bar (deposed #0): group still has 1 instances

如果我重新运行 terraform apply,它会起作用。超时似乎是 10 分钟——我想将时间加倍,以便它可靠地完成。或者,有没有办法让 Auto Scaling 组更快地删除?

【问题讨论】:

这对你有用吗?我收到 [ERR] Error decoding timeout: Timeout Key (create) is not supported 用于自动扩展组...您介意分享一下您是如何将其添加到您的 ASG 资源声明中的吗? 【参考方案1】:

您可以在 terraform 中为特定资源添加超时

 timeouts 
    create = "60m"
    delete = "2h"
  

https://www.terraform.io/docs/configuration/resources.html

【讨论】:

感谢您的建议,但是(至少对于 Auto Scaling 组尤其如此),我得到:[ERR] Error decoding timeout: Timeout Key (create) is not supported ... 任何提示? asg 中有多少个实例?你能用 asg 资源发布你的 terraform 吗? 对于自动缩放组,答案说支持删除键,但不支持创建键。对于创建超时,您有更复杂的选项——请参阅terraform.io/docs/providers/aws/r/…【参考方案2】:

当我尝试使用terraform destroy 删除自动缩放组时,我遇到了同样的问题 我通过在资源创建部分添加以下行来解决问题:

    timeouts   
    delete = "60m"
  

【讨论】:

以上是关于terraform 自动缩放组销毁超时的主要内容,如果未能解决你的问题,请参考以下文章

具有自动缩放组的多个模板文件和使用 Terraform 的启动配置

Terraform 中的 ECS 服务如何连接到 AWS 自动缩放组

无法使用 terraform 从自动缩放挂钩创建 sns

在 Terraform 销毁期间,terraform 在销毁 Auto-scaling 组之前尝试销毁 ECS 集群并且失败了

在Terraform中为价格配置AWS自动扩展组?

在同一资源组中创建两个 VM,但 Terraform 不希望销毁第一个