IT 기술 / / 2025. 4. 11. 21:08

AWS Eventbridge 일정으로 여러 Lambda 동시에 실행하기

 

AWS EventBridge 일정으로 여러 Lambda를 실행하는 방법

 

— 하나의 스케줄로 여러 작업을 동시에 실행하기

 

AWS Lambda를 사용하다 보면, 같은 시간대에 여러 작업을 동시에 실행해야 할 때가 있습니다.

예를 들어 매일 자정마다 데이터 정리 Lambda와 백업 Lambda를 동시에 실행하고 싶을 때, EventBridge에서 Lambda를 개별적으로 등록하는 방법도 있지만, 더 깔끔하고 유연하게 처리하는 방법이 있습니다.

바로 SNS Topic을 중간에 두고 브로드캐스트하는 방식 입니다.

 

이번 글에서는 EventBridge의 하나의 일정으로 여러 Lambda를 실행하는 구조를 구현하는 방법을 소개합니다.

 


전체 아키텍처 개요

EventBridge Schedule Rule: 원하는 주기대로 이벤트를 발생

SNS Topic: 여러 Lambda로 메시지를 브로드캐스트

Lambda Functions: SNS를 트리거로 각각 동작

 

이 방식의 장점은 다음과 같습니다.

새로운 Lambda를 추가할 때마다 EventBridge를 수정하지 않아도 된다.

같은 스케줄로 작동하는 작업들을 한 눈에 관리할 수 있다.

SNS가 중간에서 메시지를 전달하는 구조로, 확장성 및 관리가 유리하다.

 


Step 1. EventBridge 일정 생성

 

 

먼저 EventBridge 콘솔에서 일정(EventBridge Schedule Rule) 을 생성합니다.

1. AWS Management Console → EventBridge 이동

2. 규칙 생성 클릭

3. 이벤트 소스: EventBridge 일정 선택

4. 일정 표현식 (Cron) 입력

예: 매일 자정

cron(0 0 * * ? *)

 

 

💡 Tip: AWS Cron 표현식은 공식 문서에서 자세히 확인할 수 있습니다.

 


Step 2. SNS Topic 생성 및 EventBridge 대상 설정

 

EventBridge 일정이 생성되면, 이제 이벤트를 전달할 SNS Topic 을 생성합니다.

1. SNS 콘솔 → 주제주제 생성

유형: 표준(Standard)

이름: my-schedule-broadcast (원하는 이름으로)

2. 주제 생성 완료 후 다시 EventBridge 콘솔로 이동하여,

대상: Amazon SNS - Publish

SNS 주제: 앞서 만든 주제(ex: my-schedule-broadcast) 선택

 

이제 EventBridge에서 발생하는 이벤트가 SNS로 전달됩니다.

 


Step 3. Lambda 함수 트리거로 SNS Topic 연결

이제 Lambda 함수들을 SNS Topic에 구독시키면 됩니다.

1. AWS Lambda 콘솔 → 원하는 Lambda 선택

2. 트리거 추가 클릭

3. SNS 선택 → Topic 선택 (my-schedule-broadcast)

4. 저장

 

원하는 모든 Lambda에 대해 위 과정을 반복합니다.


마무리: 하나의 스케줄로 여러 Lambda 실행 완료!

 

이제 설정이 끝났습니다.

EventBridge가 지정한 주기마다 SNS로 이벤트를 전송하고, SNS는 연결된 모든 Lambda로 이벤트를 브로드캐스트합니다.

 

SNS를 중간에 두는 구조는 관리와 확장성 측면에서 매우 유용합니다. 나중에 Lambda를 추가하거나 제거할 때 EventBridge를 건드릴 필요 없이 SNS Topic의 구독만 관리하면 되기 때문입니다.

 


마치며

 

이번 글에서는 AWS EventBridge와 SNS를 활용해 하나의 일정으로 여러 Lambda를 실행하는 방법을 알아봤습니다.

SNS를 활용하면 새로운 Lambda 추가 시에도 EventBridge를 건드릴 필요 없이, SNS 구독만 추가하면 되므로 유연하고 확장성 있는 구조를 설계할 수 있습니다.

 

더 복잡한 시나리오에서는 SNS 대신 SQS를 사용하거나, Lambda Function 내부에서 태스크 분기를 구현하는 방식도 고민해볼 수 있습니다.

 


같이 보면 좋은 자료

AWS 공식 문서: EventBridge 일정 표현식

AWS 공식 문서: SNS를 트리거로 Lambda 실행하기

https://stackoverflow.com/questions/77588858/invoke-multiple-lambda-functions-in-a-single-eventbridge-schedule

  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유