amazon-web-services - 如何在中转网关模块 terraform 中创建附件

标签 amazon-web-services terraform terraform-provider-aws terraform0.12+ terraform-modules

我使用 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 时,我收到错误“错误:创建 EC2 Transit Gateway VPC 附件时出错:DuplicateSubnetsInSameZone:同一可用区的重复子网

我在 ap-south-1 中有 2 个私有(private)子网,在 ap-south-1 有 1 个公共(public)子网。

最佳答案

AWS docs写入您的网关只能位于每个可用区的一个子网中:

You must select at least one subnet. You can select only one subnet per Availability Zone.

您的错误消息表明您的 module.vpc.private_subnets 位于同一可用区。您必须重新定义您的 VPC,以便 module.vpc.private_subnets 位于两个不同的可用区,或者仅在 中使用一个子网 subnet_ids

要使用一个子网:

subnet_ids                                      = [module.vpc.private_subnets[0]]

关于amazon-web-services - 如何在中转网关模块 terraform 中创建附件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66667530/

相关文章:

amazon-web-services - 如何在 AWS ECR 中使用 ASSUME_ROLE 推送到账户

ruby-on-rails - 无法在同一 VPC 上将 aws redis 与 ec2 连接

amazon-web-services - Elastic Beanstalk 的 nginx 配置不起作用

amazon-web-services - AWS CloudFormation - 通过模板将现有托管策略附加到现有角色

amazon-web-services - 强制 terraform 继续创建新的 ECS 任务定义,而不是销毁并创建新的任务定义

amazon-web-services - AWS 通过 API(Boto3 或 Terraform)禁用区域

iphone - AWS S3 IOS sdk 中的困惑?

azure - Terraform 销毁使用 for_each 创建的资源

terraform - 特定 terraform 提供商的 terraform 文档中的资源和数据源有什么区别?

amazon-web-services - 使用 terraform 动态 block 构建 S3 存储桶策略