gpt4 book ai didi

amazon-s3 - 如何在启用 Vault Locked 的情况下将对象从 Amazon S3 移动到 Glacier?

转载 作者:行者123 更新时间:2023-12-04 00:06:21 26 4
gpt4 key购买 nike

我正在寻找一种解决方案,用于将 Amazon S3 对象移动到启用了 Vault Lock 的 Glacier(如 https://aws.amazon.com/blogs/aws/glacier-vault-lock/ 此处所述)。如果可能的话,我想使用亚马逊内置的工具(生命周期管理或其他)。

我找不到任何说明或选项来做到这一点。 S3 似乎只允许将对象移动到 Glacier 存储类。但这并不能提供数据完整性,也不能防止数据丢失。

我知道我可以用一个程序来做到这一点。它将下载 S3 对象并通过其各自的 REST API 将其移动到 Glacier。对于这个简单的任务,这种方法似乎太复杂了。

最佳答案

画成这样:

  • Glacier 是 AWS 的一项服务。
  • S3 是 AWS 的一项服务。
  • 但 S3 也是 Glacier 服务的客户。

  • 当您将 S3 中的对象迁移到 Glacier 存储类时,S3 会使用 S3 拥有的 AWS 账户将对象存储在 Glacier...中。

    S3 中使用 GLACIER 存储类的那些对象不在“您的” Glacier 保管库中,它们在 S3 拥有的保管库中。

    这与外部可观察的证据一致:
  • 您无法从 Glacier 控制台看到保管库中的这些 S3 对象。
  • 您无需授予 S3 任何 IAM 权限即可访问 Glacier(相比之下,您必须授予 S3 权限才能将事件通知发布到 SQS、SNS 或 Lambda)
  • Glacier 不会向您收取 Glacier 存储类对象的费用——S3 会。

  • 从这个角度来看,你试图完成的事情是完全不同的。您希望根据您的策略将一些文件存储在您的 Glacier 保管库中,而该内容目前“恰好”存储在 S3 中。

    从 S3 下载然后上传到 Glacier 是解决方案。

    But that does not provide data integrity nor defends against data loss.



    上传到 Glacier 时可以确保负载的完整性,因为树哈希算法有效地防止了损坏的上传。

    从 S3 下载,除非对象与 SSE-C 一起存储,否则 ETag 是存储对象的 MD5 哈希(如果使用单部分上传),或者是部分的串联二进制编码 MD5 哈希的十六进制编码 MD5 哈希,后跟 - 和零件数。理想情况下,当上传到 S3 时,您应该在对象元数据中存储更好的哈希(例如 sha256),例如 x-amz-meta-content-sha256

    防止数据丢失——是的,Glacier 确实提供了更多功能,但 S3 在这里并非完全没有能力:具有匹配 DENY 操作的存储桶策略将始终覆盖任何冲突的 ALLOW 操作,无论它是在存储桶策略中还是任何其他IAM 策略(例如角色、用户)。

    关于amazon-s3 - 如何在启用 Vault Locked 的情况下将对象从 Amazon S3 移动到 Glacier?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41822667/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com