오늘의 인기 글
최근 글
최근 댓글
Today
Total
05-07 00:02
관리 메뉴

우노

[Lambda] CloudWatch를 사용해 Lambda를 주기적으로 실행하는 방법 본문

AWS/Lambda

[Lambda] CloudWatch를 사용해 Lambda를 주기적으로 실행하는 방법

운호(Noah) 2022. 4. 27. 16:01

들어가기 앞서,

  • Lambda 의 실행 환경은 Cold Start 와 Warm Start 상태로 구분되며,
  • Lambda 는, 함수가 5분 동안 실행되지 않을 경우, 실행 환경을 Warm Start 에서 Cold Start 상태로 전환합니다.
    • Cold Start 상태에서의 함수 실행 시간은, Warm Start 상태에서의 함수 실행 시간보다 응답이 지연됩니다.
  • 따라서, Warm Start 를 유지하기 위한 방법 중 하나로, CloudWatch 를 사용해 주기적으로 Lambda 함수를 실행 해놓는 방법이 있습니다.

1. 단순히 Lambda 호출만 반복할 경우

  • Lambda 함수 접근 후, 좌측의 [트리거 추가] 클릭
  • 트리거 구성 후, 추가

1-1. Lambda 함수 접근 후, 좌측의 [트리거 추가] 클릭

1-2. 트리거 구성 후, 추가

  • 트리거 : EventBridge(CloudWatch Events)
  • 규칙 : 새 규칙 생성
  • 규칙 유형 : 예약 표현식
  • 예약 표현식 : rate(5 minutes)
    • 5분마다 Lambda 함수 실행한다는 의미입니다.
    • 자세한 표현식은 공식 문서를 참고하시면 됩니다.

2. Lambda 호출 반복 시, 이벤트 JSON 을 넘겨줘야하는 경우

  • Amazon EventBridge 접근 후, 우측의 [규칙 생성] 클릭
  • 규칙 세부 정보 정의
  • 일정 정의
  • 대상 선택
  • 추가 설정 및 생성

2-1. Amazon EventBridge 접근 후, 우측의 [규칙 생성] 클릭

2-2. 규칙 세부 정보 정의

  • 1분마다 Lambda 를 호출하도록, 규칙 유형은 [일정]을 선택

2-3. 일정 정의

  • 1분 마다 Lambda 를 호출하도록 일정 패턴 및 빈도 표현식 정의

2-4. 대상 선택

  • 실행 대상과 호출할 Lambda 함수를 선택한 뒤, 하단의 [추가 설정] 클릭

2-5. 추가 설정 및 생성

  • 대상 입력 구성 : 상수(JSON 텍스트)
  • JSON 상자 : Lambda Handler 의 이벤트 JSON 을 설정
  • EventBridge 설정은 해당 단계까지만 진행한 뒤, 이후 태그 구성, 검토 및 생성 단계는 넘어갑니다.
Comments