我正在尝试创建启动配置ELB和2 ASG。我猜一个ELB可以创建2个ASG(我不确定)。
所以我在一个名为as模块的文件中有一个启动配置和asg代码。我的问题是,我可以使用单个terraform文件还是单个回购中的文件来创建2个ASG?
另外,请告诉我这是否是一个好的配置。
当我尝试放置两个不同的文件调用同一模块时,出现以下错误。
Error downloading modules: Error loading modules: module asg: duplicated. module names must be unique
我的Terraform代码:
resource "aws_launch_configuration" "launch_config" {
image_id = "${var.ec2ami_id}"
instance_type = "${var.ec2_instance_type}"
security_groups = ["${aws_security_group.*******.id}"]
key_name = "${var.keypair}"
lifecycle {
create_before_destroy = true
}
}
module "asg" {
source = ****
name = "*****"
environment = "***"
service = "****"
product = "**"
team = "****"
owner = "*****"
ami = "${var.ec2_id}"
#instance_profile = "******"
instance_type = "t2.micro"
ebs_optimized = true
key_name = "${var.keypair}"
security_group = ["${aws_security_group.****.id}"]
user_data = "${path.root}/blank_user_data.sh"
load_balancer_names = "${module.elb.elb_name}"
associate_public_ip = false
asg_instances = 2
asg_min_instances = 2
asg_max_instances = 4
root_volume_size = 250
asg_wait_for_capacity_timeout = "5m"
vpc_zone_subnets = "${module.vpc.private_subnets}"
}
###elb.tf###
module "elb" {
source = "*****"
name = "***elb"
subnet_ids = "${element(split(",",
module.vpc.private_subnets), 0)}"
security_groups = "${aws_security_group.****.id}"
s3_access_logs_bucket = "****"
}
我想在一个子网中创建2个ASG。
答案 0 :(得分:0)
您可以重复使用asg
模块-只需为两个实例指定不同的资源名称,例如:
module "asg1" {
...
}
module "asg2" {
...
}