【问题标题】:Way to auto-approve for pending acceptance state after TG attachment is added?添加 TG 附件后自动批准待处理接受状态的方法?
【发布时间】:2024-04-29 07:15:02
【问题描述】:

除了使用资源 aws_ec2_transit_gateway_vpc_attachment_accepter 之外,添加 TG 附件后是否会自动批准待定接受状态?

我有一个变量,我从 aws api 获得,用于除当前区域之外的具有 TGW ID 的区域

例如,我在 us-east-2 我的变量是,

TGW_PEERS = [{“id”:“tgw-xxx”,“地区”:“eu-west-1”,“名称”:“TGW0001_EUW1”},{“id”:“tgw-xxx”,“地区”:“us-west-2”,“cidr”:“”,“名称”:“TGW0001_USW2”}]

我有一个资源 aws_ec2_transit_gateway_peering_attachment

resource "aws_ec2_transit_gateway_peering_attachment" "TGW-PEERS" {
  count = length(var.TGW_PEERS) 
  peer_region             = var.TGW_PEERS[count.index].region 
  peer_transit_gateway_id = var.TGW_PEERS[count.index].id 
  transit_gateway_id      = data.aws_ec2_transit_gateway.TGW.id
  tags = {
    Name = format("PEER_%s", var.TGW_PEERS[count.index].name)
    Side = "Initiator"    
  }
}

但是当我应用上述内容时,TGW 附件进入等待接受状态,启用“自动接受共享附件”也无济于事

解决它的一种方法是,我必须为每个区域执行此操作,并为除自身之外的所有其他区域创建别名、资源语句。 我不想这样做:)

provider "aws" {
  alias = "us-west-2"
  region     = "us-west-2"
}

resource "aws_ec2_transit_gateway_vpc_attachment_accepter" "TGW-ACCEPTOR" {
  provider = aws.us-west-2 
  transit_gateway_attachment_id = data.aws_ec2_transit_gateway.TGW.id
  tags = {
    Name = "Yo"
    Side = "Accepter"
  }
}

【问题讨论】:

    标签: amazon-web-services terraform terraform-provider-aws


    【解决方案1】:

    “自动接受共享附件”适用于TG VPC 附件。但是,您正在尝试执行TG peering 附件。对于此类附件,没有自动接受

    要激活对等附件,接受者中转网关的所有者必须接受对等附件请求。即使两个中转网关都在同一帐户中,这也是必需的。对等连接必须处于 pendingAcceptance 状态。接受来自接受方中转网关所在区域的对等连接请求。

    您尝试使用的 aws_ec2_transit_gateway_vpc_attachment_accepter 适用于 TG VPC 附件,而不是 TG 对等连接。

    【讨论】:

    • 有道理,谢谢。这是一个无赖。是的,我会使用另一种资源。我用错了。但是使用多个区域和资源语句并不好玩:(
    • 有没有办法在资源中循环通过提供者?像 provider "aws" { alias = "us-west-2" region = "us-west-2" } provider = format("aws.%s", var.TGW_PEERS[count.index].region) 我可以预定义了 aws 提供程序
    • @VinitaShah 不确定。您可以提出新问题,解释您希望通过这些提供商实现什么。
    最近更新 更多