You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Terraform无代码变更时重复重建AWS EC2实例问题求助

问题原因与修复方案

本次EC2实例重复重建的问题由两处配置错误导致,修复方法如下:

1. 安全组参数使用错误

VPC环境下的EC2实例指定subnet_id参数时,必须使用vpc_security_group_ids参数传递安全组ID列表,你当前使用的security_groups是EC2经典网络的遗留参数,VPC场景下使用该参数会导致Terraform本地状态与AWS云端实际返回值不匹配,每次执行terraform plan/terraform apply都会触发EC2强制重建。

2. 参数类型不匹配

associate_public_ip_address参数要求传入布尔类型值,你当前配置的是字符串"true",类型不匹配也会引发配置漂移。

修复后的EC2实例配置

将ec2.tf中的aws_instance资源修改为以下内容即可:

# Adding a test Server
resource "aws_instance" "tc-amazlinux01" {
  ami                         = "ami-0e341fcaad89c3650"
  instance_type               = "t4g.small"
  key_name                    = aws_key_pair.deployer.key_name
  subnet_id                   = aws_subnet.sub-sandbox1a.id
  associate_public_ip_address = true
  vpc_security_group_ids = [
    aws_security_group.sandbox.id
  ]

  tags = {
    Name      = "tc-amazlinux01"
    Terraform = "True"
  }
}

修改完成后执行一次terraform apply更新配置,后续再次执行terraform plan/terraform apply就不会出现EC2重复重建的提示。

内容的提问来源于stack exchange,提问作者Brandon Young

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 06:15:03