1
resposta

[Sugestão] Usando a imagem (ami) mais recente

A documentação oficial atualizada apresenta uma forma de não precisar hard-codar o id da ami no bloco de resource.
É possível usar o bloco data para fazer uma busca da imagem mais recente de acordo com o filtro e depois usar o id para passar ela no bloco resource.

Adicione o seguinte bloco data após o bloco provider:

data "aws_ami" "ubuntu" {
  most_recent = true

  filter {
    name = "name"
    values = ["ubuntu/images/hvm-ssd-gp3/ubuntu-noble-24.04-amd64-server-*"]
  }

  owners = ["099720109477"] # Canonical
}

Isso vai pegar a ami mais recente e jogar dentro da variável data.aws_ami.ubuntu.id. Depois é só usar ela em resource:

resource "aws_instance" "app_server" {
  ami  = data.aws_ami.ubuntu.id
  instance_type = "t3.micro"

  tags = {
    Name = "primeira-instância"
  }
}

fonte: https://developer.hashicorp.com/terraform/tutorials/aws-get-started/aws-create#data-sources

1 resposta

Oi, João! Como vai?

Agradeço por compartilhar. Gostei da sua sugestão, importante porque mostra uma boa prática de IaC ao evitar valores fixos e tornar o código mais flexível e sustentável. Com base no que você explicou, o uso do bloco data para buscar a AMI mais recente deixa o projeto mais alinhado com cenários reais e facilita a manutenção ao longo do tempo. Ótimo que você conseguiu relacionar a documentação oficial com a atividade do curso.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!