我想每晚停止特定区域的实例,让我们说us-east-1,尽管我不想指定实例ID。相反,我想停止该区域中存在的所有实例。我正在使用以下代码。我可以对代码进行哪些更改?
import boto3
region = 'us-east-1'
instances = ['i-12345cb6de4f78g9h', 'i-08ce9b2d7eccf6d26']
def lambda_handler(event, context):
ec2 = boto3.client('ec2', region_name=region)
ec2.start_instances(InstanceIds=instances)
print 'started your instances: ' + str(instances)
答案 0 :(得分:2)
您可以获取所有实例ID,然后将其停止-
ec2 = boto3.resource('ec2')
instances = ec2.instances.filter(
Filters=[{'Values': ['running']}])
instance_ids = [instance.id for instance in instances]
ec2.instances.filter(InstanceIds=instance_ids).stop()
请参阅boto文档here