Остановка всех экземпляров определенного региона - PullRequest
0 голосов
/ 12 мая 2019

Я хочу остановить экземпляры определенного региона, скажем, us-east-1 каждую ночь, хотя я не хочу указывать идентификатор экземпляра. Скорее я хотел бы остановить все экземпляры, присутствующие в регионе. Я использую следующий код. Какие изменения я могу внести в код?

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)

1 Ответ

2 голосов
/ 12 мая 2019

Вы можете получить все идентификаторы экземпляра и затем остановить их -

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 здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...