Terraform nat 网关 AWS
Terraform nat gateway AWS
我正在尝试通过使用 AWS 作为提供商从 terraform 创建 nat 网关,但是资源 aws_nat_gateway 中的 subnet_id 总是给我错误。我正在尝试从 variables.tf 文件中的资源“aws_nat_gateway”“sample_nat_gateway”中分配 subnet_id 中的 public 子网,但失败了,如果有人需要支持可以帮忙吗?
下面是我的vpc.tfvpc模块文件
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"
}
}
}
Subent 的 不能为空 您必须提供有效的子网 ID,其中 NAT 将被放置。例如:
resource "aws_nat_gateway" "sample_nat_gateway" {
allocation_id = aws_eip.sample_eip.id
subnet_id = aws_subnet.public-subnet["sub-1"].id
tags = {
Name = "${var.name}-sample-nat-gateway"
Environment = var.environment
}
depends_on = [aws_internet_gateway.sample_igw]
}
其中 aws_subnet.example
是您的 VPC 中的 public 个子网之一。
我正在尝试通过使用 AWS 作为提供商从 terraform 创建 nat 网关,但是资源 aws_nat_gateway 中的 subnet_id 总是给我错误。我正在尝试从 variables.tf 文件中的资源“aws_nat_gateway”“sample_nat_gateway”中分配 subnet_id 中的 public 子网,但失败了,如果有人需要支持可以帮忙吗?
下面是我的vpc.tfvpc模块文件
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"
}
}
}
Subent 的 不能为空 您必须提供有效的子网 ID,其中 NAT 将被放置。例如:
resource "aws_nat_gateway" "sample_nat_gateway" {
allocation_id = aws_eip.sample_eip.id
subnet_id = aws_subnet.public-subnet["sub-1"].id
tags = {
Name = "${var.name}-sample-nat-gateway"
Environment = var.environment
}
depends_on = [aws_internet_gateway.sample_igw]
}
其中 aws_subnet.example
是您的 VPC 中的 public 个子网之一。