使用python基于boto3和tkintrer模块-编写一个AWS-EC2的管理器界面
Posted on 2023-07-29 21:40 520_1351 阅读(85) 评论(0) 编辑 收藏 举报当我们管理自己AWS账号下的EC2资源时,一般都是登录到Console界面进行管理
笔者自己的AWS经常是用于做一些实验时,才会去创建EC2,部署一些环境等,为了不用登录Console操作
于是使用python, tkinter模块写了一个GUI的管理工具,先看一下整体界面如下:
这个小工具,有创建EC2 , 查询EC2, 删除指定的EC2,删除全部的EC2 四个功能
笔者在设计时,也增加了一些如下小细节
1、点击【创建EC2】资源后,会在前面显示新建的EC2的实例ID,私有IP,以及创建时的 【CreateTime】这个tag,用于记录创建时间
这样以后可以通过CreateTime这个Tagy就知道 EC2资源是什么时间创建的,另:当程序创建完成后,会调用一次【查询】按钮所绑定的函数
这样也就会在下方的列表框中,展示出所有的EC2资源 ,通过与【创建EC2】左侧的文本框对比,也就知道新建的EC2的更详细的信息
说明:因为EC2创建时,都是让自动分配的公网IP地址,因此在刚创建完,未启动的时候,是查询不到公网IP的,不过创建后启动了,在下方列表框就能看到
2、关于【删除选中EC2】和 【删除全部EC2】两个功能比较危险,必须增加确认弹窗,这样可以访止误操作,以删除一台EC2为例,效果如下
可以看删除EC2,先是会关机,过一会儿再查询就是terminated终止的状态了
关于【删除选中EC2】这个功能设计成了,只能选中一个EC2实例条目,删除前弹出确认的弹窗,如果没有选择EC2条目,也会错误提醒,并退出函数,的核心代码如下:
def EC2_Delete(): Ec2client=Session.client('ec2',region_name=region_name,aws_access_key_id=aws_access_key_id,aws_secret_access_key=aws_secret_access_key) Selected_item=Left_List_01.curselection() try: Selected_item=Left_List_01.get(Selected_item) except: tkinter.messagebox.showerror("错误","请先选择一个要删除的实例条目") return 1 result=tkinter.messagebox.askyesnocancel("确认","你确定要删除选中的实例吗?",default=tkinter.messagebox.NO) if result: EC2ID=Selected_item[0] Terminate_instances_response = Ec2client.terminate_instances(InstanceIds=[EC2ID])
其他说明:像对于EC2的终止命令,也是有着幂等性原则的,执行一次和多次效果也是一样的,只要实例ID还在就不会抛出异常
尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/17590612.html
作者:一名卑微的IT民工
出处:https://www.cnblogs.com/5201351
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
由于博主的水平不高,文章没有高度、深度和广度,只是凑字数,不足和错误之处在所难免,希望大家能够批评指出。
博主是利用读书、参考、引用、复制和粘贴等多种方式打造成自己的文章,请原谅博主成为一个卑微的IT民工!