实现Lambda函数以通过SSM运行命令

问题描述 投票:0回答:2

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

amazon-web-services aws-lambda ssm
2个回答
0
投票

不幸的是,这是一个非常广泛的问题,一个无法简单回答的问题。

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

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

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

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

在线编写lambdas有很多资源和示例,可以很容易地找到它们。


0
投票

为此使用cloudwatch规则。

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

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.