当前位置:网站首页>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里去查看定时任务的执行日志, 去判断定时任务是否每天正常在运行
边栏推荐
猜你喜欢
深度剖析 Apache EventMesh 云原生分布式事件驱动架构
「面经分享」西北大学 | 字节 生活服务 | 一面二面三面 HR 面
C#获得网卡信息 NetworkInterface IPInterfaceProperties
uniapp微信小程序引用标准版交易组件
技能大赛训练题:MS15_034漏洞验证与安全加固
C#控件StatusStrip使用
【蓝桥杯选拔赛真题46】Scratch磁铁游戏 少儿编程scratch蓝桥杯选拔赛真题讲解
使用CompletableFuture进行异步处理业务
Detailed explanation of network protocols and related technologies
Samba 远程命令执行漏洞(CVE-2017-7494)
随机推荐
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
【蓝桥杯选拔赛真题46】Scratch磁铁游戏 少儿编程scratch蓝桥杯选拔赛真题讲解
Spark Learning: Add Custom Optimization Rules for Spark Sql
How IDEA runs web programs
ADS communicate with c #
SetoolKit使用指南
【牛客刷题-SQL大厂面试真题】NO3.电商场景(某东商城)
STM32——软件SPI控制AD7705[通俗易懂]
PHP序列化:eval
Flutter键盘可见性
技能大赛训练题:域用户和组织单元的创建
C# List用法 List介绍
技能大赛dhcp服务训练题
The importance of strategic offensive capability is much higher than strategic defensive capability
文本相似度计算(中英文)详解实战
Solution for browser hijacking by hao360
All-round visual monitoring of the Istio microservice governance grid (microservice architecture display, resource monitoring, traffic monitoring, link monitoring)
P5019 [NOIP2018 提高组] 铺设道路
Four ways to clear the float and its principle understanding
ICML2022 | 面向自监督图表示学习的全粒度自语义传播