这是一个有点愚蠢的问题 - 我有一个 S3 存储桶,其中包含一些重要的生产数据。
我正在寻找备份这些数据。 S3版本控制似乎是一个非常好的方法。
我担心的一个问题是启用 S3 版本控制可能会影响现有文件。 在异地备份文件之前启用版本控制是否安全?
这取决于您所说的“备份”的含义。
存储在 Amazon S3 中的对象会在该区域内的多个数据中心之间自动复制。因此,AWS 会自动为您处理备份。
但是,如果您担心意外删除或覆盖对象,那么使用版本控制是一个好主意。它将允许您检索已删除或覆盖的对象的版本。 (注意:您将支付旧版本和当前版本的全部存储费用。)
激活版本控制不会影响现有对象。激活版本控制后,它将自动应用于存储桶中的所有对象,因此删除或覆盖以前存在的对象将与新对象具有相同的功能。
您可能考虑的另一种备份形式是跨区域复制。这告诉 S3 将对象从一个存储桶复制到不同区域的存储桶。副本存储桶甚至可以属于另一个 AWS 账户。这样做的好处是即使有人故意删除对象,也可以保持对象的安全。
想象一个场景,系统管理员在 S3 中拥有删除权限。如果他们对管理感到不满并决定删除所有数据,那么副本存储桶中将会有该数据的另一个副本。该存储桶可能属于不同的帐户,系统管理员没有有权删除数据。缺点是您需要为数据的两个副本付费。好处是您的数据是安全的,您的公司可以继续运营。
在包含现有对象的存储桶上启用版本控制是安全的。 现有对象不受影响。
启用 S3 版本控制会更改 S3 API 针对该存储桶的操作方式。 如果您的代码基于旧库,它可能与 S3 版本控制不兼容。
因此,虽然从技术上讲这些文件不会受到影响,正如已经回答的那样,但您使用这些文件的能力可能取决于您的软件的老式程度。
启用 S3 版本控制不会直接影响现有文件。启用版本控制后,进行更改时会创建对象的新版本,但现有文件仍将保持其原始状态,可通过其版本 ID 进行访问。
如果您想观看有关如何启用版本控制和管理对象版本的演示,我创建了一个简短的视频教程来演示整个过程。您可以在这里查看:https://www.youtube.com/watch?v=NEf3fd6CVSw&t=47s
如果您还有任何疑问,请告诉我!