千家信息网

怎么利用AWS Serverless服务Lambda来实现定时开关机

发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,这篇文章主要介绍"怎么利用AWS Serverless服务Lambda来实现定时开关机",在日常操作中,相信很多人在怎么利用AWS Serverless服务Lambda来实现定时开关机问题上存在疑惑,
千家信息网最后更新 2025年02月04日怎么利用AWS Serverless服务Lambda来实现定时开关机

这篇文章主要介绍"怎么利用AWS Serverless服务Lambda来实现定时开关机",在日常操作中,相信很多人在怎么利用AWS Serverless服务Lambda来实现定时开关机问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么利用AWS Serverless服务Lambda来实现定时开关机"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

一、什么是AWS Lambda

AWS Lambda 是一项计算服务,可使您无需预配置或管理服务器即可运行代码。您只需按消耗的计算时间付费 - 代码未运行时不产生费用。借助 AWS Lambda,您几乎可以为任何类型的应用程序或后端服务运行代码,而且无需执行任何管理。AWS Lambda 在可用性高的计算基础设施上运行您的代码,执行计算资源的所有管理工作,其中包括服务器和操作系统维护、容量预置和自动扩展、代码监控和记录。目前支持 Node.js、Java、C# 和 Python等语言。

二、场景描述

很多时候,对于测试和开发实例,为了节省花费,我们通常会选择设置定时开关机。实现定时开关机的方式有很多:

1. AWSCLI + Crontab

2. AWS Lambda + Cloudwatch Event

3. 结合AWS API编写程序(支持的语言C#,Python,Java等)

4. 第三方开发好的软件

在今天我们主要介绍使用AWS Lambda和Cloudwatch Event来实现定时开关机.

三、原理分析

在这个案例中,我们主要创建两个AWS Lambda函数(基于Python函数)来定时开机和关机,同时,创建CloudWatch Events去触发,实现每天晚上关机和早上开机的功能。

四、AWS Lambda 配置

1. 打开AWS Lambda 控制台,选择"创建AWS Lambda函数"(第一次使用AWS Lambda需要需要选择立即开始使用),在选择函数界面,选择"空白函数"

2. 配置触发器界面,直接选择下一步;

3. 配置函数界面,需要配置相关Lambda函数信息:

名称:"StopEC2Instances"

描述:"stops EC2 instances every day at night".

语言:Python 2.7.

4. 在Lambda 函数代码编辑框,复制如下信息:

import boto3

# Enter the region your instances are in, e.g. 'us-east-1'

region = 'XX-XXXXX-X'

# Enter your instances here: ex. ['X-XXXXXXXX', 'X-XXXXXXXX']

instances = ['X-XXXXXXXX']

def lambda_handler(event, context):

ec2 = boto3.client('ec2', region_name=region)

ec2.stop_instances(InstanceIds=instances)

print 'stopped your instances: ' + str(instances)

5. Lambda 函数处理程序和角色,选择"自定义角色",会弹出新的界面 ;

6. 在创建IAM角色界面,角色选择"自定义IAM角色",角色名字,写"lambda_start_stop_ec2"或者其他,

7. 在查看策略文档里main,复制如下策略:

{

"Version": "2012-10-17",

"Statement": [

{

"Effect": "Allow",

"Action": [

"logs:CreateLogGroup",

"logs:CreateLogStream",

"logs:PutLogEvents"

],

"Resource": "arn:aws:logs:*:*:*"

},

{

"Effect": "Allow",

"Action": [

"ec2:Start*",

"ec2:Stop*"

],

"Resource": "*"

}

]

}

8. 选择允许.

9. 直接点击"下一步",创建函数即可。

11. 重复上面的步骤创建启动实例的函数,代码如下:

import boto3

# Enter the region your instances are in, e.g. 'us-east-1'

region = 'XX-XXXXX-X'

instances = ['X-XXXXXXXX']

def lambda_handler(event, context):

ec2 = boto3.client('ec2', region_name=region)

ec2.start_instances(InstanceIds=instances)

print 'started your instances: ' + str(instances)

备注:名字和描述自己填,角色选择之前创建的即可。

五、配置Cloudwatch Event

接下来,我们需要创建一个CloudWatch事件去触发我们的AWS Lambda函数。

1. 进入Cloudwatch控制台.

2. 选择事件,规则,点击"创建规则"

3. 事件源:选择"计划",Crontab表达式:00 23 * * ? *

即设置每晚23点关机实例,关于更多关于表达式的格式,可以参考:https://docs.aws.amazon.com/zh_cn/console/cloudwatch/events/createrule

4. 目标栏,选择"添加目标",目标类型选择"Lambda函数",选择我们创建的StopEC2Instances函数,点击配置详细信息,以下可以参考:

文件名:"StopEC2Instances"

描 述:"stops EC2 instances every day at night".

状 态:已启用

5. 点击创建规则即可.

按照同样的步骤,创建另外的规则在开启实例的配置。

到此,关于"怎么利用AWS Serverless服务Lambda来实现定时开关机"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

选择 函数 服务 配置 代码 角色 界面 实例 规则 学习 运行 事件 信息 更多 目标 程序 语言 管理 接下来 名字 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 松原定制软件开发 数据库如何导出多份 网络安全演练成果汇报 文库 辽宁数据软件开发服务标准 按键精灵数据库查找 广宗实验小学网络安全宣传周 软件开发外包定制开发 超融合服务器价格查询 智能家居与网络技术哪个好 电脑软件开发的工具 两个dbf数据库合并 工业互联网天准科技股份 绵阳直销会员软件开发 杨浦区个人数据库价钱 重庆八戒工程网络技术有限公司 不一样的数据库复制进去无法识别 mysql数据库重建索引 易讯网络技术有限公司 服务器会自动查wifi吗 局 网络安全运行管理制度 中国软件开发不授予专利 电子表格数据统一加数据库 阿里云服务器怎么登录文件管理 社会化物业网络安全注意事项 同一服务器网站查询 软件开发的经历社会效益分析 网络技术必备技能 违网络安全法第二十七条 5G视代模式软件开发 网络安全八不准十严禁的内容
0