home
SAA-C03

[Compute] Step Functions 컨셉 노트

시험 빈출 Step functions 컨셉 노트

AWS Step Functions for SAA-C03

One-Line Summary

Step Functions는 여러 작업(주로 Lambda·ECS 등)을 정해진 순서·분기·병렬로 엮어 하나의 워크플로로 실행하고, 각 단계의 상태·재시도·오류 처리를 대신 관리해주는 서버리스 오케스트레이션이다. 다단계 작업15분을 넘는 장기 작업이 핵심 키워드다.

Why It Exists

여러 Lambda를 코드로 직접 호출해 이으면 상태 저장·재시도·오류 처리·진행 추적을 전부 직접 구현해야 하고 디버깅이 어렵다.

Step Functions는 이 오케스트레이션 로직을 선언적 워크플로로 분리한다.

Lambda들을 코드로 직접 연결
  -> 상태/재시도/오류 처리/추적을 사람이 다 구현, 디버깅 어려움

Step Functions
  -> 순서·분기·병렬을 상태 기계(State Machine)로 선언
  -> 상태 추적·재시도·오류 처리·시각화를 서비스가 대신

시험 감각:

"여러 작업을 순서대로, 재시도·오류 처리까지 관리하며 조율" = Step Functions.

Abbreviations

약어풀네임의미
Step FunctionsAWS Step Functions서버리스 워크플로 오케스트레이션
State MachineState Machine워크플로를 상태(State)의 흐름으로 표현한 것
ASLAmazon States Language워크플로를 정의하는 JSON 기반 언어
RetryRetry실패 시 자동 재시도 규칙
CatchCatch실패 시 대체 경로로 오류를 처리하는 규칙

어떻게 작업을 연결하고 무엇을 관리하나

Start -> [작업A] -> [조건 분기 Choice] -> [작업B] / [작업C] -> [병렬 Parallel] -> End

- 각 단계(State)의 순서·분기(Choice)·병렬(Parallel)·대기(Wait)를 선언적으로 정의
- 각 단계 실행 상태를 추적하고 시각화
- 실패하면 자동 재시도(Retry) / 대체 경로(Catch)로 오류 처리
- 상태 저장·재시도 로직을 사람이 코드로 관리할 필요 없음
항목의미
목적다단계 작업을 순서/분기/병렬로 조율
자동 관리실행 상태 추적, 재시도(Retry), 실패 처리(Catch), 시각화
실행 시간Standard 워크플로 최대 1년 → Lambda의 15분 한계를 넘는 장기 작업 가능
언제 쓰나다단계·조건·재시도가 필요한 비즈니스 프로세스, ETL, 주문 처리 등

Standard vs Express

구분StandardExpress
최대 실행 시간최대 1년최대 5분
실행 보장정확히 1회(exactly-once)최소 1회/at-most-once
적합장기·감사 필요한 워크플로초고빈도·짧은 이벤트 처리

직접 서비스 통합 (Lambda가 전부는 아니다)

모든 단계를 Lambda로 감쌀 필요가 없다. Step Functions는 워크플로 단계에서 여러 AWS 서비스를 직접 호출할 수 있다. 단순 서비스 호출에 굳이 Lambda를 두면 코드·비용·유지보수만 늘어난다.

직접 호출 가능한 대표 서비스용도 예시
Lambda커스텀 로직 실행
SQS / SNS메시지 전송·알림
DynamoDB항목 읽기/쓰기
ECS / AWS Batch컨테이너·배치 작업 실행

시험 감각:

"워크플로 단계에서 단순히 DynamoDB에 쓰거나 SNS로 알림" → Lambda 없이 Step Functions 직접 통합으로 충분.

왜 코드로 직접 엮지 않고 Step Functions인가

여러 Lambda를 코드로 이으면 상태·재시도·오류 처리·추적을 직접 구현해야 한다. Step Functions는 이를 서비스가 대신하고 시각적으로 추적하게 해줘, 장애 지점 파악과 유지보수가 쉬워진다.

시험 감각:

"작업이 15분을 넘는다" → Lambda 단독 대신 Step Functions로 오케스트레이션.

Common Wrong Directions

오답 방향왜 부족한가
다단계 재시도/오류 처리를 Lambda 코드 안에 다 넣음상태·재시도·분기 관리는 Step Functions가 정석
15분 넘는 다단계 작업을 Lambda 하나로Lambda는 15분 한계 → Step Functions로 장기 조율
단순 단일 함수 호출에 Step Functions 도입한 단계뿐이면 오케스트레이션 불필요, Lambda로 충분
단순 서비스 호출마다 Lambda로 감쌈SQS/SNS/DynamoDB 등은 직접 통합으로 호출 가능

Exam Triggers

문제에서 이런 표현이 나오면떠올릴 것
"orchestrate multiple steps", "coordinate multiple Lambda functions"Step Functions
"retry / error handling / state management"Step Functions
"visualize workflow / audit each step"Step Functions
"workflow runs longer than 15 minutes"Step Functions (Standard)
"very high-volume short workflows"Step Functions (Express)
"call SQS/SNS/DynamoDB from a workflow without Lambda"Step Functions 직접 서비스 통합

Memory Sentence

Step Functions는 여러 작업을 상태 기계(ASL)로 순서·분기·병렬로 엮고 재시도·오류 처리·추적을 대신해준다. 다단계 조율이거나 15분 넘는 장기 작업이면 Step Functions(Standard 최대 1년, Express는 초고빈도·짧은 실행).

References

댓글

아직 댓글이 없습니다.