如何为Cloud Custodian策略指定Prod-*前缀的S3存储桶?
Cloud Custodian 策略:仅匹配以Prod-开头的S3存储桶并开启未配置的复制
要实现仅定位名称以Prod-开头的S3存储桶,只需在现有策略的filters中添加一个存储桶名称匹配规则即可。Cloud Custodian的value过滤器支持正则匹配,刚好可以用来筛选特定前缀的桶。
以下是修改后的完整策略:
- name: s3-prod-replication-enable resource: s3 filters: # 过滤名称以Prod-开头的存储桶 - type: value key: Name value: ^Prod- op: regexmatch # 过滤未配置复制目标账号的存储桶 - type: value key: Replication.ReplicationConfiguration.Rules[].Destination.Account value: absent actions: - type: set-replication state: enable # 注意:set-replication动作必须补充复制目标配置,否则无法生效 rules: - ID: prod-bucket-replication Prefix: "" Status: Enabled Destination: Account: "目标账号ID" Bucket: "arn:aws:s3:::目标存储桶名称"
关键说明:
- 名称过滤逻辑:
key: Name指定匹配存储桶的名称字段,value: ^Prod-是正则表达式,代表以Prod-开头的字符串,op: regexmatch表示采用正则方式匹配。 - 复制配置补充:原策略中的
set-replication动作需要明确复制的目标账号、目标桶等核心参数(示例中已补充模板),否则无法完成自动开启复制的操作,这是容易遗漏的关键细节。 - 多过滤器关系:多个过滤器默认是逻辑与的关系,只有同时满足名称匹配和未配置复制的桶才会被选中执行动作。
内容的提问来源于stack exchange,提问作者Yash Kamdar
相关产品推荐
相关产品推荐

