Lambda,AWS和Python的自动化管理操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lambda,AWS和Python的自动化管理操作相关的知识,希望对你有一定的参考价值。

最近开始从头学习Lambda 在AWS里面的自动化运用。我的操作主要是基于Python 3.7的版本,AWS的Python模块叫做Boto。具体的语法和概念都不赘述了,直接来看具体的例子。

首先来看看第一个简单的操作,如何创建一个新的EC2实例。

第一步,创建一个新的lambda函数,选择 author from scratch,这里他默认会自动创建一个IAM的role,并赋予访问cloudwatch log的权限

技术图片

默认的权限显示如下
技术图片

这里我们需要授予创建EC2的权限 ,因此需要修改对应的JSON。我们可以在IAM的role里面找到这个默认创建的Role,在默认的权限上面添加对 ec2:runinstances 访问就可以了。当然我们也可以一开始就手动创建一个新的role。

技术图片

下面是更新之后的权限图
技术图片

接下来是Lambda函数。Lambda函数都是靠事件来触发的,因此传入参数里面有event和context。

函数里面首先是导入模块
接下来传入几个环境变量,这几个环境变量是直接在函数下面的表格里面自定义的
然后在lambda_handler这个入口函数里面,直接创建一个新的EC2实例,传入参数。注意这个函数有2个形式参数event和context,这个是函数自带的,这里我们用不上,但是仍然需要写上

技术图片

这几个环境变量分别代表 AMI的代码,实例类型,Key pair的名字和 subnet的子网代码

技术图片

点击test,会提醒配置test的事件,这里我们不需要传入任何参数,因此选择最简单的hello world模板,传入一个空的参数就行了

技术图片

保存之后再次点击test, 会显示成功执行

技术图片

查看一下EC2实例 ,的确一个新的实例已经创建了!
技术图片

以上是关于Lambda,AWS和Python的自动化管理操作的主要内容,如果未能解决你的问题,请参考以下文章

Lambda,AWS和Python的自动化管理操作 - 自动开机和关机

AWS Lambda 自动化和 PowerShell

AWS Lambda 自动化和 Python - 自动创建S3 Bucket lifecycle

在python中自动测试aws lambda函数

AWS攻略——使用CodeBuild进行自动化构建和部署Lambda(Python)

AWS攻略——使用CodeBuild进行自动化构建和部署Lambda(Python)