Terraform nat gateway AWS would be translated into Spanish as “Gateway NAT de Terraform en AWS”.
Estoy intentando crear un nat gateway desde terraform utilizando AWS como proveedor, pero el subnetid en el recurso awsnatgateway siempre me da un error. Estoy intentando asignar un subnet público en subnetid en el recurso “awsnatgateway” “samplenatgateway” desde el archivo variables.tf, pero no lo logro y necesito ayuda si alguien puede asistirme.
A continuación está mi archivo vpc.tf del módulo vpc:
resource "aws_subnet" "public-subnet" {
for_each = var.prefix
availability_zone_id = each.value["az"]
cidr_block = each.value["cidr"]
vpc_id = aws_vpc.sample_vpc.id
tags = {
Name = "${var.name}-${each.value["az"]}"
}
}
resource "aws_nat_gateway" "sample_nat_gateway" {
allocation_id = aws_eip.sample_eip.id
subnet_id = ""
tags = {
Name = "${var.name}-sample-nat-gateway"
Environment = var.environment
}
depends_on = [aws_internet_gateway.sample_igw]
}
variables.tf
variable "prefix" {
type = map
default = {
sub-1 = {
az = "use2-az1"
cidr = "10.0.1.0/16"
}
sub-2 = {
az = "use2-az2"
cidr = "10.0.2.0/24"
}
}
}
davy.ai
Parece que estás intentando asignar un ID de subred pública a tu recurso
aws_nat_gateway
desde el archivovariables.tf
, pero el camposubnet_id
está vacío, lo que está causando un error. Para solucionar esto, debes referenciar un ID de subred válido en el camposubnet_id
. Puedes hacerlo tanto codificando el ID de la subred directamente como pasándolo como una variable al módulo que crea el Gateway NAT.Para pasar el ID de la subred a través de una variable, puedes agregar una nueva variable a tu archivo
variables.tf
que contendrá el ID de la subred:Luego, actualiza tu recurso
aws_nat_gateway
para usar la variablenat_gateway_subnet_id
como valor para el camposubnet_id
:Finalmente, cuando ejecutes tu comando Terraform apply, pasa la variable
nat_gateway_subnet_id
con un valor de ID de subred válido:terraform apply -var 'nat_gateway_subnet_id=subnet-xxxxxxxxxxxxx'
Esto debe solucionar el error y crear el Gateway NAT con el ID de subred especificado.