Привет, у меня есть эта простая лямбда-функция, которая останавливает все экземпляры EC-2, помеченные Auto_off.Я установил цикл for, чтобы он работал для двух регионов: us-east-1 и us-east-2.Я запускаю функцию в регионе us-east-2.
проблема в том, что только экземпляр, расположенный в us-east2, останавливается, а другой - нет (находится в us-east-1).какие изменения я могу сделать.
, пожалуйста, предложите, поскольку я новичок в библиотеке питона и бото
import boto3
import logging
#setup simple logging for INFO
logger = logging.getLogger()
logger.setLevel(logging.INFO)
#define the connection
ec2 = boto3.resource('ec2')
client = boto3.client('ec2', region_name='us-east-1')
ec2_regions = ['us-east-1','us-east-2']
for region in ec2_regions:
conn = boto3.resource('ec2',region_name=region)
def lambda_handler(event, context):
# Use the filter() method of the instances collection to retrieve
# all running EC2 instances.
filters = [{
'Name': 'tag:AutoOff',
'Values': ['True']
},
{
'Name': 'instance-state-name',
'Values': ['running']
}
]
#filter the instances
instances = ec2.instances.filter(Filters=filters)
#locate all running instances
RunningInstances = [instance.id for instance in instances]
#print the instances for logging purposes
#print RunningInstances
#make sure there are actually instances to shut down.
if len(RunningInstances) > 0:
#perform the shutdown
shuttingDown = ec2.instances.filter(InstanceIds=RunningInstances).stop()
print shuttingDown
else:
print "Nothing to see here"