Попытка создать 2 ASG в одном файле terraform - PullRequest
0 голосов
/ 17 мая 2019

Я пытаюсь создать конфигурацию запуска, ELB и 2 ASG. Я думаю, один ELB подходит для создания 2 ASG (я не уверен).

Итак, у меня есть конфигурация запуска и asg-код в одном файле, вызывающий модуль as. У меня вопрос, могу ли я создать 2 ASG, используя один файл terraform или с файлом в одном репо?

Также, пожалуйста, дайте мне знать, если это хорошая конфигурация.

когда я пытался поместить два разных файла, вызывающих один и тот же модуль, я получаю следующую ошибку.

Error downloading modules: Error loading modules: module asg: duplicated. module names must be unique

Код My Terraform:

auto_scaling.tf

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 в одной подсети.

1 Ответ

0 голосов
/ 18 мая 2019

Вы можете повторно использовать свой asg модуль - просто дайте обоим экземплярам разные имена ресурсов, например ::

module "asg1" {
...
}

module "asg2" {
...
}
...