通过(python)lambda在EC2上运行批处理文件

时间:2019-06-01 18:22:10

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

我可以在Start and Stop Instances at Scheduled Intervals Using Lambda and CloudWatch中看到从lambda启动EC2的通用方法。

假设我使用该方法来启动EC2,并且假设AMI是Windows Server 2019,该服务器被定制为在桌面上具有 <input OnlyAlphabetNumber [disabled]="p.debit.length" type="text" [(ngModel)]="p.credit" class="form-control" value="{{ p.credit }}" /> 文件,并且还假设我正在使用python lambda。

如何从lambda执行此批处理文件? (即就像有人将RDP插入实例并双击它一样)

注意:十分清楚,基本上,我想使用AWS文档中的方法(上面)启动EC2,并在实例启动后立即运行将位于实例桌面上的批处理文件。

1 个答案:

答案 0 :(得分:0)

我认为您将一些概念混在一起。

AWS Lambda函数在Lambda服务上运行,无需使用Amazon EC2实例。这就是使它们“无服务器”的原因。

如果您在Amazon EC2实例上有一个批处理文件,那么您可能想在EC2实例本身上运行该批处理文件,而不会涉及Lambda(因为您拥有 >有服务器)。

如果您希望在EC2实例首次启动时在其上运行脚本,则可以通过“用户数据”字段提供PowerShell或命令行脚本。 AMI上的软件将在实例首次启动时自动执行此脚本。

此脚本可以自行完成所有工作,也可以仅调用存储在磁盘上的另一个脚本。有些人使用脚本从存储库(例如Amazon S3或GitHub)下载另一个脚本,然后执行下载的脚本。

有关更多信息,请参见:Running Commands on Your Windows Instance at Launch - Amazon Elastic Compute Cloud

如果Amazon EC2实例已经正在运行,并且您希望触发脚本来执行,则可以使用AWS Systems Manager Run Command。通过在实例上具有可以远程触发的代理,从而无需登录到实例即可运行脚本。