在windows ec2实例上运行批处理文件,然后关闭实例?

在windows ec2实例上运行批处理文件,然后关闭实例?,windows,batch-file,amazon-ec2,cron,Windows,Batch File,Amazon Ec2,Cron,我想每天运行一个WindowsEC2实例上的.bat文件 有没有办法安排实例每天运行此文件,然后关闭ec2实例,而无需手动转到ec2管理控制台并启动实例?这里有两个要求: 每天在特定时间启动实例(这是我根据您每天关闭实例的愿望所做的一个假设,因此需要启动它) 运行脚本,然后关闭 选项1:启动和停止 Amazon CloudWatch事件可以按照给定的时间表执行任务,例如每天一次。虽然它有许多内置功能,但它无法以本机方式启动实例。因此,将其配置为触发AWS Lambda函数。Lambda函数可

我想每天运行一个WindowsEC2实例上的.bat文件


有没有办法安排实例每天运行此文件,然后关闭ec2实例,而无需手动转到ec2管理控制台并启动实例?

这里有两个要求:

  • 每天在特定时间启动实例(这是我根据您每天关闭实例的愿望所做的一个假设,因此需要启动它)
  • 运行脚本,然后关闭
选项1:启动和停止

Amazon CloudWatch事件可以按照给定的时间表执行任务,例如每天一次。虽然它有许多内置功能,但它无法以本机方式启动实例。因此,将其配置为触发AWS Lambda函数。Lambda函数可以通过单个API调用启动实例

当实例启动时,使用正常的Windows操作系统功能运行所需的程序,例如:

程序完成运行后,应向Windows操作系统发出命令,以关闭Windows。这样做(而不是试图安排关机)的好处是,程序将在激活任何关机之前运行到完成。只需确保将EC2实例配置为关闭时停止(这是默认行为)

选项2:启动和终止

您可以使用Amazon CloudWatch事件时间表启动新实例,而不是启动和停止实例

传递所需的PowerShell脚本以在实例的用户数据中运行。此脚本可以安装和运行软件

脚本完成后,应调用Windows OS命令关闭Windows。但是,这次配置在关闭时终止,以便终止(删除)实例。这很好,因为上面的计划下次将启动一个新实例

此方法的好处是,可以通过用户数据脚本完全配置软件配置以及每次应运行的内容,而无需启动实例、登录、更改脚本,然后关闭。没有必要仅仅为了在一天中的大部分时间停止而保留一个实例

选项3:重新考虑你的计划,选择无服务器

与其使用AmazonEC2实例来运行脚本,不如研究运行AWS Lambda函数的能力。Lambda函数可能能够执行您想要的所有处理,而无需启动/启动/停止/终止实例。它也更便宜


某些限制可能会排除此选项(例如运行时间最多为5分钟,磁盘空间限制为500MB),但这应该是您探索的第一个选项,而不是启动/停止Amazon EC2实例。

这里有两个要求:

  • 每天在特定时间启动实例(这是我根据您每天关闭实例的愿望所做的一个假设,因此需要启动它)
  • 运行脚本,然后关闭
选项1:启动和停止

Amazon CloudWatch事件可以按照给定的时间表执行任务,例如每天一次。虽然它有许多内置功能,但它无法以本机方式启动实例。因此,将其配置为触发AWS Lambda函数。Lambda函数可以通过单个API调用启动实例

当实例启动时,使用正常的Windows操作系统功能运行所需的程序
,例如:

程序完成运行后,应向Windows操作系统发出命令,以关闭Windows。这样做(而不是试图安排关机)的好处是,程序将在激活任何关机之前运行到完成。只需确保将EC2实例配置为关闭时停止(这是默认行为)

选项2:启动和终止

您可以使用Amazon CloudWatch事件时间表启动新实例,而不是启动和停止实例

传递所需的PowerShell脚本以在实例的用户数据中运行。此脚本可以安装和运行软件

脚本完成后,应调用Windows OS命令关闭Windows。但是,这次配置在关闭时终止,以便终止(删除)实例。这很好,因为上面的计划下次将启动一个新实例

此方法的好处是,可以通过用户数据脚本完全配置软件配置以及每次应运行的内容,而无需启动实例、登录、更改脚本,然后关闭。没有必要仅仅为了在一天中的大部分时间停止而保留一个实例

选项3:重新考虑你的计划,选择无服务器

与其使用AmazonEC2实例来运行脚本,不如研究运行AWS Lambda函数的能力。Lambda函数可能能够执行您想要的所有处理,而无需启动/启动/停止/终止实例。它也更便宜

某些限制可能会排除此选项(例如运行时间最多为5分钟,磁盘空间限制为500MB),但它应该是您探索的第一个选项,而不是启动/停止Amazon EC2实例