0
respostas

[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