【问题标题】:How to link "aws_apigatewayv2_route" with "aws_apigatewayv2_integration"?如何将“aws_apigatewayv2_route”与“aws_apigatewayv2_integration”链接?
【发布时间】:2021-05-06 19:15:15
【问题描述】:

我正在使用 terraform,使用 HTTP 协议类型为 Amazon API Gateway 版本 2 创建一个 terraform 脚本。我无法弄清楚如何将网关路由与集成链接起来。我尝试在“aws_apigatewayv2_route”中使用“target”属性,但它不起作用。下面是我为它编写的代码。

resource "aws_apigatewayv2_api" "mrw-api" {
  name          = "mrw-http-api"
  protocol_type = "HTTP"
}

resource "aws_apigatewayv2_vpc_link" "mrw-link" {
  name               = "mrw-link"
  security_group_ids = [data.aws_security_group.mrw-sg.id]
  subnet_ids         = [data.aws_subnet.mrw-subnet.id, data.aws_subnet.mrw-subnet2.id]

}

resource "aws_apigatewayv2_route" "healthcheck" {
  api_id    = aws_apigatewayv2_api.mrw-api.id
  route_key = "GET /"
  target    = aws_apigatewayv2_integration.mrw-int-get.id
}

resource "aws_apigatewayv2_integration" "mrw-int-get" {
  api_id             = aws_apigatewayv2_api.mrw-api.id
  integration_type   = "HTTP_PROXY"
  connection_type    = "VPC_LINK"
  connection_id      = aws_apigatewayv2_vpc_link.mrw-link.id
  integration_uri    = aws_lb_listener.mrw-lb-listener.arn
  integration_method = "GET"
  tls_config {
    server_name_to_verify = var.tls_server_name
  }
}

任何人都可以帮助如何将路线与集成联系起来。

【问题讨论】:

    标签: amazon-web-services api terraform aws-api-gateway amazon


    【解决方案1】:

    Terraform 对此的文档不​​是很清楚。 target 的格式为 integrations/integration-id。在你的情况下,使用"integrations/${aws_apigatewayv2_integration.mrw-int-get.id}"

    【讨论】:

      猜你喜欢
      • 2017-11-27
      • 2021-08-21
      • 2019-01-31
      • 2016-04-13
      • 2018-02-09
      • 2016-06-14
      • 2023-03-15
      • 1970-01-01
      相关资源
      最近更新 更多