Мне нужно создать план завершения для всех экземпляров EC2, которые у меня есть.
т.е. Если сервер останавливается на 7 дней подряд, то только это ec2 может быть прервано. если нет, то не могу.
Есть идеи, как это сделать? я думаю сделать это с помощью правила событий Cloud watch, потянув все остановленные экземпляры на 7 дней больше, и его цель - через лямбду, поэтому он проверит правило и прекратит его. Будет ли это работать? если да как? Идеи, пожалуйста.
import boto3
ec2client = boto3.client('ec2')
def lambda_handler(event, context):
instancesWithEvent = ec2client.describe_instance_status(
Filters=[
{
'Name': 'event.code',
'Values': [
'instance-reboot', 'system-reboot', 'system-maintenance', 'instance-retirement', 'instance-stop'
]
},
],
MaxResults=1000,
IncludeAllInstances=False
)
instancesToTerminate=[]
for index in instancesWithEvent['InstanceStatuses']:
instancesToTerminate.append(index['InstanceId'])
if len(instancesToTerminate) > 0:
print("Instances to terminate: %s " % (', '.join(instancesToTerminate)))
ec2client.terminate_instances( DryRun=False, InstanceIds=instancesToTerminate )
else:
print("No instances with events found.")
return()