[Section 4.19 - Terraform Intermediário] - Data Sources #145
-
Olá, estou com dificuldades em executar o exemplo relacionado ao tema "data sources", para o diretório [ec2]. Aqui está o código do bloco "main.tf" terraform {
required_version = "1.5.2"
required_providers {
aws = {
source = "hashicorp/aws"
version = "5.6.2"
}
}
backend "s3" {
bucket = "tfstate-xxxxxxxxxxxx"
key = "dev/03-data-sources/terraform.tfstate"
region = "us-east-1"
}
}
provider "aws" {
region = var.aws_region
} Aqui está o código do bloco "ec2.tf" resource "aws_instance" "web" {
ami = data.aws_ami.ubuntu.id
instance_type = var.aws_instance_type
} Aqui está o código do bloco "variables.tf" variable "aws_region" {
type = string
description = ""
default = "us-east-1"
}
variable "aws_instance_type" {
type = string
description = ""
default = "t2.micro"
} Aqui está o código do bloco "data.tf" data "aws_ami" "ubuntu" {
owners = ["amazon"]
most_recent = true
name_regex = "ubuntu"
} Aqui está o código do bloco "outputs.tf" output "id" {
value = aws_instance.web.id
}
output "ami" {
value = aws_instance.web.ami
}
output "arn" {
value = aws_instance.web.arn
} Executo com êxito os comandos "terraform init", "terraform validate" e "terraform plan", no entanto, durante a tentativa de provisionamento, recebo a mensagem de erro abaixo.
Pode, por favor, me sugerir o que posso estar fazendo de errado? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
@bernardesleao você está tentando rodar uma imagem não compatível com a arquitetura de processor da máquina selecionada. Você vai precisar adicionar um filtro no seu bloco de Exemplo: data "aws_ami" "ubuntu" {
owners = ["amazon"]
most_recent = true
name_regex = "ubuntu"
filter {
name = "architecture"
values = ["i386", "x86_64"]
}
} Referências: |
Beta Was this translation helpful? Give feedback.
-
Obrigado, Cleber. |
Beta Was this translation helpful? Give feedback.
@bernardesleao você está tentando rodar uma imagem não compatível com a arquitetura de processor da máquina selecionada. Você vai precisar adicionar um filtro no seu bloco de
data source
para trazer as compatíveis.Exemplo:
Referências:
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ami#filter
https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html#options