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

如何通过Terraform配置AWS S3桶每月自动清空?

解决Terraform配置S3桶每月自动清空的问题

我来帮你搞定这个S3桶每月自动清空的配置~先看你当前的配置,存在两个重复的lifecycle块(可以合并),而且现有的生命周期规则只针对tmp/前缀的文件,要实现整个桶每月清空,我们需要调整规则的作用范围和过期时间:

修改后的完整配置

resource "aws_s3_bucket" "garbage" {
  bucket = "garbage-${terraform.workspace}"
  acl    = "private"

  lifecycle {
    prevent_destroy = false
  }

  # 针对整个桶的每月过期规则(30天≈1个月)
  lifecycle_rule {
    id      = "monthly-expire-all-objects"
    enabled = true

    # 不指定prefix,规则会应用到桶内所有对象
    expiration {
      days = 30 # 30天对应大约1个月的周期
    }
  }

  server_side_encryption_configuration {
    rule {
      apply_server_side_encryption_by_default {
        sse_algorithm = "AES256"
      }
    }
  }
}

关键调整说明

  • 移除了重复的lifecycle块,让配置更整洁;
  • 删除了原规则中的prefix = "tmp/",这样规则会作用于桶内所有对象,而不是仅tmp目录下的文件;
  • 将expiration的days设为30,对应大约1个月的周期(如果你需要严格按自然月过期,比如每月1号自动删除,可以改用date参数,但days的方式更灵活适配大多数场景);
  • 给生命周期规则起了更清晰的ID,方便后续维护识别。

另外补充一句:如果之后你有部分文件需要例外保留,还可以添加额外的lifecycle_rule,通过指定对应prefix或标签来排除这些文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 09:12:51