1
resposta

Erro ao criar o AutoScaling Group

Poderia me ajudar nesse caso? Ao executar o terrafor apply ele informa esse erro na criação do Auto Scaling Group:

module.aws-prod.aws_autoscaling_group.grupo: Creating... ╷ │ Error: creating Auto Scaling Group (Prod): ValidationError: You must use a valid fully-formed launch template. Value () for parameter groupId is invalid. The value cannot be empty │ status code: 400, request id: c278f912-58e9-4969-bdf9-b1dc8a703b5e │ │ with module.aws-prod.aws_autoscaling_group.grupo, │ on ../../infra/main.tf line 30, in resource "aws_autoscaling_group" "grupo": │ 30: resource "aws_autoscaling_group" "grupo" {

no Main.tf a configuração esta desta forma:

terraform { required_providers { aws = { source = "hashicorp/aws" version = "~> 4.16" } }

required_version = ">= 1.2.0" }

provider "aws" { region = var.regiao_aws }

resource "aws_launch_template" "maquina" { image_id = "ami-007855ac798b5175e" instance_type = var.instancia key_name = var.chave tags = { Name = "Terraform Ansible Python" } security_group_names = [ var.grupodeseguranca ] } resource "aws_key_pair" "chaveSSH" { key_name = var.chave public_key = file("${var.chave}.pub") }

resource "aws_autoscaling_group" "grupo" { availability_zones = [ "${var.regiao_aws}a" ] name = var.nomeGrupo max_size = var.maximo min_size = var.minimo launch_template { id = aws_launch_template.maquina.id version = "$Latest" } }

Desde já agradeço,

1 resposta

Olá, Antonio

A mensagem de erro que você está recebendo indica que o parâmetro groupId no seu Auto Scaling Group não está sendo preenchido corretamente. Isso pode estar acontecendo porque o grupo de segurança que você está tentando usar no seu Auto Scaling Group não está sendo criado corretamente.

No seu código, você está tentando usar o nome do grupo de segurança para preencher esse parâmetro, mas o Terraform espera o ID do grupo de segurança.

Na sua configuração do Launch Template, em vez de usar security_group_names, você deve usar vpc_security_group_ids e fornecer a ID do grupo de segurança que você criou.

Aqui está um exemplo de como você pode fazer isso:

resource "aws_security_group" "example" {
  name = "example"
  // ... outros parâmetros ...
}

resource "aws_launch_template" "maquina" {
  // ... outros parâmetros ...
  vpc_security_group_ids = [aws_security_group.example.id]
}

No exemplo acima, eu criei um grupo de segurança chamado "example" e usei o ID desse grupo de segurança na configuração do Launch Template.

Espero que isso resolva o seu problema. Lembre-se de sempre verificar se os recursos que você está tentando usar já foram criados e estão disponíveis para serem usados.

Espero ter ajudado e bons estudos!