将数据从 Glacier Vault 移动到 Glacier Deep Archive

Mic*_*man 3 amazon-web-services amazon-glacier

我有几个 Glacier 数据保险库,里面有数据。
我想将该数据移动到新的存储类 - “冰川深层档案”。

怎么做?我在保管库首选项的控制台中看不到这样的选项。

Tim*_*Tim 6

当 Glacier 出现时,我看到了这个,我在 AWS 博客上发表了一条从未回复过的评论。

我能说的最好的是没有从 Glacier 到 Glacier Cold Archive 的迁移路径。您必须手动迁移数据。

我有两种建议的方法:

本地上传

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

下载然后上传

第二种方法是

  • 从 Glacier 恢复数据
  • 将数据下载到本地计算机或理想情况下的 EC2 按需实例(不要发现,因为如果您的实例终止,您可能会丢失数据)
  • 使用 IA 层将数据上传到 S3

创建用户

这是我用于从 Windows 上传的 S3 命令。请注意,您需要个人资料“冰川作家”

您将创建一个 IAM 用户,该用户有权访问该存储桶以及您需要的任何其他资源。提供他们的访问/秘密密钥。如果你需要用一个角色来做这件事,它会做更多的工作,但并不难,网上有文档

aws configure --glacier-writer
Run Code Online (Sandbox Code Playgroud)

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

[profile glacier-writer]
region = us-west-2
output = json
s3 =
    max_concurrent_requests = 10
    max_queue_size = 100
    multipart_chunksize = 75MB
    multipart_threshold = 200MB
Run Code Online (Sandbox Code Playgroud)

在 Windows 上,这是在

c:\users\username\.aws\configure
Run Code Online (Sandbox Code Playgroud)

在 Linux 上,它位于

~\home\.aws\configure
Run Code Online (Sandbox Code Playgroud)

上传

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

aws s3 sync C:\Source\Folder\ s3://bucket-name/ --profile glacier-writer --storage-class DEEP_ARCHIVE --exclude *.tmp
Run Code Online (Sandbox Code Playgroud)