Получить общедоступный DNS для экземпляров aws_autoscaling_group - PullRequest
0 голосов
/ 07 декабря 2018

Я хочу вывести общедоступный DNS для EC2, которые составляют мою группу автоматического масштабирования:

resource "aws_launch_configuration" "instances" {
  image_id        = "ami-0fad7824ed21125b1"
  instance_type   = "${var.instance_type}"
  security_groups = ["${aws_security_group.security_group_ec2.id}"]
  key_name        = "${var.key_pair_name}"

  user_data = "${data.template_file.user_data.rendered}"

  lifecycle {
    create_before_destroy = true
  }
}

resource "aws_autoscaling_group" "scaling_group" {
  launch_configuration = "${aws_launch_configuration.instances.id}"
  availability_zones   = ["${var.availability_zones_names}"]

  load_balancers    = ["${var.elb_id}"]
  health_check_type = "ELB"

  min_size = "${var.min_size}"
  max_size = "${var.max_size}"

  tags = {
    key                 = "Name"
    value               = "terraformUpAndRunning-${var.cluster_name}"
    propagate_at_launch = true
  }

  wait_for_capacity_timeout = "5m"
}

Я проверил атрибуты группы автоматического масштабирования в официальной документации Terraform, но могуНе думаю, что в любом из них, чтобы достичь моей цели ... Есть ли способ?

1 Ответ

0 голосов
/ 08 декабря 2018

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

Однако, если вы действительно хотите использовать Terraform для этой цели, существует источник данных, называемый aws_instances .Это дает вам возможность запрашивать и перечислять несколько экземпляров.

Вы также можете использовать awscli , чтобы распечатать детали экземпляра.Вот пример этого: Получение списка экземпляров в группе автоматического масштабирования EC2? .

...