You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

EBS快照是否成功迁移至Glacier?及归档检索问题咨询

问题分析与解决方案

一、EBS快照未正确迁移至Glacier的原因

你遇到的存储大小不匹配问题,核心原因是你的脚本根本没上传快照的实际数据,只是把快照ID字符串传到了Glacier!

看这段关键代码:

for snap in snapshots:
    response_vault = client.upload_archive(
        vaultName='myvault',
        archiveDescription='sampe description',
        body=snap
    )

这里的body=snap传入的是snap-xxxxxx这类短字符串(比如snap-0dc11fa8b39147491),而非快照的二进制内容。所以Glacier里的归档只是这些几十字节的字符串,自然大小远小于10GB的快照。

正确的迁移步骤

EBS快照不能直接通过Glacier客户端上传,必须先导出到S3再迁移:

  1. 导出快照到S3:使用EC2的create_snapshot_export_task API,把快照导出到指定S3桶(需提前配置好桶权限、IAM角色等)。
    示例代码:
    ec2 = session.client('ec2', region_name='ap-south-1')
    export_response = ec2.create_snapshot_export_task(
        SnapshotId='snap-xxxxxx',
        Description='Export snapshot to S3',
        DestinationBucket='your-target-s3-bucket',
        DestinationPrefix='exported-snapshots/'
    )
    
  2. 迁移到Glacier:推荐用S3生命周期规则,把导出的快照对象自动转换到Glacier存储类;也可以下载S3对象后再用Glacier客户端上传,但前者更高效。

另外,AWS原生的**EBS快照归档(Snapshot Archive)**功能可以直接把快照归档到Glacier层,不需要手动导出到S3,操作更省心,你可以优先考虑。

二、未指定S3桶时如何获取归档内容

当你发起archive-retrieval任务却没指定S3桶时,AWS会暂存检索后的内容,按以下步骤即可获取:

  1. 等待检索任务完成:

    • 你已经配置了SNS主题,任务完成时会收到包含Job ID的通知。
    • 也可以轮询describe_job API检查状态:
      import time
      job_id = response['jobId']
      while True:
          job_status = client.describe_job(vaultName='myvault', jobId=job_id)
          if job_status['Completed']:
              break
          time.sleep(3600)  # 标准检索通常需3-5小时,每小时轮询一次即可
      
  2. 读取并保存归档内容:
    任务完成后,调用get_job_output获取StreamingBody,再按块读取保存到本地:

    response = client.get_job_output(
        vaultName='myvault',
        jobId=job_id
    )
    streaming_body = response['body']
    # 保存到本地文件
    with open('retrieved_archive.data', 'wb') as f:
        for chunk in streaming_body.iter_chunks(chunk_size=1024*1024):
            f.write(chunk)
    

    StreamingBody是可迭代对象,按块读取能避免内存溢出。


内容的提问来源于stack exchange,提问作者py_py

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:21:15