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

Meu index.html nao está sendo sobrescrito pelo <h2>

Quando acesso a máquina remota, meu arquivo continua o que eu tinha configurado antes, segue meu código:

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-06878d265978313ca"
  instance_type = "t2.micro"
  key_name = "matheus-useast1"
    user_data = <<-EOF
                  #!/bin/bash
                  cd /home/ubuntu 
                  echo "<h2> FEITO COM TERRAFORM </h2>" > index.html
                  nohup busybox httpd -f -p 8080 &
                 EOF
  tags = {
    Name = "NovoTeste22"
  }
}
2 respostas

Oi, Matheus. Tudo bem?

Será que você não esqueceu de salvar o arquivo antes de executar o terraform novamente? Além disso, você reparou no terraform plan se apareceu que o recurso seria criado?

Se continuar não funcionando, posta aqui também a saída do terraform apply

solução!

Tive o mesmo problema de não ter o "user_date" sobrescrito, solução encontrada, foi adicionar a tag "user_data_replace_on_change" igual a "true", com isso força o terraform a destruir e recriar a instância EC2 da aws.

  user_data = <<EOF
    #! /bin/bash
    cd /home/ubuntu/
    echo "<h1>Deploy via terraform</h1>" > index.html
    nohup busybox httpd -f -p 8080 &
  EOF
  user_data_replace_on_change = true