在带有工作区的Terraform中创建EC2实例



我试图找出如何在两个不同的Terraform工作区之间创建不同数量的EC2实例。我的方法是将所有Terraform代码放在一个Github分支中。我想有一个aws_instance块,创建不同数量的实例,这些实例也是不同大小的EC2实例。在这种情况下,我计划在单独的环境中使用一个TFVARS文件来指定要使用的实例大小。任何关于如何最好地处理这种情况的建议都会很有帮助。我正在使用Terraform版本0.12.26

您可以简单地这样做:(staging有3个实例,其他工作区有1个实例)

resource "aws_instance" "cluster_nodes" {
count                  = terraform.workspace == "staging" ? 3 : 1
ami                    = var.cluster_aws_ami
instance_type          = var.cluster_aws_instance_type
# subnet_id            = aws_subnet.cluster_subnet[var.azs[count.index]].id
subnet_id              = var.public_subnet_ids[count.index]
vpc_security_group_ids = [aws_security_group.cluster_sg.id]
key_name               = aws_key_pair.cluster_ssh_key.key_name
iam_instance_profile   = "${aws_iam_instance_profile.cluster_ec2_instance_profile.name}"
associate_public_ip_address = true
tags = {
Name = "Cluster ${terraform.workspace} node-${count.index}"
}
}

最新更新