我有一个安全组的规则,其中包括以下代码。
ingress {
description = "1984 from xymon client"
from_port = local.xymon_port
to_port = local.xymon_port
protocol = local.tcp_proto
cidr_blocks = var.xymon_clients_cidr
}
变量仅包含编码为的多个CIDR范围
“xxx.xxx.xxx.0/24”, “xxx.xxx.xxx.0/24” etc
当我在变量中添加一个额外的CIDR范围并运行Terraform Plan时,它会出现
没有变化。您的基础结构与配置匹配。我可以应用更改的唯一方法是在AWS上手动更新,然后运行
terraform apply -refresh-only
他们是我编码的更好的方式吗?这样它就能识别更新了?
这似乎是ID 10 T错误。有一条生命周期规则,其中有一行写着
ignore_changes = [ingress]
我最初并没有写这段代码,只是没有向下滚动到足以看到这一点。
我认为这是因为地形计划总是想改变这个安全组,即使没有改变,这是一个简单的解决方案。我现在已经更改了代码,因此入口规则由security_group_rule应用,而不是直接在安全组中应用,这允许我在执行地形计划时删除忽略并获得预期行为。