使用 Learner Lab - 创建一个 AWS Lambda 函数,停止在 AWS 中运行的 EC2 实例

Academy Learner LabAWS 提供一个帐号让学生可以自行使用 AWS 的服务,让学生可以在 100 USD的金额下,自行练习所要使用的 AWS 服务,这篇文章介绍的是如何使用 VPC 设置自己想要的环境供 EC2 使用。

Lambda 是一种无服务器计算服务,它能提供内置的容错能力和自动计算扩展功能。

实践活动内容:

  • 在此动手实践活动中,您将创建一个 AWS Lambda 函数。您还将创建一个 Amazon CloudWatch 事件以每分钟触发一次该函数。该函数使用 AWS Identity and Access Management (IAM) 角色。通过此 IAM 角色,该函数可以停止在 Amazon Web Services (AWS) 账户中运行的 Amazon Elastic Compute Cloud (Amazon EC2) 实例。

步骤一:创建EC2

1、在控制台搜索EC2。
在这里插入图片描述

2、单击 启动新实例 。

3、设置名称,AMI,实例类型,密钥对,安全组。

步骤二、创建 Lambda 函数

1、在 AWS 管理控制台上中,从 Services(服务)菜单中选择 Lambda。
在这里插入图片描述

2、单击 Create function(创建函数)。
在这里插入图片描述
3、在 Create function(创建函数)屏幕上,配置以下设置:

  • 选择 Author from scratch(从头开始创作)
  • “Function name”(函数名称):test
  • “Runtime”(运行时):Python 3.8
  • 单击 更改默认执行角色
  • “Execution role”(执行角色):Use an existing role(使用现有角色)
  • “Existing role”(现有角色):从下拉列表中选择 LabRole

在这里插入图片描述

在这里插入图片描述
4、单击 Create function(创建函数)。

步骤三:配置触发器

1、单击 + Add trigger(+ 添加触发器)。
在这里插入图片描述

2、单击 Select a trigger(选择触发器)下拉菜单,然后选择 EventBridge (CloudWatch Events)。

3、在规则部分,请选择 Create a new rule(创建新规则),然后配置以下设置:

  • “Rule name”(规则名称):everyMinute
  • “Rule type”(规则类型):Schedule expression(计划表达式)
  • “Schedule expression”(计划表达式):rate(1 minute)

注意:如果使用 cron 表达式(而非 rate 表达式),则可能会触发更真实的基于计划的 stopinator Lambda 函数。但是,在本次活动中,使用 rate 表达式可确保尽快触发 Lambda 函数,以便您可以看到结果。

在这里插入图片描述

4、单击 Add(添加)。

在这里插入图片描述

在这里插入图片描述

4、单击 启动实例 。
在这里插入图片描述

5、查看刚刚创建实例的ID。
在这里插入图片描述

我创建的实例ID为i-03a6f9b78b038ff56

步骤四:配置 Lambda 函数

1、在 Designer(设计师)框中,单击 *test *(这是 Lambda 函数的名称)以显示和编辑 Lambda 函数代码。

2、在 Function code(函数代码)框中,删除现有的代码。复制以下代码并将其粘贴到函数代码框中:

import boto3
region = '<REPLACE_WITH_REGION>'
instances = ['<REPLACE_WITH_INSTANCE_ID>']
ec2 = boto3.client('ec2', region_name=region)

def lambda_handler(event, context):
    ec2.stop_instances(InstanceIds=instances)
    print('stopped your instances: ' + str(instances))

在这里插入图片描述

3、将 <REPLACE_WITH_REGION> 占位符替换为您实际使用的区域。为此,请执行以下操作:

单击右上角的区域,然后使用区域代码。例如,美国东部(弗吉尼亚北部)的区域代码为 us-east-1。
在这里插入图片描述

重要提示:在代码中,请在区域值两侧使用一对单引号 (’ ') 将其包含在这对单引号内。例如,对于弗吉尼亚北部,它将为 us-east-1

4、验证您账户中正在运行的名为 test-instance2 的 EC2 实例,并复制 test-instance2 实例 ID。
在这里插入图片描述

5、返回 AWS Lambda 控制台浏览器选项卡,将 <REPLACE_WITH_INSTANCE_ID> 替换为您刚刚复制的实际实例 ID。
在这里插入图片描述

6、在 Function Code(函数代码)框的右上角,选择 Deploy(部署)。
在这里插入图片描述

7、单击靠近页面顶部的选项卡 Monitoring(监控)。

步骤五:验证 Lambda 函数是否可正常运行

1、返回 Amazon EC2 控制台的浏览器标签页,看看您的实例是否已停止。
在这里插入图片描述

在这里插入图片描述

单击 Deploy 后的实例。
在这里插入图片描述

在这里插入图片描述

实例将在 1 分钟内停止。

恭喜!您已完成本次活动。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值