일정에 따라 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에서 만들 수 있어요.

출처: AWS Lambda 개발자 안내서

본문

실행 역할 설정

새 스케줄을 만들 때 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 트리거를 만들려면

  1. Lambda 콘솔의 Functions 페이지를 엽니다.
  2. 스케줄링하려는 함수를 선택합니다.
  3. Function overview 창에서 Add trigger를 선택합니다.
  4. 트리거 소스 드롭다운에서 Scheduler를 선택합니다.
  5. 스케줄 설정을 구성합니다.
    • 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가 필요한 권한의 정책을 만들어 역할에 연결합니다.
  6. 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 요금

더 알아보기 (Learn more)