我可以在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,并在实例启动后立即运行将位于实例桌面上的批处理文件。
答案 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。通过在实例上具有可以远程触发的代理,从而无需登录到实例即可运行脚本。