Каждый раз, когда я запускал план / заявку, двое из aws_route_table_association
ресурсы принудительно воссоздаются:
Terraform will perform the following actions:
<= module.mon.data.aws_subnet_ids.snetid
id: <computed>
ids.#: <computed>
tags.%: "1"
tags.Name: "zencopl-mon-*"
vpc_id: "vpc-0xxxxxxxxxxxxxxf"
-/+ module.mon.aws_route_table_association.snet[0] (new resource required)
id: "rtbassoc-058a3a92f42c51c9b" => <computed> (forces new resource)
route_table_id: "rtb-05401d41b7281d81f" => "rtb-05401d41b7281d81f"
subnet_id: "subnet-032a4ee6fc6ebe945" => "${data.aws_subnet_ids.snetid.ids[count.index]}" (forces new resource)
-/+ module.mon.aws_route_table_association.snet[1] (new resource required)
id: "rtbassoc-09858f67c89412e90" => <computed> (forces new resource)
route_table_id: "rtb-05401d41b7281d81f" => "rtb-05401d41b7281d81f"
subnet_id: "subnet-0bd026945b213219d" => "${data.aws_subnet_ids.snetid.ids[count.index]}" (forces new resource)
Похоже, это из-за источника данных, который я определил для получения идентификатора подсети:
data "aws_subnet_ids" "snetid" {
vpc_id = "${var.vpc_ids[var.idx]}"
depends_on = [ "aws_subnet.snets" ]
tags = {
Name = "${var.vpc_names[var.idx]}-${var.inst_role}-*"
}
}
а затем он используется так:
locals {
a_zones = ["${slice(data.aws_availability_zones.azs.names,0,2)}"]
}
#
resource "aws_route_table_association" "snet" {
count = "${length(local.a_zones)}"
route_table_id = "${aws_route_table.rtb.id}"
subnet_id = "${data.aws_subnet_ids.snetid.ids[count.index]}"
depends_on = [ "aws_subnet.snets" ]
}
#
module "mon" {
source = "../../modules/core-network"
idx = "0"
inst_role = "mon"
vpc_names = "${module.vpc.vpc_names}"
vpc_ids = "${module.vpc.vpc_ids}"
......
......
}
и я не могу узнать, что изношено (или это ошибка). Я пробовал использовать lifecycle { ignore_changes = [ .... ]}
но не мог понять, что игнорировать. Хотя это не создает реальной проблемы (со стороны развертывания), но создает много путаницы и действительно хочет исправить это. Может ли кто-нибудь указать, что я делаю неправильно или упускаю? Спасибо заранее !!
-Сан