일정에 따라 Lambda 함수 호출하기
일정에 따라 Lambda 함수 호출하기 (Invoke a Lambda function on a schedule)
Amazon EventBridge Scheduler는 하나의 중앙 관리형 서비스에서 태스크를 만들고, 실행하고, 관리할 수 있는 서버리스 스케줄러예요. EventBridge Scheduler로 cron과 rate 표현식을 사용한 반복 패턴 스케줄이나 일회성 호출을 구성할 수 있어요. 전달을 위한 유연한 시간 창을 설정하고, 재시도 한도를 정의하고, 처리되지 않은 이벤트의 최대 보존 시간도 설정할 수 있어요.
EventBridge Scheduler를 Lambda와 함께 설정하면 EventBridge Scheduler가 Lambda 함수를 비동기적으로 호출해요. 스케줄은 Lambda 콘솔(Add trigger 흐름), EventBridge Scheduler 콘솔, AWS CLI, 또는 CloudFormation에서 만들 수 있어요.
본문
실행 역할 설정
새 스케줄을 만들 때 EventBridge Scheduler는 사용자 대신 대상(target) API 작업을 호출할 권한이 있어야 해요. 이 권한은 실행 역할(execution role)을 사용해 EventBridge Scheduler에 부여해요. 스케줄의 실행 역할에 연결하는 권한 정책이 필요한 권한을 정의해요. 이 권한은 EventBridge Scheduler가 호출하려는 대상 API에 따라 달라져요.
Lambda 콘솔이나 EventBridge Scheduler 콘솔로 스케줄을 만들면 EventBridge Scheduler가 선택한 대상에 따라 실행 역할을 자동으로 설정해요. EventBridge Scheduler SDK 중 하나, AWS CLI, 또는 CloudFormation으로 스케줄을 만들려면 대상을 호출하는 데 필요한 권한을 부여하는 기존 실행 역할이 있어야 해요.
Lambda 콘솔에서 스케줄 만들기
Lambda 콘솔의 Add trigger 흐름을 사용해 콘솔을 벗어나지 않고 EventBridge Scheduler 스케줄을 만들 수 있어요.
Lambda 콘솔을 사용해 Scheduler 트리거를 만들려면
- Lambda 콘솔의 Functions 페이지를 엽니다.
- 스케줄링하려는 함수를 선택합니다.
- Function overview 창에서 Add trigger를 선택합니다.
- 트리거 소스 드롭다운에서 Scheduler를 선택합니다.
- 스케줄 설정을 구성합니다.
- Schedule name – 스케줄 이름을 입력합니다.
- Schedule group – 스케줄 그룹을 선택하거나 기본값을 사용합니다.
- Schedule type – 다음 중 하나를 선택합니다.
- One-time schedule – 지정된 날짜와 시간에 함수를 한 번 호출합니다.
- Recurring schedule – cron 또는 rate 표현식으로 함수를 반복 호출합니다.
- (선택 사항) JSON payload를 입력합니다. payload를 입력하지 않으면 EventBridge Scheduler가 빈 이벤트로 함수를 호출합니다.
- 실행 역할을 구성합니다. EventBridge Scheduler가 실행 역할을 새로 만들게 하려면 Create new role for this schedule을 선택하고 Role name에 이름을 입력합니다. 이 옵션을 선택하면 EventBridge Scheduler가 필요한 권한의 정책을 만들어 역할에 연결합니다.
- Add를 선택합니다.
팁
Add trigger 흐름에서
schedule,cron,time,recurring을 검색해 이 트리거를 찾을 수도 있어요.
EventBridge Scheduler 콘솔로도 스케줄을 만들 수 있어요. EventBridge Scheduler 콘솔에서는 유연한 시간 창, 데드 레터 큐 같은 추가 옵션을 구성할 수 있어요.
EventBridge Scheduler 트리거 보기
함수를 대상으로 하는 모든 EventBridge Scheduler 스케줄은 함수 구성 페이지의 Triggers 섹션 Scheduler 라벨 아래에 나타나요. 여기에는 다음 소스 중 어떤 것에서 만든 스케줄도 포함돼요.
- Lambda 콘솔(Add trigger 흐름)
- EventBridge Scheduler 콘솔
- AWS CLI, SDK, CloudFormation(ScheduleV2 이벤트 유형 사용), AWS SAM(aws-scheduler 모듈 사용)
참고
스케줄이 Universal Target Invocation(UTI) 대상과 함께 암호화에 고객 관리 키를 사용하면 트리거 목록에 나타나지 않을 수 있어요. 이런 스케줄을 보려면 EventBridge Scheduler 콘솔을 사용하세요.
EventBridge Scheduler가 함수를 호출했는지 확인하려면 함수의 Amazon CloudWatch 로그를 확인하세요.
관련 리소스
- EventBridge Scheduler 사용자 안내서
- EventBridge Scheduler API 참조
- EventBridge Scheduler 요금