【发布时间】:2018-09-26 06:27:55
【问题描述】:
我想在 3 个不同的区域创建 3 个 ec2 实例。我正在使用 terraform 的迭代和计数索引功能。但我无法在 aws 提供程序中为区域参数应用相同的功能。
provider "aws" {
region = "${element(var.region, count.index)}"
}
我在哪里传递如下值。
region = [ "us-east-1" , "eu-central-1" ]
instance_type = [ "t2.small" , "t2.micro" ]
terraform init 后出现以下错误。
count 变量只在资源内有效
【问题讨论】:
-
正如错误消息所说,您不能这样做。无论如何,您都需要为每个别名指定单独的别名。
-
忘了提,但我想有一个通用的解决方案。添加别名意味着硬编码修复区域。
-
是的,不幸的是,这是 Terraform 的限制。如果您可以扩展您的需求可能会更好,也许有更好的解决方案。
-
嗯。因为我有多区域部署,所以现在为每个区域生成单独的 terraform.tfvars 文件。谢谢好友@ydaetskcoR
标签: amazon-ec2 terraform