우노
[Lambda] CloudWatch를 사용해 Lambda를 주기적으로 실행하는 방법 본문
들어가기 앞서,
- 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 설정은 해당 단계까지만 진행한 뒤, 이후 태그 구성, 검토 및 생성 단계는 넘어갑니다.
'AWS > Lambda' 카테고리의 다른 글
[AWS Lambda] Provisioned Concurrency 설정 방법 (0) | 2021.11.27 |
---|---|
[AWS Lambda] Duration, Billed Duration, Init Duration 간 차이 (0) | 2021.08.18 |
[AWS Lambda] Container Image 기반 Lambda 함수 구현 (4) | 2021.08.16 |
[AWS Lambda] Amazon EFS 기반 Lambda 함수 구현 (0) | 2021.08.13 |
[AWS Lambda] S3 파일 다운로드 (2) | 2021.05.18 |
Comments