Amazon S3 – 跨区域复制
AWS S3 – 跨区域复制 (CRR) 允许您在两个不同的区域中复制或复制您的数据。但是为什么需要设置 CRR?在许多可能的情况下,设置跨区域复制会很有帮助。其中一些列在下面:
- 改善延迟并提高可用性:如果您正在运营一个拥有世界各地客户的大型组织,那么以低延迟向他们提供对象非常重要。通过设置跨区域复制,您可以让您的客户从离他们的地理位置最近的 S3 存储桶中获取对象。
- 灾难恢复:将数据保存在多个区域将帮助您准备和处理由于一些前所未有的情况而导致的数据丢失。
- 满足合规性要求:有时只是为了满足合规性要求,您需要在多个区域拥有数据副本,跨区域复制可以帮助您实现这一目标。
- 所有者覆盖:使用 AWS S3 对象复制,您可以在不同的所有权下维护相同的数据副本。即使源存储桶由其他人拥有,您也可以将所有权更改为 AWS 目标存储桶的所有者。
设置 CRR:
按照以下步骤设置 CRR:
- 转到 AWS s3 控制台并创建两个存储桶。
- 让我们将源存储桶命名为 source190 并将其保存在亚太地区(孟买)ap-south 1 区域。不要忘记启用版本控制。另外,请注意 S3 存储桶名称需要是全局唯一的,因此请尝试在存储桶名称后添加随机数。
- 现在按照相同的步骤创建一个目标存储桶:destination190,启用版本控制,但这次选择不同的区域。
- 现在单击您的源存储桶并转到管理选项卡:
- 现在,单击“创建复制规则”并将您的复制规则命名为“replicate190”
- 选择目标存储桶为“destination190”。
请注意,您可以选择另一个账户中的目标存储桶。
- 为了将对象从源存储桶复制到目标存储桶,您需要创建一个 IAM 角色。因此,只需单击“创建新角色”即可创建一个。
- 如果您希望在 15 分钟内复制 S3 对象,则需要选中“复制时间控制 (RTC)”框。但您将为此付费。所以我们将继续前进而不启用它,然后单击保存。
单击保存后,将弹出一个屏幕,询问您是否要复制 S3 存储桶中的现有对象。但这会产生费用,因此我们将继续进行而不复制现有对象并单击提交。
- 完成此设置后,您会看到一个屏幕显示“复制配置已成功更新”。
是时候测试了!现在转到源存储桶:source190 并上传文件。
现在转到我们的目标存储桶:destination190 以检查上传的文件是否已复制到我们的目标存储桶。可以看到我们上传的文件成功复制到目标bucket:
注意:如果您没有任何进一步的用途,请不要忘记清空您的存储桶然后删除它们。此外,如果存储桶不为空,您将无法删除它。
关于 CRR 的一些要点:
对于跨区域复制,您必须具有:
- 不同地域的源bucket和目的bucket(同一个region可以使用同一个region replication或者SRR)。
- 在源存储桶和目标存储桶中都启用了版本控制。
当对象被复制到不同的区域时:
- 对象元数据、访问控制列表 (ACL) 和对象标签也会被复制。
- 默认情况下,在设置复制之前已存在于源存储桶中的对象不会被复制或复制到目标存储桶,但您可以执行一次性批量操作作业,但这会产生额外费用。
- 如果您的源存储桶充当另一个存储桶的目标存储桶,或者源存储桶中存在从另一个存储桶复制的对象,则这些对象不会被复制到目标存储桶。
您还可以通过将源存储桶作为目标存储桶的目标存储桶来启用双向 CRR,反之亦然。
最后,没有必要在同一个账户中有一个目标存储桶。 AWS Cross-Region Replication 也可以在跨账户中实现(前提是源存储桶的所有者有权复制目标存储桶中的数据)