Lambda 워크플로 및 이벤트 관리
Lambda로 서버리스 애플리케이션을 구축할 때 함수 실행을 오케스트레이션하고 이벤트를 처리할 방법이 필요한 경우가 많습니다. AWS가 Lambda 함수를 조정하는 데 도움이 되는 두 가지 주요 서비스를 제공합니다.
-
워크플로 오케스트레이션을 위한 AWS Step Functions
-
이벤트 관리를 위한 Amazon EventBridge Scheduler 및 Amazon EventBridge
또한 Step Functions와 EventBridge를 애플리케이션에 통합할 수 있습니다. 예를 들어 EventBridge Scheduler를 사용하여 특정 이벤트가 발생할 때 Step Functions 워크플로를 트리거하거나 정의된 실행 시점에 EventBridge Scheduler에 이벤트를 게시하도록 Step Functions 워크플로를 구성할 수 있습니다. 이 섹션의 다음 주제에서는 이러한 서비스를 사용하는 방법과 관련한 상세한 정보를 제공합니다.
Step Functions를 사용하여 워크플로 오케스트레이션
AWS Step Functions는 여러 Lambda 함수 및 기타 AWS 서비스를 구조화된 워크플로로 조정하는 데 도움이 되는 워크플로 오케스트레이션 서비스입니다. 이러한 워크플로는 상태를 유지하고, 정교한 재시도 메커니즘으로 오류를 처리하고, 대규모로 데이터를 처리할 수 있습니다.
Step Functions는 다양한 오케스트레이션 요구 사항을 충족하는 두 가지 워크플로 유형을 제공합니다.
- 표준 워크플로
-
정확히 1회 실행 의미 체계가 필요한 장기 실행 및 감사 가능한 워크플로에 적합합니다. 표준 워크플로는 최대 1년 동안 실행되고, 자세한 실행 기록을 제공하고, 시각적 디버깅을 지원할 수 있습니다. 주문 이행, 데이터 처리 파이프라인, 다단계 분석 작업과 같은 프로세스에 적합합니다.
- Express 워크플로
-
이벤트 발생률이 높은 단기 워크로드용으로 설계되었으며 최소 1회 실행 의미 체계가 적용됩니다. Express 워크플로는 최대 5분 동안 실행할 수 있으며 대용량 이벤트 처리, 스트리밍 데이터 변환 또는 IoT 데이터 수집 시나리오에 적합합니다. 표준 워크플로에 비해 처리량이 높고 비용이 낮을 수 있습니다.
참고
Step Functions 워크플로 유형에 대한 자세한 내용은 Choosing workflow type in Step Functions를 참조하세요.
이러한 워크플로에서 Step Functions는 병렬 처리를 위한 두 가지 맵 상태 유형을 제공합니다.
- Inline Map
-
상위 워크플로의 실행 기록 내에서 JSON 배열의 항목을 처리합니다. Inline Map은 최대 40회의 동시 반복을 지원하며, 소규모 데이터세트 또는 단일 실행 내에서 모든 처리를 유지해야 하는 경우에 적합합니다. 자세한 내용은 Using Map state in Inline mode를 참조하세요.
- Distributed Map
-
256KiB를 초과하거나 40회 이상의 동시 반복이 필요한 데이터세트를 반복하여 대규모 병렬 워크로드를 처리할 수 있습니다. 최대 10,000개의 병렬 하위 워크플로 실행을 지원하는 Distributed Map은 JSON 또는 CSV 파일과 같이 Amazon S3에 저장된 반정형 데이터를 처리하는 데 탁월하므로 배치 처리 및 ETL 작업에 적합합니다. 자세한 내용은 Using Map state in Distributed mode를 참조하세요.
Step Functions는 이러한 워크플로 유형과 맵 상태를 결합하여 소규모 작업에서 대규모 데이터 처리 파이프라인에 이르기까지 복잡한 서버리스 애플리케이션을 오케스트레이션하는 유연하고 강력한 도구 세트를 제공합니다.
Step Functions에서 Lambda 사용을 시작하려면 Step Functions로 Lambda 함수 오케스트레이션을 참조하세요.
EventBridge 및 EventBridge Scheduler를 사용하여 이벤트 관리
Amazon EventBridge는 이벤트 기반 아키텍처 빌드에 도움이 되는 이벤트 버스 서비스입니다. AWS 서비스, 통합 애플리케이션, 서비스형 소프트웨어(SaaS) 애플리케이션 간에 이벤트를 라우팅합니다. EventBridge Scheduler는 하나의 중앙 서비스에서 작업을 생성, 실행, 관리할 수 있는 서버리스 스케줄러로, cron 및 rate 표현식을 사용하여 일정에 따라 Lambda 함수를 간접 호출하거나 일회성 간접 호출을 구성할 수 있습니다.
Amazon EventBridge 및 EventBridge Scheduler는 Lambda를 사용하여 이벤트 기반 아키텍처를 빌드하는 데 도움이 됩니다. EventBridge는 AWS 서비스, 통합 애플리케이션, SaaS 애플리케이션 간에 이벤트를 라우팅하는 반면, EventBridge Scheduler는 반복 또는 일회성으로 Lambda 함수를 간접 호출하는 구체적인 예약 기능을 제공합니다.
이러한 서비스는 Lambda 함수 작업을 위한 몇 가지 주요 기능을 제공합니다.
-
EventBridge를 사용하여 이벤트를 일치시키고 Lambda 함수로 라우팅하는 규칙 생성
-
EventBridge Scheduler의 cron 및 rate 표현식을 사용하여 함수의 반복 간접 호출 설정
-
특정 날짜 및 시간에 함수의 일회성 간접 호출 구성
-
예약된 간접 호출에 대해 유연한 기간 및 재시도 정책 정의
자세한 내용은 일정에 따라 Lambda 함수 간접 호출 섹션을 참조하세요.