Lambda,AWS和Python的自动化管理操作 - 自动开机和关机
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,上一篇豆子已经配置在PyCharm里面添加了boto3和pyboto3,因此写脚本的时候可以直接在自己的PyCharm里面编写。下面是一个例子遍历所有的region查找EC2,如果状态是开机,那就关掉
千家信息网最后更新 2025年12月02日Lambda,AWS和Python的自动化管理操作 - 自动开机和关机
上一篇豆子已经配置在PyCharm里面添加了boto3和pyboto3,因此写脚本的时候可以直接在自己的PyCharm里面编写。
下面是一个例子遍历所有的region查找EC2,如果状态是开机,那就关掉;或者倒过来也可以写成 如果是关机状态,就开机。
import boto3def lambda_handler(event, context): # Get list of regions ec2_client = boto3.client('ec2') regions = [region['RegionName'] for region in ec2_client.describe_regions()['Regions']] # Iterate over each region for region in regions: ec2 = boto3.resource('ec2', region_name=region) print("Region:", region) # Get only running instances instances = ec2.instances.filter( Filters=[{'Name': 'instance-state-name', 'Values': ['running']}]) #Stop the instances for instance in instances: instance.stop() print('Stopped instance: ', instance.id) # instances = ec2.instances.filter( # Filters=[{'Name': 'instance-state-name', # 'Values': ['stopped']}]) # # for instance in instances: # instance.start() # print('Start instance: ', instance.id)if __name__ == '__main__': lambda_handler(0,0)执行一下是工作的
C:\Users\yuan\PycharmProjects\aws\venv\Scripts\python.exe C:/Users/yuan/PycharmProjects/aws/StopInstance.pyRegion: eu-north-1Region: ap-south-1Region: eu-west-3Region: eu-west-2Region: eu-west-1Region: ap-northeast-2Region: ap-northeast-1Region: sa-east-1Region: ca-central-1Region: ap-southeast-1Region: ap-southeast-2Stopped instance: i-0bb70cc9666ce2af3Region: eu-central-1Region: us-east-1Stopped instance: i-00e9dc7c254dbe497Region: us-east-2Region: us-west-1Region: us-west-2然后我们在aws的Lambda里创建一个新的函数, 这里我已经自定义了一个role了,确保这个role可以对ec2有开机和关机的权限

IAM的权限如下所示:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:*" }, { "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeRegions", "ec2:StartInstances", "ec2:StopInstances" ], "Resource": "*" } ]}
拷贝函数上来
接下来 在cloudwatch里面添加一个新的rule
创建向导,这里选择schedule,这里使用 cron的表达式,注意他是GMT的时间,因此需要自己和本地时间转换一下
写好之后他会有个友好的提示界面
完成创建
回到Lambda的界面, 可以看见他的触发器多了一个CloudWatch Events
等待执行之后,可以查看日志
也可以确认EC2 服务 的确关机了
函数
时间
权限
状态
界面
接下来
例子
向导
拷贝
日志
时候
脚本
表达式
触发器
豆子
上一
工作
提示
服务
选择
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
项目网络安全防范措施
落实网络安全保密工作责任制
网络安全框架设施
安卓数据库的清单文件
互联网科技创新创业基金
2个数据库数据传递
12月12日国家网络安全日图片
ftp服务器管理多个站点
夏天歪服务器
航模 服务器电源 安全吗
越秀区发改局数据库
建立access数据库
云服务器两个系统怎么切换
用户管理系统 数据库
华为无法联系到服务器怎么回事
河南青柚网络技术有限公司
山景科技网络技术有限公司
河南洛曌网络技术
成都大运会网络安全采购
青铜峡管理软件开发
曙光服务器管理口默认ip
石化行业网络安全工作原理
农村安全饮水平台 数据库
网络安全十不准图片
云服务器ip地址亚马逊
轨道交通的网络技术
安徽数据网络技术代理商
共享文件网络安全密码忘记
浙江网络技术设计
计算机房网络安全操作规范图片