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

如何在Terraform模块中启用条件判断,仅在指定环境创建CloudWatch指标

仅在QAT和PROD环境创建CloudWatch指标的解决方案

要实现仅在QAT和PROD环境创建CloudWatch日志指标过滤器,只需在模块调用时根据环境变量动态设置count参数的值即可,具体操作如下:

  1. 修改模块调用代码
    在调用aws_cloudwatch_log_metric_filter模块时,新增count参数,通过判断当前环境是否为QAT或PROD来决定是否创建资源:
module "aws_cloudwatch_log_metric_filter" {
  source         = "https://github.com/modules.git//aws-cloudwatch-log-metric-filter"
  log_group_name = "/aws/lambda/${var.lambda_name}"
  pattern        = "{$.message = \"---------------- Message ----------------\"}"
  count          = contains(["QAT", "PROD"], var.environment) ? 1 : 0
}

locals {
  base_tags = {
    environment = var.environment
  }
}
  1. 逻辑说明
    • 借助Terraform的contains函数,检查var.environment是否属于指定的环境列表(["QAT", "PROD"])
    • 若环境匹配,count设为1,模块会创建对应的CloudWatch指标过滤器;若不匹配,count设为0,模块不会生成任何相关资源
    • 模块内部的aws_cloudwatch_log_metric_filter.log_metric资源已通过count = var.count关联了传入的count值,无需修改模块代码

通过上述配置,就能确保仅在QAT和PROD环境部署该CloudWatch指标过滤器,其他环境不会创建对应资源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 15:15:16