【AWS】lambda 함수를 정기적으로 실행



lambda 는 액세스시에 로드, 전개된 후에 실행되기 (Cold Start) 때문에 첫회 실행이 느려집니다. 이것을 피하고 싶은 경우의 방법입니다.
Cron으로 가도 좋지만, 그 때문에 서버를 세우고 싶지 않기 때문에, 정기 실행도 lambda로 실시합니다.

다른 lambda의 자동 실행을 원한다면 비슷한 절차를 통해 가능합니다.

전제



이번에 lambda의 함수는 Python으로 만들고 APIGateway를 request로 두드려야합니다.

절차


  • lambda 업로드용 zip 준비
  • 작업 폴더에 모듈 배치
  • 소스 만들기
  • zip

  • 업로드
  • 테스트
  • 정기 실행 설정
  • cloudwatch event 추가
  • 설정


  • lambda 업로드용 zip 준비



    작업 폴더로 이동

    $cd path/to/work

    모듈 배치(설치)
    $ pip install requests -t ./
    

    소스 만들기

    lambda_function.py
    import requests
    
    def lambda_handler(event, context):
        #
        r = requests.get("https://absc1234ef.execute-api.ap-northeast-1.amazonaws.com/api/apiname")
        return r.text
    

    당신은 단위를 lambda에 등록할 필요가 있기 때문에 현지에 준비하고 zip에 굳힌다.
    $ zip -r upload.zip *

    업로드





    테스트



    테스트 버튼을 눌러, 예상한 응답이 돌아오면 OK.

    정기 실행 설정



    cloudwatch 이벤트 추가

    트리거에 CloudWatch Events 추가





    설정

    좋은 웹페이지 즐겨찾기