当前位置:网站首页>AWS实现定时任务-Lambda+EventBridge
AWS实现定时任务-Lambda+EventBridge
2022-07-31 13:41:00 【心软且酷丶】
概述:
我们要在aws上实现定时任务,例如:操作aws的ec2实例实现定时开关机需求,如何实现?最简便的方法是使用aws的lambda函数服务+EventBridge定时器服务
实现办法:
1.登录aws控制台,搜索lambda服务:
2.点击进去之后创建新函数:
3.编辑函数名称(自定义,使用英文),运行语言,基本常用的python,ruby,nodejs,java,go等全部支持,选择自己擅长的语言即可:
4.权限这块需要注意下,因为登录的账号角色不一定有aws某个服务的权限,例如有lambda的权限,但是你要操作ec2实例,但是没有ec2实例的权限,这个到了test的时候会有日志,到时候具体问题具体分析,我们这里选择创建新角色:
5.创建完之后编写lambda函数的代码-我们以启动ec2实例为例子,代码如下:
import boto3
# Enter the region your instances are in, e.g. 'us-east-1'
region = 'ap-test' ## ec2实例所在区域
# Enter your instances here: ex. ['X-XXXXXXXX', 'X-XXXXXXXX']
instances = ['i-0424dddddd1222'] ## 实例id
def lambda_handler(event, context):
ec2 = boto3.client('ec2', region_name=region)
ec2.start_instances(InstanceIds=instances)
print('启动ec2实例: ' + str(instances))
6.编写完点击deploy保存代码,然后点击配置:
7.在配置里修改点击编辑,修改3个重要的参数,修改完之后点击保存:
重要:(不修改会导致日志报各种奇怪的错)
内存修改为:1024M
短暂存储修改为:512M
超时时间修改为:15分钟
角色选择4里自建或者已有权限的角色
8.返回代码编辑部分,已保存代码,点击Test测试代码是否可以正常运行:
目前此ec2实例处于关机状态,测试是否可以通过lambda函数实现操作它开机
函数显示测试成功,返回ec2服务页面查看实例是否启动:
实例也正常启动了,证明lambda函数已生效:
9.在EventBridge里添加定时任务:
10.创建新规则:
如果是长期定时的周期性任务选择计划类
举例:每天的12:20执行任务
注意:
时间选择本地时间,否则会导致与实际时间不相符
因为aws ec2的时区是utc时间,所以其实实际情况是:你想要当前上午12点20执行任务,你必须设置本地时区时间并且往前推算8小时,也就是12点20的任务,cron里输入 20 04 * * ? *
11.点击下一步保存(最好是找个调试完的就近时间测试下)
12.创建完之后可以看到在EventBridge定时服务里已经生效
13.也可以在cloudwatch里去查看定时任务的执行日志, 去判断定时任务是否每天正常在运行
边栏推荐
猜你喜欢
技能大赛训练题:MS15_034漏洞验证与安全加固
hyperf的启动源码分析(二)——请求如何到达控制器
Reasons and solutions for Invalid bound statement (not found)
Golang - gin - pprof - use and safety
Spark学习:为Spark Sql添加自定义优化规则
ECCV 2022 | Robotic Interaction Perception and Object Manipulation
抓住金三银四的尾巴,解锁程序员面试《刷题神器》
Install the latest pytorch gpu version
EXCEL如何快速拆分合并单元格数据
ECCV2022: Recursion on Transformer without adding parameters and less computation!
随机推荐
LeetCode旋转数组
The latest complete code: Incremental training using the word2vec pre-training model (two loading methods corresponding to two saving methods) applicable to various versions of gensim
49.【拷贝构造函数与重载】
技能大赛训练题:ftp 服务攻防与加固
STM32的CAN过滤器
基于神经网络的多柔性梁耦合结构振动控制
Batch大小不一定是2的n次幂!ML资深学者最新结论
知名无人驾驶公司:文远知行内推
Shell脚本经典案例:探测批量主机是否存活
The operator,
动作捕捉系统用于柔性机械臂的末端定位控制
求一份常见Oracle故障模拟场景
C# List用法 List介绍
Invalid bound statement (not found)出现的原因和解决方法
Sliding window method to segment data
C# using ComboBox control
Even if the image is missing in a large area, it can also be repaired realistically. The new model CM-GAN takes into account the global structure and texture details
网络层重点协议——IP协议
C#控件ListView用法
全局平均池化层替代全连接层(最大池化和平均池化的区别)