Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

[Dúvida] Erro ao alterar mensagem e executar servidor http na instância via terraform.

Pessoal não consigo executar na instancia o código dentro do "user_data":

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

provider "aws" {
  region = "us-east-1"
}

resource "aws_instance" "app_server" {
  ami           = "ami-053b0d53c279acc90"
  instance_type = "t2.micro"
  key_name = "iac-lucas-virginia"
  user_data= <<-EOF
                #!/bin/bash
                cd /home/ubuntu
                echo “<h1>Mensagem a ser mostrada</h1>” > index.html
                nohup busybox httpd -f -p 8080 &
                EOF
  tags = {
    Name = "Teste AWS 3"
  }
}
5 respostas

Boa noite, Lucas. Poderia postar um print do erro? O que retorna quanto você executa o tf?

@Everton a execução acontece do script e é criado a instância, apensar o que está no user data é ignorado e não cria o servidor http com o arquivo index.htmll, como passsado via bash.

Fala Lucas, beleza?

Tenta dar um espaço entre o "user_data" e o "=".

Está assim: "user_data= <<-EOF" Deixa assim: "user_data = <<-EOF"

Vê se vai. Arabço!

solução!

Fala Lucas, tudo bem?

Também estava com esse problema, e depois de algumas investigações descobri o que estava acontecendo..

Nesta saída, que os intrutores colocaram eles utilizaram uma aspas duplas que é diferente e por isso que não cria o arquivo.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Troque para:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Depois faça os seguintes comandos abaixo:

terraform destroy e depois terraform apply deve funcionar, comigo era este o erro que estava dando..

Abraços e boa sorte!!

Antonio boa noite,

Era isso mesmo, troquei as aspas e funcionou perfeitamente, muito obrigado.