我想知道是否可以通过boto3检查是否安装了连接到EC2实例的EBS卷.这样做的原因是我相信许多实例已经卸载了卷,但管理员忘记分离卷,因此卷已经开帐单,但我们没有使用它.
我在boto3文档中看不到任何内容,我唯一能想到的就是尝试分离卷并查看它是否有错误,这会让我担心这个方法,以防万一将卷与实例分离安装和使用,可能会导致严重的问题.
我能想到的唯一另一件事是使用salt-key(我们用来管理配置)打印出一个实例列表,然后在服务器上运行“df -h”,剥离LVM,然后返回已挂载的卷列表,我可以与实例从boto3附加的卷列表交叉引用.这似乎是一种更安全的方式,但可能是一种痛苦,只能在我们的盐主人身上运行.
解决方法:
没有Boto没有任何此类功能. Boto允许您与AWS基础架构进行交互,而不是使用内部OS功能.
https://boto3.readthedocs.io/en/latest/reference/services/ec2.html#volume
您可以检查是否已连接卷,但如果已安装则无法检查.
您提到的过程是一种方法,但需要大量的人工干预.另一方面,您始终可以使用python运行命令并列出服务器上所有已安装的分区获取输出,并将其与您附加到可以使用Boto检索的实例的EBS卷列表交叉引用.