如何允许实例删除附加卷的旧快照?

Flu*_*ffy 3 amazon-ec2 amazon-web-services aws-cloudformation

我正在尝试创建一个可以创建EC2实例的云信息模板,安装2GB的卷并执行定期快照,同时还删除那些说一周或更久的快照.

虽然我可以获取并集成访问密钥和密钥,但似乎需要签名证书才能删除快照.我找不到使用cloudformation创建新证书的方法,所以我似乎应该手动创建一个新用户和证书并将其放到模板参数中?在这种情况下,用户是否能够删除所有快照(包括那些不是来自该实例的快照)是否正确?

有没有办法将快照删除限制为只有具有匹配描述的快照?或者处理删除旧快照的正确方法是什么?

Eri*_*ond 5

我的建议是使用CloudFormation创建IAM角色(而不是IAM用户)并将此角色分配给实例(再次使用CloudFormation).应允许该角色根据需要删除快照.

使用实例上的IAM角色删除快照的最简单方法之一是使用boto Python AWS库.如果您在具有指定IAM角色的实例上运行它,Boto会自动查找并使用正确的凭据.

这里我只是用来删除快照,一个简单的博托脚本snap-51930522us-east-1:

#!/usr/bin/python
import boto.ec2
boto.ec2.connect_to_region('us-east-1').delete_snapshot('snap-51930522')
Run Code Online (Sandbox Code Playgroud)

或者,您可能让外部服务器运行快照清理,而不是在实例本身上运行它.除了简化凭证管理和cron作业分发之外,它还允许您在停止或终止实例后进行清理.