我们专注攀枝花网站设计 攀枝花网站制作 攀枝花网站建设
成都网站建设公司服务热线:400-028-6601

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

Lambda,AWS和Python的自动化管理操作-创建新的EC2实例-创新互联

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

成都创新互联公司主要从事网页设计、PC网站建设(电脑版网站建设)、wap网站建设(手机版网站建设)、响应式网站建设、程序开发、网站优化、微网站、小程序设计等,凭借多年来在互联网的打拼,我们在互联网网站建设行业积累了丰富的网站设计、网站制作、网站设计、网络营销经验,集策划、开发、设计、营销、管理等多方位专业化运作于一体。

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

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

Lambda,AWS和Python的自动化管理操作 - 创建新的EC2 实例

默认的权限显示如下
Lambda,AWS和Python的自动化管理操作 - 创建新的EC2 实例

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

Lambda,AWS和Python的自动化管理操作 - 创建新的EC2 实例

下面是更新之后的权限图
Lambda,AWS和Python的自动化管理操作 - 创建新的EC2 实例

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

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

Lambda,AWS和Python的自动化管理操作 - 创建新的EC2 实例

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

Lambda,AWS和Python的自动化管理操作 - 创建新的EC2 实例

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

Lambda,AWS和Python的自动化管理操作 - 创建新的EC2 实例

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

Lambda,AWS和Python的自动化管理操作 - 创建新的EC2 实例

查看一下EC2实例 ,的确一个新的实例已经创建了!
Lambda,AWS和Python的自动化管理操作 - 创建新的EC2 实例

这个例子创建成功了,但是我已经发现在控制台里面输入脚本不那么方便了。豆子写Python更习惯在windows下使用Pycharm,那么如何在Pycharm里面使用boto3呢?

首先需要安装boto3

pip install boto3

然后还需要安装一个工具叫做 pyboto3, 这是因为默认情况下Pycharm没法自动为boto3 进行autocomplete,安装pyboto3之后就可以提示函数了,不过目前只支持boto3.client的使用。

pip install pyboto3

最后打开Pycharm的设置,添加Project Interpreter

Lambda,AWS和Python的自动化管理操作 - 创建新的EC2 实例

为了访问我的aws账户,我还需要配置credential。下载安装
AWS CLI。然后在cmd里面输入

aws configure

根据提示填写对应的信息。

配置完成之后,下面简单的测试一下是否工作。

Lambda,AWS和Python的自动化管理操作 - 创建新的EC2 实例

执行一下

import boto3

def getEC2():

    ec2=boto3.client('ec2')
    """ :type : pyboto3.ec2 """
    instance=ec2.describe_instances()
    print(instance)

if __name__ == '__main__':
    getEC2()

获取到我刚刚创建的EC2 信息。

Lambda,AWS和Python的自动化管理操作 - 创建新的EC2 实例

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


标题名称:Lambda,AWS和Python的自动化管理操作-创建新的EC2实例-创新互联
文章路径:http://mswzjz.cn/article/djpiec.html

其他资讯