Prezados,
Executei o seguinte user_data (modificado de acordo com algumas soluções vistas no fórum) e mesmo assim ele não criou o arquivo index pelo terraform:
Tentativa 2, retirei o "-" da abertura do eof:
Prezados,
Executei o seguinte user_data (modificado de acordo com algumas soluções vistas no fórum) e mesmo assim ele não criou o arquivo index pelo terraform:
Tentativa 2, retirei o "-" da abertura do eof:
tenta esse tutorial, esse curso está cheio de lacunas nas informações : https://cursos.alura.com.br/forum/topico-sugestao-solucao-para-quem-nao-conseguiu-sobrescrever-o-arquivo-index-html-272587
Opa, valeu pela informação!
Fiz algumas alterações no main.tf:
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 4.16"
}
}
required_version = ">= 1.2.0"
}
provider "aws" {
region = "us-west-2"
}
resource "aws_instance" "app_server" {
ami = "ami-0735c191cf914754d"
instance_type = "t2.micro"
key_name = "iac-joao"
user_data = "${file("init.sh")}"
user_data_replace_on_change = true
vpc_security_group_ids = ["sg-0393ae1af9cbee85b"]
tags = {
Name = "Teste AWS Terraform"
}
}
Note que utilizei o arquivo externo init.sh. Segue abaixo o código do arquivo:
#!/bin/bash
sudo cd /home/ubuntu
sudo /bin/echo "<h1>Feito com Terraform</h1>" > index.html
sudo nohup busybox httpd -f -p 8080 &
Percebi que precisava do sudo para que os comandos fossem executados como root. Além disso, não sei por que mas no windows o bloco de comandos bash como apresentado na aula não era executado quando inserido no main.tf, mas em um arquivo externo ( init.sh ) ele executou os comandos corretamente.