如何通过Terraform开启AWS ElastiCache慢查询日志
操作方法
可以通过Terraform配置开启AWS ElastiCache的Redis慢查询日志,你在aws_elasticache_cluster资源的根参数列表里找不到对应配置,是因为该参数属于嵌套的log_delivery_configuration块,需确保使用的AWS Terraform Provider版本不低于v3.74.0。
配置示例
# 先创建慢日志存储的CloudWatch日志组 resource "aws_cloudwatch_log_group" "redis_slow_log" { name = "/aws/elasticache/redis-slow-log" retention_in_days = 30 } resource "aws_elasticache_cluster" "example" { cluster_id = "demo-redis" engine = "redis" engine_version = "7.0" node_type = "cache.t3.micro" num_cache_nodes = 1 parameter_group_name = "default.redis7" # 慢查询日志配置块 log_delivery_configuration { destination = aws_cloudwatch_log_group.redis_slow_log.name destination_type = "cloudwatch-logs" log_format = "json" log_type = "slow-log" } }
注意事项
- 仅Redis引擎支持慢查询日志,Memcached引擎无对应日志类型
- 默认ElastiCache服务关联角色
AWSServiceRoleForElastiCache已具备日志写入权限,如无自定义修改无需额外配置权限 - 如果需要同时开启引擎运行日志,可新增一个
log_delivery_configuration块,将log_type改为engine-log即可 - 如你使用的是集群模式的Redis(即通过
aws_elasticache_replication_group资源创建的实例),将log_delivery_configuration块写在aws_elasticache_replication_group资源下即可,配置规则完全一致 - 给已运行的集群新增日志配置会触发集群滚动更新,建议在业务低峰期操作
内容的提问来源于stack exchange,提问作者NAOKI
相关产品推荐
相关产品推荐

