任务完成后会自动停止EC2吗?

时间:2019-06-11 22:50:52

标签: amazon-web-services amazon-ec2

我有一个lambda每小时启动一次EC2。 EC2上的(Windows)操作系统在启动时运行脚本。该任务可能需要1分钟到45分钟的时间。我希望脚本运行后停止EC2。

我可以想到一种实现此目标的方法。我可以在EC2本身上安装aws cli并运行类似aws ec2 stop-instances --instance-ids i-07c1849fe7abcdef的东西。这样做感觉很奇怪。有更好的方法吗?

注意

为清楚起见,我不想简单地在实例上设置计时器。假设我设置了一个45分钟的计时器,即使任务仅需3分钟,我也会支付45分钟的费用。我希望实例在脚本运行后立即停止,无论脚本运行了多长时间。

1 个答案:

答案 0 :(得分:1)

您的实例可以使用操作系统命令关闭电源

在Linux上,它将是:

sudo shutdown now -h

-h表示停止,它将触发电源关闭。如果未包括,操作系统将停止,但实例将继续运行。)

这可以与Instance Initiated Shutdown Behavior结合使用,它可以:

  • 停止实例(听起来像您想要的声音)
  • 终止实例(如果每次都启动一个新实例,则很好)

Shutdown Behavior

此方法不需要IAM权限。