0

我在 ssm 中有一个运行文档,用于在服务器上安装一些代理。现在,我想通过在启动新实例时运行这些文档来自动执行此任务。我想通过 aws lambda(在启动新实例时实现运行命令的脚本)来实现这一点 任何帮助将不胜感激!!!

4

2 回答 2

0

不幸的是,这是一个非常广泛的问题,不可能简单地回答。

我首先建议您决定您希望使用哪种语言编写 lambda 函数,目前有 .NET、python、Node.js、Java 和 Go。

Node.js 是一种相当容易上手的语言,因为它得到了很好的支持,您可以在内联 AWS 代码编辑器中编写它。

我建议在控制台中创建新的 lambda 函数时查看 aws 提供的模板 Node.js lambda 函数。这将帮助您了解如何将它们组合在一起以及可以使用的各种方式。如果您掌握了这些技巧并发现它们很容易理解,那么您可以查看 Node.js SSM api,它应该在 lambda 运行时默认可用,并尝试运行一些命令。

当然,如果您不擅长 Node.js 并且主要使用另一种语言,那么这是一个完全不同的问题。

网上有很多用于编写 lambda 的资源和示例,很容易找到。

于 2018-11-23T05:22:10.087 回答
0

为此使用 cloudwatch 规则。

EC2 Instance State-change Notification为和running状态创建 cloudwatch 规则。使用 lambda 作为目标,并在实例上从 lambda(通过 API)调用 SSM 命令。该事件将包含您需要的详细信息,例如实例 ID。希望您熟悉 AWS API 以及如何使用它。您需要为您的 Lambda 提供适当的 IAM 角色才能使其正常工作。此外,请记住 Cloudwatch 事件是特定于区域的,并且只能在同一区域中调用 lambda。

在此处输入图像描述

于 2018-11-23T09:04:24.803 回答