我有一个 EC2 实例,我想对其进行快照,以用作未来 Spot 实例的 AMI。由于我为此实例创建卷的方式,它当前设置为在终止时不删除。
我希望它在终止时删除,这样我就可以将它用于现场实例,而不会有需要手动删除的剩余卷。
我已经梳理了 AWS 手册、堆栈交换、谷歌等,我只能找到对“终止时删除”标志的引用,但没有解释如何使用它。
我有一个 EC2 实例,我想对其进行快照,以用作未来 Spot 实例的 AMI。由于我为此实例创建卷的方式,它当前设置为在终止时不删除。
我希望它在终止时删除,这样我就可以将它用于现场实例,而不会有需要手动删除的剩余卷。
我已经梳理了 AWS 手册、堆栈交换、谷歌等,我只能找到对“终止时删除”标志的引用,但没有解释如何使用它。
采用@akshar 所写的内容,您可以将它们全部放在同一行中,而无需额外的 json 文件:
aws ec2 modify-instance-attribute --instance-id i-123abc45 --block-device-mappings "[{\"DeviceName\": \"/dev/sdf\",\"Ebs\":{\"DeleteOnTermination\":true}}]"
/dev/sdf
您的实例中的挂载点在哪里
接受其他人所说的,一行,没有 JSON 编码和丑陋的转义:
modify-instance-attribute --instance-id $ID --block-device-mappings 'DeviceName=/dev/sdf,Ebs={DeleteOnTermination=true}'
您可以使用 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
}
}
]