Amazon s3 文件恢复后,如何解决AWS S3副本存储桶中的不一致性?

Amazon s3 文件恢复后,如何解决AWS S3副本存储桶中的不一致性?,amazon-s3,replication,failover,Amazon S3,Replication,Failover,我已经从源bucket中删除了文件。源和副本是同步的,都有删除标记。我删除源bucket中的删除标记,以恢复文件。但该文件在副本中被删除(具有删除标记)。它的设计是: 如果删除请求指定要删除的特定对象版本ID,Amazon S3将删除源bucket中的该对象版本,但不会在目标bucket中复制删除操作(换句话说,它不会从目标bucket中删除相同的对象版本)。此行为可防止恶意删除数据。 我需要一个用于故障切换的一致副本。如何防止副本中的不一致性?我认为只有一种方法可以保存一致性: 切勿删除对象

我已经从源bucket中删除了文件。源和副本是同步的,都有删除标记。我删除源bucket中的删除标记,以恢复文件。但该文件在副本中被删除(具有删除标记)。它的设计是:

如果删除请求指定要删除的特定对象版本ID,Amazon S3将删除源bucket中的该对象版本,但不会在目标bucket中复制删除操作(换句话说,它不会从目标bucket中删除相同的对象版本)。此行为可防止恶意删除数据。


我需要一个用于故障切换的一致副本。如何防止副本中的不一致性?

我认为只有一种方法可以保存一致性:

切勿删除对象版本,包括删除标记


重新加载对象(创建新版本)以恢复它,而不是删除删除标记

我理解这个问题,并认为值得添加此信息,即使在您提出问题后很长一段时间。在源存储桶不可用且您希望从复制副本恢复的灾难恢复场景中,复制副本中仍然挂起的“旧”文件(应该已删除)是一个真正的问题。这与恢复场景不同,在恢复场景中,有人意外地执行了一个大的删除操作(如果没有发生删除操作,这会很好)

目前,bucket复制是V2。您可以启用V1复制,它允许复制删除。AWS似乎想通过禁用删除复制来保护我们自己,但有时这是重要和正确的(尤其是在版本控制已经到位的情况下)

启用V1的相关AWS资源:

希望这能帮助别人