12

我有一个 EC2 实例,我想对其进行快照,以用作未来 Spot 实例的 AMI。由于我为此实例创建卷的方式,它当前设置为在终止时不删除。
我希望它在终止删除,这样我就可以将它用于现场实例,而不会有需要手动删除的剩余卷。

我已经梳理了 AWS 手册、堆栈交换、谷歌等,我只能找到对“终止时删除”标志的引用,但没有解释如何使用它。

4

4 回答 4

10

采用@akshar 所写的内容,您可以将它们全部放在同一行中,而无需额外的 json 文件:

 aws ec2 modify-instance-attribute --instance-id i-123abc45 --block-device-mappings "[{\"DeviceName\": \"/dev/sdf\",\"Ebs\":{\"DeleteOnTermination\":true}}]"

/dev/sdf您的实例中的挂载点在哪里

于 2014-07-05T13:13:48.980 回答
2

启用终止时删除,例如 http://itsecureadmin.com/2011/06/aws-instance-ebs-volume-delete-on-termination/

于 2011-11-15T20:25:41.067 回答
2

接受其他人所说的,一行,没有 JSON 编码和丑陋的转义:

modify-instance-attribute --instance-id $ID --block-device-mappings 'DeviceName=/dev/sdf,Ebs={DeleteOnTermination=true}'
于 2018-04-05T14:21:40.223 回答
1

您可以使用 AWS-CLI 执行此操作:

最简单的方法是使用modify-instance-attribute命令提供的子aws ec2命令。

aws ec2 modify-instance-attribute --instance-id i-123ab12f --block-device-mappings file://~/some.json 

文件内容some.json应为:

[
    {
    "DeviceName": "/dev/sda1",
    "Ebs": {
      "DeleteOnTermination": true
      }
    }
]
于 2014-02-24T15:12:16.207 回答