2017-12-13 2 views
0

AWS Lambda를 통해 내 EC2 인스턴스를 자동으로 백업하려고합니다.AWS Lambda boto3 : 시작 시간 = 오늘 필터 인스턴스

나는이 두 가지 스크립트를 사용했으며 정상적으로 작동합니다. https://gist.github.com/bkozora/724e01903a9ad481d21e https://gist.github.com/bkozora/d4f1cf0e5cf26acdd377

하지만 스크립트가 오늘 시작하고 백업 태그가 된 인스턴스를 삭제하거나 백업 기능을 추가하고 싶습니다.

나는 Launch Time = (오늘의 날짜)에 의해 인스턴스 목록을 추가로 필터링 한 다음 자정 직전에 필터링 된 목록의 함수를 실행하여이 작업을 수행 할 수 있다고 생각합니다.

슬프게도 나는 완전히 새로운 점을 알기 때문에 구문을 어떻게 생겼는지 알지 못합니다.

그러나 단지 코드의 상기 부분은 다음과 비슷한 모습이 될 것입니다 자세한 설명을위한

:

#.... 

var date = datetime.datetime.now(); 

Filters=[ 
      {'Name': 'tag-key', 'Values': ['Backup']}, 
      {'Name': 'instance.launch_time', 'Values': [date]}   
     ] 

#.... 
#(and then the code to make a backup of every instance in the filtered list. 

그렇게 잘하면 누군가가 나를 여기에 도울 수 시작 시간에 의해 필터링 목록에 아무것도 찾을 수 없습니다.

답변

0

launch-time의 경우 주어진 날짜 내에 언제든지 일치하도록 와일드 카드를 사용할 수 있습니다. 오늘 Dec 13th 2017 경우, 당신은이 매력 덕분처럼 많은 일을 2017-12-13*

import boto3 
from datetime import date 

date_filter = date.isoformat(date.today()) + '*' 
ec2 = boto3.resource('ec2') 

instances = ec2.instances.filter(Filters=[{'Name':'launch-time', 'Values':[date_filter]}]) 
for instance in instances: 
    print instance.instance_id 
+0

지정할 수 있습니다! –

+0

@ T.Moser https://stackoverflow.com/help/someone-answers – helloV