EC2事件[运行] + Lambda函数

时间:2016-10-17 21:25:04

标签: amazon-web-services amazon-ec2 aws-lambda

我需要做的是:启动EC2实例时,lambda函数或其他函数会安装脚本来监视主机中的内存和磁盘使用情况。

我在思考如何做到这一点......任何人都可以给我一个想法吗?

3 个答案:

答案 0 :(得分:2)

你不需要lambda。将安装脚本作为用户数据传递。

请参阅:Running Commands on Your Linux Instance at Launch

答案 1 :(得分:0)

使用缩放组时,必须指定LaunchConfig。 LaunchConfig的一部分是实例引导时执行的用户数据脚本。 如果您使用它来创建新的EC2 VM,也可以从CloudFormation脚本轻松完成此操作。 你可以在这里找到脚本的样本。 enter link description here

答案 2 :(得分:0)

您的要求似乎是监控Amazon EC2实例的内存和磁盘使用情况。我将假设您希望通过 Amazon CloudWatch 监控它。

Amazon CloudWatch为EC2实例提供默认指标,包括CPU利用率,网络流量和磁盘访问。这些指标可从管理程序中看到。但是,CloudWatch无法看到EC2实例的“内部”,因此需要从实例中运行脚本来跟踪可用内存和可用磁盘空间等内容。脚本与操作系统通信以检索这些指标,这就是他们必须在实例中“运行”的原因。

某些标准监视脚本可用于Linux实例:Monitoring Memory and Disk Metrics for Amazon EC2 Linux Instances

当然,您可以将自己的脚本编写到send custom metrics to CloudWatch。安装后,脚本将在重新启动实例时自动运行。

如果您希望在 EC2实例上安装这些脚本(或您自己的脚本),可以使用以下几种方法:

  • 在一个实例上安装脚本,然后创建包含该磁盘副本的该实例的 Amazon Machine Image(AMI)。然后,您可以使用该AMI启动新实例,并且脚本已经安装在新实例上。
  • 使用用户数据脚本启动实例以安装监控脚本。通过用户数据传递的任何脚本将在第一次启动实例时自动运行。