我们在对S3 Bucket 配置生命周期配置时,会看到有 【生命周期规则操作】下面有一个 Expire current versions of objects
也即是 【将对象的当前版本设为过期】的选框,如下图所示
对于一些有备份要求的对象,如要求只保存7天的备份的S3 Bucket, 笔者一般就是通过 选择 Expire current versions of objects ,然后配置一个 7
就可以达到效果 ,一个文件始终会保留7天的,也即始终都能看到7份数据,当然有时也能看到8份、主要是因为AWS在做删除时,并不是卡点删除,
而且后台有一定的自己的规则,到了某些点进行统一检查,删除,但无论如何,费用只会按7天计算的
但是上面的配置,还有一些其他的细节点说明,需要特别注意:
1、因为上面选择的时【将对象的当前版本设为过期】,并没有说会删除,笔者这里会有自动地定期清理操作,
是因为 S3 Bucket 没有开启 【存储桶版本控制/Bucket Versioning】,只这情况下,过期才会意味着是删除
2、那么也就是说如果开启了【存储桶版本控制/Bucket Versioning】,到了上面设置的过期时间,只是会将对象设为过期,
这样通过aws cli 或者页面默认看到的 都是当前版本的数据,如果要查看所有的版本,在Console中,S3 Bucket界面,
点开【Show versions】即可看到所有的版本,这种情况,过期了对象就不会被删除,会变成非当前版本,会一直产生存储费用,如下图
本文的目的来源于,笔者真实的环境,此前没有开启版本控制,只是设置了【将对象的当前版本设为过期】,会正常的执行7天后删除
后来由于一些其他原因,被其他成员设置开启了版本控制,笔者无意间就发现S3 bucket的存储总量越来越大,才找到原因,于是总结于此
尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/17601769.html
作者:一名卑微的IT民工
出处:https://www.cnblogs.com/5201351
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
由于博主的水平不高,文章没有高度、深度和广度,只是凑字数,不足和错误之处在所难免,希望大家能够批评指出。
博主是利用读书、参考、引用、复制和粘贴等多种方式打造成自己的文章,请原谅博主成为一个卑微的IT民工!