aws-cli describe-instances, localizar por intervalo de datas

5

Usando o cliente aws-cli ( link ), há uma maneira de encontrar instâncias usando uma data intervalo filtro? Ou usando um filtro "anterior a data X" ou "últimos X dias"?

Parece que o único filtro relacionado a datas é especificar uma data exata ou uma data parcial com curingas de cadeia. Por exemplo, descobri que especificar uma data da seguinte maneira funciona:

aws ec2 describe-instances --filters "Name=launch-time,Values=2015-03\*"

Por exemplo, obtém todas as instâncias lançadas em março de 2015.

O que eu quero é equivalente a este comando POSIX "find", "encontrar todas as coisas dos últimos 30 dias":

find . -mtime -30
    
por JDS 10.03.2015 / 15:09

2 respostas

1

Você não pode, mas fazê-lo em python usando a biblioteca boto, como por exemplo, para listar as instâncias na região aws "eu-west-1" lançadas há mais de 30 dias.

import boto.ec2
import datetime
from dateutil import parser
conn = boto.ec2.connect_to_region('eu-west-1')
reservations = conn.get_all_instances()
for r in reservations:
    for i in r.instances:
        launchtime = parser.parse(i.launch_time)
        launchtime_naive = launchtime.replace(tzinfo=None)
        then = datetime.datetime.utcnow() + datetime.timedelta(days = -30)
        if launchtime_naive < then:
            print i.id
    
por 10.03.2015 / 17:25
9

Encontrado em Use o filtro "tempo de inicialização" para encontrar todas as instâncias mais recentes que a data X? Consulta JMESPath :

aws ec2 describe-instances --query 'Reservations[].Instances[?LaunchTime>='2015-03-01'][].{id: InstanceId, type: InstanceType, launched: LaunchTime}'
    
por 24.07.2015 / 02:07

Tags