我有一个需要响应的数据管道应用程序。完成后,我 ssh 到一个 ec-2 实例并执行一个脚本。数据管道完成后对该框执行 ssh 的最佳方法是什么?我应该使用 lambda 函数并让它侦听数据线完成和 ssh 到该框并执行脚本吗?我不能把剧本从那个盒子里拿出来。
问问题
583 次
2 回答
0
这里有几个我能想到的解决方案。
在 Datapipeline 完成的最后,在 S3 上写入一个零字节文件以表示它的结束。如您所述,S3 put 可以发出 Lambda 函数信号。但我不知道如何 rexec 一个 shell 脚本。
另一种方法是在 ec2-box 上安装 taskrunner 并使其参与您的数据管道。该 shell 脚本可能是管道中的“活动”。这是如何做到的http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-how-task-runner-user-managed.html 这种方法不需要超出您当前的 Datapipeline控制流,如果 shellscript 由于任何原因失败,管道将无法为您提供集成视图。
于 2015-04-30T20:30:46.893 回答
0
这就是我最终做的事情。我编写了一个 lambda 应用程序,它从 datapipeline 读取 SNS 消息,从加密的 S3 存储桶中提取一个 PEM,然后 sshed 到盒子中,并执行 shell 脚本。
于 2015-05-14T18:18:59.317 回答