Сбой Terraform Apply при попытке создать экземпляр AWS с CoreOS AMI ID из-за ошибки, связанной с рынком AWS - PullRequest
1 голос
/ 20 мая 2019

Я создал конфигурацию запуска, которая содержит AWS CoreOS AMI в качестве образа. Это было добавлено в AWS Auto Scaling Group. Все вышеперечисленное было сделано через Terraform. Но когда группа автоматического масштабирования пытается создать экземпляр, происходит сбой со следующей ошибкой.

StatusMessage: "In order to use this AWS Marketplace product you need to accept terms and subscribe. To do so please visit https://aws.amazon.com/marketplace/pp?sku=ryg425ue2hwnsok9ccfastg4. Launching EC2 instance failed."

Кажется, что я должен подписаться, чтобы использовать этот образ CoreOS AMI, но когда я создаю и создаю экземпляр на консоли AS, я просто выбираю образ CoreOS с рынка и продолжаю другие конфигурации, связанные с экземпляром. Но как этого добиться в Terraform? Стоит ли заранее подписаться на AWS CoreOS AMI или есть способ обойти это в Terraform?

Все связанные файлы и ошибки приведены ниже,

файл launch-configuration.tf

resource "aws_launch_configuration" "tomcat-webapps-all" {
  name                 = "tomcat-webapps-all"
  image_id             = "ami-028e043d0e518a84a"
  instance_type        = "t2.micro"
  key_name             = "rnf-sec"
  security_groups      = ["${aws_security_group.allow-multi-tomcat-webapp-traffic.id}"]
  user_data            = "${data.ignition_config.webapps.rendered}"
}

Файл auto-scale-group.tf

resource "aws_autoscaling_group" "tomcat-webapps-all-asg" {
  name                      = "tomcat-webapps-all-asg"
  depends_on                = ["aws_launch_configuration.tomcat-webapps-all"]
  vpc_zone_identifier       = ["${aws_default_subnet.default-az1.id}", "${aws_default_subnet.default-az2.id}", "${aws_default_subnet.default-az3.id}"]
  max_size                  = 1
  min_size                  = 0
  health_check_grace_period = 300
  health_check_type         = "EC2"
  desired_capacity          = 1
  force_delete              = true
  launch_configuration      = "${aws_launch_configuration.tomcat-webapps-all.id}"
  target_group_arns         = ["${aws_lb_target_group.newdasboard-lb-tg.arn}", "${aws_lb_target_group.signup-lb-tg.arn}"]
}

Ошибка трассировки

Error: Error applying plan:

1 error(s) occurred:

* aws_autoscaling_group.tomcat-webapps-all-asg: 1 error(s) occurred:

* aws_autoscaling_group.tomcat-webapps-all-asg: "tomcat-webapps-all-asg": Waiting up to 10m0s: Need at least 1 healthy instances in ASG, have 0. Most recent activity: {
  ActivityId: "9455ab55-426a-c888-ac95-2d45c78d445a",
  AutoScalingGroupName: "tomcat-webapps-all-asg",
  Cause: "At 2019-05-20T12:56:29Z an instance was started in response to a difference between desired and actual capacity, increasing the capacity from 0 to 1.",
  Description: "Launching a new EC2 instance.  Status Reason: In order to use this AWS Marketplace product you need to accept terms and subscribe. To do so please visit https://aws.amazon.com/marketplace/pp?sku=ryg425ue2hwnsok9ccfastg4. Launching EC2 instance failed.",
  Details: "{\"Subnet ID\":\"subnet-c650458f\",\"Availability Zone\":\"ap-southeast-1a\"}",
  EndTime: 2019-05-20 12:56:30 +0000 UTC,
  Progress: 100,
  StartTime: 2019-05-20 12:56:30.642 +0000 UTC,
  StatusCode: "Failed",
  StatusMessage: "In order to use this AWS Marketplace product you need to accept terms and subscribe. To do so please visit https://aws.amazon.com/marketplace/pp?sku=ryg425ue2hwnsok9ccfastg4. Launching EC2 instance failed."
}

Ответы [ 2 ]

1 голос
/ 20 мая 2019

Если вы войдете в консоль и примете условия ULA, как только эта ошибка исчезнет, ​​если вы примените ее через terraform.

Если бы я был вами, я бы выполнил вход, пройдите весь процесс, чтобы запуститьэкземпляр с этим AMI, завершите его, затем примените terraform.

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

Если у кого-то также возникла такая же проблема, я смог ее решить, войдя в консоль EC2 с пользователем root и подписавшись на страницу продукта AWS CoreOS на AWS Marketplace.

После этого все заработало как положено.Ошибка была возвращена с помощью веб-ссылки на страницу продукта CoreOS на AWS Marketplace.Просто нажмите кнопку «Продолжить подписку».

Если вышеуказанные шаги не сработали, обратитесь к этому ответу - https://stackoverflow.com/a/56222898/4334340

...