如何在中转网关模块 Terraform 中创建附件
How to create attachments in transit gateway module terraform
我使用 terraform tgw 模块创建了一个中转网关,如下所示。
module "transit-gateway" {
source = "terraform-aws-modules/transit-gateway/aws"
version = "1.4.0"
name = "tgw-nprod"
description = "My TGW shared with several other AWS accounts"
amazon_side_asn = 64532
enable_auto_accept_shared_attachments = true
vpc_attachments = {
vpc1 = {
vpc_id = module.vpc.vpc_id
subnet_ids = module.vpc.private_subnets
dns_support = true
ipv6_support = false
transit_gateway_default_route_table_association = false
transit_gateway_default_route_table_propagation = false
}
}
ram_allow_external_principals = true
ram_principals = [1234567890, 0987654321]
tags = {
Purpose = "tgw-testing"
}
}
我已经使用 terraform vpc 模块创建了 vpc。
当我 运行 上面的 terraform Iam 收到错误“错误:创建 EC2 Transit Gateway VPC 附件时出错:DuplicateSubnetsInSameZone:相同 AZ 的重复子网 ”
我在 ap-south-1 中有 2 个私有子网,在 ap-south-1 中有 1 个 public。
AWS docs 写道您的网关只能在每个 AZ 的一个子网中:
You must select at least one subnet. You can select only one subnet per Availability Zone.
您的错误信息表明您的 module.vpc.private_subnets
在同一个 AZ 中。您必须 重新定义 您的 VPC 以便 module.vpc.private_subnets
在两个不同的 AZ 中,或者只使用 一个子网 在您的 subnet_ids
.
要使用一个子网:
subnet_ids = [module.vpc.private_subnets[0]]
我使用 terraform tgw 模块创建了一个中转网关,如下所示。
module "transit-gateway" {
source = "terraform-aws-modules/transit-gateway/aws"
version = "1.4.0"
name = "tgw-nprod"
description = "My TGW shared with several other AWS accounts"
amazon_side_asn = 64532
enable_auto_accept_shared_attachments = true
vpc_attachments = {
vpc1 = {
vpc_id = module.vpc.vpc_id
subnet_ids = module.vpc.private_subnets
dns_support = true
ipv6_support = false
transit_gateway_default_route_table_association = false
transit_gateway_default_route_table_propagation = false
}
}
ram_allow_external_principals = true
ram_principals = [1234567890, 0987654321]
tags = {
Purpose = "tgw-testing"
}
}
我已经使用 terraform vpc 模块创建了 vpc。
当我 运行 上面的 terraform Iam 收到错误“错误:创建 EC2 Transit Gateway VPC 附件时出错:DuplicateSubnetsInSameZone:相同 AZ 的重复子网 ”
我在 ap-south-1 中有 2 个私有子网,在 ap-south-1 中有 1 个 public。
AWS docs 写道您的网关只能在每个 AZ 的一个子网中:
You must select at least one subnet. You can select only one subnet per Availability Zone.
您的错误信息表明您的 module.vpc.private_subnets
在同一个 AZ 中。您必须 重新定义 您的 VPC 以便 module.vpc.private_subnets
在两个不同的 AZ 中,或者只使用 一个子网 在您的 subnet_ids
.
要使用一个子网:
subnet_ids = [module.vpc.private_subnets[0]]