通过Terraform新增EBS卷触发AMI变更致EC2重建问题求助
求助:Terraform新增EBS卷触发EC2实例销毁重建的解决方案
我在给一台已挂载3个卷的运行中Windows EC2实例通过Terraform新增3个EBS卷时,操作触发了AMI变更检测,导致Terraform计划显示需要销毁并重建该EC2实例。我已经在lifecycle中配置忽略ami、private_ip、root_block_device的变更,且相同逻辑的代码在另一套升级过Terraform版本的基础设施中可以正常运行,现寻求同类问题的解决方案或排查思路。
环境信息
- Terraform版本要求:
required_version = ">= 0.13"
关键代码片段
生命周期忽略配置
lifecycle { ignore_changes = [ami, private_ip, root_block_device] }
EBS块设备属性定义
db_instance_ebs_block_device = [ { device_name = "xvdb" snapshot_id = null volume_type = "gp2" volume_size = 150 delete_on_termination = "true" encrypted = "true" }]
EBS块设备动态添加代码
dynamic "root_block_device" { for_each = var.root_block_device == null ? [] : tolist([var.root_block_device]) content { volume_type = lookup(root_block_device.value, "volume_type", null) volume_size = lookup(root_block_device.value, "volume_size", null) iops = lookup(root_block_device.value, "iops", null) delete_on_termination = lookup(root_block_device.value, "delete_on_termination", null) encrypted = lookup(root_block_device.value, "encrypted", null) kms_key_id = lookup(root_block_device.value, "kms_key_id", null) } }
Terraform计划截图


内容的提问来源于stack exchange,提问作者CharlesDeeZee
相关产品推荐
相关产品推荐

