【问题标题】:Not able to call out Firewall VPC Endpoints via Terraform无法通过 Terraform 调用防火墙 VPC 端点
【发布时间】:2022-07-07 03:42:24
【问题描述】:

我无法在路由表中创建指向防火墙 VPC 端点的路由。我目前正在使用 ~>3.0 AWS Provider。

    resource "aws_route_table" "internet_gateway_rt" {
  vpc_id = aws_vpc.this.id

  route {
    cidr_block      = var.cidr_block[0]
    vpc_endpoint_id = (aws_networkfirewall_firewall.sagemaker_network_firewall.firewall_status.0.sync_states.1.attachment.1.endpoint_id)[1]

  }
  route {
    cidr_block = var.cidr_block[1]
    vpc_endpoint_id = (aws_networkfirewall_firewall.sagemaker_network_firewall.firewall_status.0.sync_states.0.attachment.0.endpoint_id)[0]  
    }
  route {
    cidr_block = var.cidr_block[2]
    vpc_endpoint_id = (aws_networkfirewall_firewall.sagemaker_network_firewall.firewall_status.0.sync_states.2.attachment.2.endpoint_id)[2]
  }

有人知道我如何检索 ID 吗?

【问题讨论】:

  • 你的代码有什么问题?有什么错误吗?
  • 我已经通过执行以下操作来做到这一点: 创建一个局部变量:firewall-eu-west-2a = { for_each = aws_networkfirewall_firewall.sagemaker_network_firewall vpce_eu-west-2a = [for ss in aws_networkfirewall_firewall .sagemaker_network_firewall.firewall_status[0].sync_states : ss.attachment[0].endpoint_id if ss.availability_zone == "eu-west-2a"] } 为每个循环创建一个基于 AZ

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


【解决方案1】:

我用这个让它工作了

resource "aws_route_table" "rt_inbound" {
  count    = 3
  vpc_id   = aws_vpc.vpc.id
  route {
    cidr_block = "0.0.0.0/0"
    vpc_endpoint_id = element(flatten(aws_networkfirewall_firewall.network_firewall.firewall_status[0].sync_states[*].attachment[*].endpoint_id), count.index)
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-08
    • 1970-01-01
    • 2021-09-28
    • 2022-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多