Aws-Cli

aws-cli describe-instances,按日期範圍查找

  • January 16, 2019

使用 aws-cli 客戶端 ( https://github.com/aws/aws-cli ),有沒有辦法使用日期範圍過濾器查找實例?或者使用“早於 X 日期”或“最後 X 天”過濾器?

似乎唯一與日期相關的過濾器是指定確切的日期或帶有字元串萬用字元的部分日期。例如,我發現指定日期如下:

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

例如,所有實例都在 2015 年 3 月啟動。

我想要的相當於這個 POSIX “查找”命令,“查找過去 30 天的所有內容”:

find . -mtime -30

您不能,但要使用 boto 庫在 python 中執行此操作,例如,列出 30 多天前啟動的 aws 區域“eu-west-1”中的實例。

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

引用自:https://serverfault.com/questions/674319