AWS架构用于创建EC2窗口(使用AMI),运行my_command.bat,每月处理和终止EC2



我不确定这是否是问这类问题的合适平台,但这是我的最后希望,因为我是AWS的新手。

我有要求:

给定:AMI ID(已安装my_software,创建my_command.bat以使用CLI运行my_software)。

待办事项(每月重复):

  1. 从给定的AMI-ID(Windows)创建一个EC2实例(Windows)
  2. 在运行生成report.csvlog.csv文件的my_software的实例中运行my_command.bat文件
  3. report.csv发送到my_s3_bucket,并登录到CloudWatch
  4. 终止实例。(停止是不够的)

请建议相同的架构。

我做了类似的事情,它的工作原理如下:

  • 创建运行命令的docker镜像(它应该根据需要记录并写入s3)
  • 创建一个可以提取图像并运行容器的批处理环境
  • 创建Cloudwatch事件以按照所需的cron时间表运行作业
  • 事件目标是SQS队列
  • 创建一个lambda函数,用于响应SQS队列上的事件
  • lambda函数提交批处理作业

请注意,理论上您可以从Cloudwatch事件规则调用Lambda函数,但由于有私有子网,我必须使用队列。

Batch Fargate非常适合这样做,因为它只会在您的工作运行时使用资源。如果需要使用EC2,请确保MinvCpus为零,以便实例在运行后终止。这可能需要几分钟的时间,你会被收取费用,所以法盖特可能更适合。

最新更新