Conceptly
← 전체 목록
🔀

AWS Step Functions

통합서버리스 워크플로 오케스트레이션

Step Functions는 여러 작업 단계를 순서, 분기, 재시도 규칙과 함께 묶어 실행하는 워크플로 엔진입니다. 개별 실행 로직보다 전체 절차의 상태 전이를 모델링하는 데 초점이 있습니다.

아키텍처 다이어그램

🔄 프로세스 다이어그램

점선 애니메이션은 데이터 또는 요청의 흐름 방향을 나타냅니다

왜 필요한가요?

승인, 결제, 후속 통지처럼 여러 단계를 거치는 작업을 코드 안 `if/else`와 재시도 로직으로만 묶기 시작하면 실패 지점이 보이지 않습니다. 단계가 하나만 늘어나도 흐름 추적과 복구가 급격히 어려워집니다.

왜 이런 방식이 등장했나요?

초기 서버리스 시스템은 이벤트를 연결하는 것까지는 쉬웠지만, 여러 단계를 안전하게 조율하는 일은 코드와 재시도 로직이 얽혀 복잡했습니다. 그래서 상태 기반 오케스트레이션 계층인 Step Functions가 중요해졌습니다.

안에서 어떻게 동작하나요?

Step Functions는 상태 머신으로 작업 순서, Choice 분기, 재시도, 타임아웃을 선언합니다. 각 단계는 Lambda, SQS, SNS 같은 다른 AWS 서비스 호출로 연결할 수 있고, 시각 워크플로 콘솔에서 단계별 상태를 추적하며 오류가 나면 어떤 단계에서 멈췄는지 바로 볼 수 있습니다.

무엇과 헷갈리나요?

Step Functions와 SQS는 둘 다 비동기 흐름에 등장하지만 책임이 다릅니다. Step Functions는 상태·분기·재시도를 가진 절차 오케스트레이션 엔진이고, SQS는 전달 대상이 메시지를 안전하게 소비하기까지 기다리는 큐입니다. 여러 단계의 순서와 실패 처리를 제어해야 하면 Step Functions를 보고, 작업을 쌓아두고 소비자 속도 차이를 흡수해야 하면 SQS를 보면 됩니다.

언제 쓰나요?

주문 승인, 배치 파이프라인, 사람이 끼는 절차, 장시간 작업 조율, 재시도와 분기가 많은 프로세스에 적합합니다. 상태나 분기 없이 이벤트를 단순 라우팅하는 경우에는 과합니다.

주문 처리데이터 파이프라인승인 워크플로에러 복구