【问题标题】:Shutdown an ec2 instance after finishing computing计算完成后关闭一个ec2实例
【发布时间】:2021-01-12 07:17:06
【问题描述】:

我正在为学校的一个项目编写一个国际象棋引擎,我需要比我的电脑提供的更多的计算能力。 所以我转向 AWS,尤其是 EC2。我想测试不同的算法。

我知道如何启动实例以及如何在实例上开始计算,但是一旦计算完成,我想在 s3 上自动发送数据文件(我知道命令但不知道如何自动执行它)并关闭实例以避免支付任何费用。

感谢您的帮助,

【问题讨论】:

  • 关闭ec2实例后,默认停止。 docs.aws.amazon.com/AWSEC2/latest/UserGuide/…
  • 是的,但是我如何自动关闭实例,因为这是我的问题...
  • 你所说的是什么意思当然你必须运行一些代码来完成你的任务,比如将你的数据文件上传到s3,完成该操作后,你可以关闭正在执行的关闭命令。当您询问如何在机器中获取该代码时,您可以使用userdata。根据@jellycsc 在您调用关闭时指向的文档链接,您的实例将停止并且您停止为此付费。
  • 我的意思是:我正在用 python 编写我的引擎,所以我想在我的程序中实现(在国际象棋计算完成后)将数据文件发送到 s3 上的代码,然后将代码发送到关闭实例。它应该是自动的,所以我不需要重新连接到实例来关闭它,因为我不知道我的代码会运行多长时间。
  • 是的,您可以简单地从 python 代码中调用 或任何适合您调用shutdown的方法,将文件上传到s3。跨度>

标签: amazon-web-services amazon-ec2


【解决方案1】:

您提到您的脚本是用 python 编写的,在这种情况下,您可能可以使用 AWS Lambda 执行它并在 CloudWatch Events 规则中配置规则来定义运行脚本的时间。考虑 Lambda 允许的最长时间为 15 分钟,因此如果它不适合您的情况,您可以检查 ECS Fargate 计划任务以在定义的时间运行该进程,然后删除容器。

【讨论】:

    猜你喜欢
    • 2018-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-02
    • 2021-09-02
    相关资源
    最近更新 更多