【问题标题】:Python boto ec2 - Deleting snapshots of an AMIPython boto ec2 - 删除 AMI 的快照
【发布时间】:2014-10-05 22:35:09
【问题描述】:

我想删除一个 AMI 以及与之关联的所有快照。根据文档:

deregister_image(image_id, delete_snapshot=True)
Unregister an AMI.

Parameters: 
image_id (string) – the ID of the Image to unregister
delete_snapshot (bool) – Set to True if we should delete the snapshot associated with an EBS volume mounted at /dev/sda1

这是否意味着这只会删除根 EBS 卷的快照?其他 EBS 卷的快照呢?如何删除它们?

还是我完全错误地理解了快照的概念?所有 EBS 支持的设备是否只有一个快照?

【问题讨论】:

    标签: python amazon-ec2 boto


    【解决方案1】:

    如果您在最初注册 AMI 时提供了一个 snapshot_id 参数以用作映像的根设备,则 unregister_image 上的 delete_snapshot 参数允许您在取消注册 AMI 时选择删除此快照.

    您还想删除哪些其他“与 AMI 相关的快照”?

    【讨论】:

    • 嗯,除了根以外,我从来没有任何其他设备作为 EBS 支持的卷。但我假设您也可以将其他设备创建为 EBS 支持的卷。因此,当您创建 AMI 时,EC2 将自动创建所有这些 EBS 设备的快照。当我删除一个 AMI 时,我想删除在创建该特定 AMI 时创建的所有这些快照。
    • 我从来没有这样做过,但我看不出为什么你不能用块设备映射结构调用create_image,该结构创建了许多从快照创建的卷。在这种情况下,boto 当前只会删除与根卷关联的快照(如果 delete_snapshot 参数为 True),但它当然可以对块储存设备映射中的其他快照 ID 执行相同操作。当然,您也可以在自己的代码中执行此操作。您可以为 boto 创建一个问题以使其执行此操作。
    • @gamaat 感谢您的回复。我不知道 EBS 和块设备是一样的。我可以使用 image.block_device_mapping 为 iamge 获取所有 EBS 支持的设备。
    猜你喜欢
    • 1970-01-01
    • 2015-05-05
    • 1970-01-01
    • 2012-11-29
    • 1970-01-01
    • 2011-07-15
    • 1970-01-01
    • 2013-02-03
    • 2016-08-30
    相关资源
    最近更新 更多