使用python关闭实例脚本运行

时间:2016-11-21 20:25:06

标签: python amazon-web-services boto

我正在运行需要很长时间才能完成的机器学习脚本。我希望在更快的处理器上在AWS上运行它们,并在完成时停止实例。

可以在正在运行的脚本中使用boto来停止自己的实例吗?有更简单的方法吗?

2 个答案:

答案 0 :(得分:2)

如果您的EC2实例正在运行Linux,您只需发出haltshutdown命令即可​​停止EC2实例。这允许您在不需要IAM权限的情况下关闭EC2实例。

答案 1 :(得分:1)

有关如何创建连接的信息,请参阅Creating a Connection。从来没有试过这个,所以要小心。还要确保实例是EBS支持的。否则,当您停止实例时,实例将被终止。

import boto.ec2
import boto.utils

conn = boto.ec2.connect_to_region("us-east-1") # or your region

# Get the current instance's id
my_id = boto.utils.get_instance_metadata()['instance-id']

conn.stop_instances(instance_ids=[my_id])