将数据从 Glacier 保险库移动到 Glacier Deep Archive

将数据从 Glacier 保险库移动到 Glacier Deep Archive

我有几个 Glacier 数据库,里面有数据。
我想将这些数据移到新的存储类别 - “Glacier Deep Archive”。

怎么办?我在 Vault 偏好设置中的控制台中看不到这样的选项。

答案1

当 Glacier 推出时我看到了这个问题,并在 AWS 博客上发表了一条评论,但从未得到回复。

据我所知,没有从 Glacier 到 Glacier Cold Archive 的迁移路径。您必须手动迁移数据。

我建议两种方法:

本地上传

如果您在本地拥有数据并且确信其完整性,只需使用 AWS 命令​​行或任何您想要的工具即可上传数据。您可能需要调整配置文件中的 S3 参数以加快速度,这可以通过使用更多线程来提高互联网带宽利用率。如果您有很多小文件,这尤其有用,而对于大文件,您可能会最大限度地利用带宽。

下载然后上传

第二种方法是

  • 从 Glacier 恢复数据
  • 将数据下载到计算机,可以是本地计算机,也可以是按需 EC2 实例(不是现场计算机,因为如果实例终止,您可能会丢失数据)
  • 使用 IA 层将数据上传到 S3

创建用户

以下是我从 Windows 上传时使用的 S3 命令。请注意,您需要一个配置文件“glacier writer”

您将创建一个可以访问该存储桶以及您需要的任何其他资源的 IAM 用户。准备好他们的访问/密钥。如果您需要使用角色执行此操作,则需要做更多工作,但并不困难,网上有文档

aws configure --glacier-writer

然后,您可以编辑配置文件以包含此内容或类似内容。这在我的家庭互联网连接上效果很好,因为我的上传速度为 20Mbps。如果您拥有高带宽和快速的机器,您可以增加并发请求。我已成功在高带宽公司连接上使用多达 80 个线程,这需要 1-2 个 xeon 核心。

[profile glacier-writer]
region = us-west-2
output = json
s3 =
    max_concurrent_requests = 10
    max_queue_size = 100
    multipart_chunksize = 75MB
    multipart_threshold = 200MB

在 Windows 上

c:\users\username\.aws\configure

在 Linux 上

~\home\.aws\configure

进行上传

我所做的是简单的 S3 同步,但您也可以使用“s3 cp”简单地上传到 S3。

aws s3 sync C:\Source\Folder\ s3://bucket-name/ --profile glacier-writer --storage-class DEEP_ARCHIVE --exclude *.tmp

答案2

您现在可以使用 Amazon S3 Glacier Re:Freezer。https://aws.amazon.com/about-aws/whats-new/2021/04/new-aws-solutions-implementation-amazon-s3-glacier-re-freezer/

它是一种无服务器解决方案,可自动将整个 Amazon S3 Glacier 文件库存档复制到定义的目标 Amazon Simple Storage Service (Amazon S3) 存储桶和 S3 存储类。该解决方案可自动执行优化的还原、复制和传输过程,并提供预构建的 Amazon CloudWatch 仪表板以可视化复制操作进度。部署此解决方案可让您无缝地将 S3 Glacier 文件库存档复制到更具成本效益的存储位置,例如 Amazon S3 Glacier Deep Archive 存储类。

相关内容