You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Terraform配置时无法关闭API Gateway缓存,求解决方案

解决API Gateway缓存无法通过Terraform关闭的问题

问题根源

AWS API Gateway的缓存控制分为阶段级和方法级两层配置,仅通过aws_api_gateway_method_settings关闭方法缓存可能不生效——如果阶段本身开启了缓存集群,或者集成请求存在缓存配置,会覆盖方法级设置。

具体修复步骤

  1. 关闭阶段级缓存集群
    在aws_api_gateway_stage资源中明确添加cache_cluster_enabled = false,这是确保缓存完全关闭的核心配置。

  2. 强制触发新部署
    给aws_api_gateway_deployment添加触发器,确保配置变更能被正确发布到阶段,避免因Terraform未检测到变更导致部署不更新。

  3. 配合方法级缓存关闭
    保留原aws_api_gateway_method_settings中的caching_enabled = false,确保所有方法的缓存行为一致。

调整后的完整代码

resource "aws_api_gateway_method" "proxy" {
  rest_api_id   = aws_api_gateway_rest_api.dlx_mdm.id
  resource_id   = aws_api_gateway_resource.proxy.id
  http_method   = "ANY"
  authorization = "CUSTOM"
  authorizer_id = aws_api_gateway_authorizer.dlx_mdm_authorizer.id
  request_parameters = {
    "method.request.path.proxy" = true
  }
}

resource "aws_api_gateway_stage" "mdm_stage" {
  depends_on = [aws_cloudwatch_log_group.mdm_stage_log_group]

  stage_name            = local.stage_name
  rest_api_id           = aws_api_gateway_rest_api.dlx_mdm.id
  deployment_id         = aws_api_gateway_deployment.mdm_deployment.id
  # 明确关闭阶段级缓存集群
  cache_cluster_enabled = false
}

resource "aws_api_gateway_method_settings" "method_settings" {
  rest_api_id = aws_api_gateway_rest_api.dlx_mdm.id
  stage_name  = aws_api_gateway_stage.mdm_stage.stage_name
  method_path = "*/*"

  settings {
    data_trace_enabled = true
    metrics_enabled    = true
    logging_level      = "INFO"
    caching_enabled    = false
  }
}

# 强制触发部署更新,确保配置生效
resource "aws_api_gateway_deployment" "mdm_deployment" {
  rest_api_id = aws_api_gateway_rest_api.dlx_mdm.id
  
  triggers = {
    redeployment = timestamp()
  }

  lifecycle {
    create_before_destroy = true
  }
}

额外检查项

  • 如果API配置了集成请求(如Lambda集成),需确认集成请求未开启缓存:在aws_api_gateway_integration资源中不要配置cache_namespace,或明确关闭集成侧的缓存设置。
  • 登录AWS控制台查看阶段的部署历史,确认最新部署已应用修改后的配置。

内容的提问来源于stack exchange,提问作者rboarman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 05:02:32