기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS Step Functions란 무엇인가요?
AWS Step FunctionsAWS Lambda
스텝 함수는 상태 머신 및 태스크를 기반으로 합니다. Step Functions에서 워크플로우는 일련의 이벤트 기반 단계인 상태 머신이라고 합니다. 워크플로의 각 단계를 상태라고 합니다. 태스크상태는 다른 AWS 서비스 (예:) 가 수행하는 작업 단위를 나타냅니다. AWS Lambda 태스크 상태는 임의 AWS 서비스 또는 API를 호출할 수 있습니다.
Step Functions의 내장 컨트롤을 사용하면 워크플로의 각 단계 상태를 검사하여 애플리케이션이 예상대로 순서대로 실행되는지 확인할 수 있습니다. 사용 사례에 따라 Step Functions가 Lambda와 같은 AWS 서비스를 호출하여 작업을 수행하도록 할 수 있습니다. 기계 학습 모델을 처리하고 게시하는 워크플로를 만들 수 있습니다. 등의 AWS Glue
작은 정보
일련의 대화형 모듈을 통해 Step Functions의 주요 기능을 익히려면 워크샵을 AWS Step Functions
AWSSDK 및 최적화된 통합
다른 AWS 서비스를 호출하려면 Step Functions의 AWS SDK 연동을 사용하거나 Step Functions의 최적화된 통합 중 하나를 사용할 수 있습니다.
-
AWSSDK 통합을 통해 200개가 넘는 AWS 서비스를 상태 머신에서 직접 호출하여 9,000개 이상의 API 작업에 액세스할 수 있습니다.
-
Step Functions의 최적화된 통합은 상태 머신에서의 사용을 단순화하도록 사용자 정의되었습니다.
표준 및 익스프레스 워크플로
단계 함수에는 두 가지 워크플로 유형이 있습니다. 표준 워크플로는 정확히 한 번만 워크플로우를 실행하며 최대 1년 동안 실행할 수 있습니다. 즉, 표준 워크플로의 각 단계는 정확히 한 번만 실행됩니다. 그러나 Express 워크플로우에는 at-least-once 워크플로가 실행되며 최대 5분 동안 실행할 수 있습니다. 즉, Express Workflow에서 하나 이상의 단계가 두 번 이상 실행될 수 있지만 워크플로의 각 단계는 한 번 이상 실행될 수 있습니다.
실행은 워크플로를 실행하여 작업을 수행하는 인스턴스입니다. 표준 워크플로는 실행 내역과 시각적 디버깅을 표시하므로 장기 실행 및 감사 가능한 워크플로에 적합합니다. 익스프레스 워크플로는 스트리밍 데이터 처리 및 IoT 데이터 통합과 같은 high-event-rate 워크로드에 적합합니다.
표준 워크플로 사양
-
초당 2,000건의 실행 속도
-
초당 4,000건의 상태 전환 속도
-
주 전환에 따른 가격 책정
-
실행 기록 및 시각적 디버깅 표시
-
모든 서비스 통합 및 패턴 지원
익스프레스 워크플로 사양
-
초당 10만 건의 실행 속도
-
거의 무제한의 상태 전환율
-
실행 횟수 및 기간에 따른 가격 책정
-
아마존에
실행 기록 전송 CloudWatch -
활성화된 로그 수준에 따라 실행 기록 및 시각적 디버깅 표시
-
모든 서비스 통합 및 대부분의 패턴 지원
Step Functions 가격 책정을 비롯한 스탠다드 및 익스프레스 워크플로에 대한 자세한 내용은 다음을 참조하십시오.
사용 사례
Step Functions는 애플리케이션의 구성 요소 및 로직을 관리하므로 코드를 덜 작성하고 애플리케이션을 빠르게 빌드 및 업데이트하는 데 집중할 수 있습니다. 이 섹션에서는 Step Functions를 사용하는 일반적인 사용 사례를 설명합니다.
사용 사례 #1: 함수 오케스트레이션

특정 순서로 Lambda 함수 그룹 (단계) 을 실행하는 워크플로를 생성합니다. 한 Lambda 함수의 출력은 다음 Lambda 함수의 입력으로 전달됩니다. 워크플로의 마지막 단계에서 결과를 얻을 수 있습니다. 단계 함수를 사용하면 워크플로의 각 단계가 서로 어떻게 상호 작용하는지 확인할 수 있으므로 각 단계가 의도한 기능을 수행하는지 확인할 수 있습니다.
함수 그룹이 포함된 상태 머신을 만드는 방법을 보여주는 자습서는 다음을 참조하십시오.
사용 사례 #2: 브랜칭

고객이 신용 한도 상향 조정을 요청합니다. Choice
상태를 사용하면 Step Functions가 Choice
상태 입력에 따라 결정을 내리도록 할 수 있습니다. 요청이 고객이 사전 승인한 신용 한도보다 많으면 Step Functions가 고객의 요청을 관리자에게 보내 승인을 요청하도록 할 수 있습니다. 요청이 고객의 사전 승인된 신용 한도보다 적을 경우 Step Functions가 요청을 자동으로 승인하도록 할 수 있습니다.
사용 사례 #3: 오류 처리

Retry
이 사용 사례에서는 고객이 사용자 이름을 요청합니다. 처음에는 고객의 요청이 실패했습니다. Retry
명령문을 사용하여 Step Functions가 고객의 요청을 다시 시도하도록 할 수 있습니다. 두 번째로 고객의 요청이 성공했습니다.
Catch
비슷한 사용 사례에서 고객은 사용할 수 없는 사용자 이름을 요청합니다. Catch
명령문을 사용하면 Step Functions가 사용 가능한 사용자 이름을 제안할 수 있습니다. 고객이 사용 가능한 사용자 이름을 사용하는 경우 Step Functions가 워크플로의 다음 단계인 확인 이메일을 보내도록 할 수 있습니다. 고객이 사용 가능한 사용자 이름을 사용하지 않는 경우 Step Functions가 워크플로의 다른 단계, 즉 가입 프로세스를 다시 시작하도록 합니다.
Retry
및 Catch
명령문에 대한 자세한 예는 다음을 참조하십시오.
사용 사례 #4: 휴먼 인 더 루프

고객 중 한 명이 뱅킹 앱을 사용하여 친구에게 돈을 송금합니다. 고객이 확인 이메일을 기다립니다. 콜백과 태스크 토큰을 사용하면 Step Functions가 Lambda에 고객의 돈을 보내고 고객의 친구가 돈을 받으면 다시 보고하도록 지시할 수 있습니다. Lambda가 고객의 친구가 돈을 받았다는 보고를 받은 후 Step Functions가 워크플로의 다음 단계인 고객에게 확인 이메일을 보내도록 할 수 있습니다.
태스크 토큰이 포함된 콜백을 보여주는 샘플 프로젝트를 보려면 다음을 참조하세요.
사용 사례 #5: 병렬 처리

고객이 비디오 파일을 다섯 가지 디스플레이 해상도로 변환하여 시청자가 여러 장치에서 비디오를 볼 수 있도록 합니다. Step Functions는 Parallel
상태를 사용하여 비디오 파일을 입력하므로 Lambda는 이를 다섯 가지 디스플레이 해상도로 동시에 처리할 수 있습니다.
사용 사례 #6: 동적 병렬 처리

고객이 아이템 3개를 주문하는데 각 아이템을 배송할 준비를 해야 합니다. 각 품목의 재고 여부를 확인하고 각 품목을 모은 다음 배송을 위해 각 품목을 포장합니다. Step Functions는 Map
상태를 사용하여 Lambda가 각 고객 항목을 병렬로 처리하도록 합니다. 고객의 모든 품목이 배송을 위해 포장되면 Step Functions는 워크플로의 다음 단계인 추적 정보가 포함된 확인 이메일을 고객에게 보냅니다.
Map
상태를 사용하여 동적 병렬 처리를 보여주는 샘플 프로젝트를 보려면 다음을 참조하십시오.
서비스 통합
Step Functions는 여러 AWS 서비스와 통합됩니다. Step Functions를 이러한 서비스와 결합하려면 다음 서비스 통합 패턴을 사용하십시오.
응답 요청 (기본값)
-
서비스를 호출하고 Step Functions가 HTTP 응답을 받은 후 다음 상태로 진행하도록 합니다.
작업 실행 (.sync)
-
서비스를 호출하고 Step Functions가 작업이 완료될 때까지 대기하도록 합니다.
태스크 토큰 () 이 있는 콜백을 기다리세요. waitForTask토큰)
-
태스크 토큰으로 서비스를 호출하고 Step Functions가 콜백과 함께 태스크 토큰이 반환될 때까지 대기하도록 합니다.
아래 표는 Step Functions에 사용할 수 있는 서비스 통합 및 서비스 통합 패턴을 보여줍니다.
표준 워크플로와 익스프레스 워크플로는 동일한 통합을 지원하지만 동일한 통합 패턴을 지원하지는 않습니다. 익스프레스 워크플로는 작업 실행 (.sync) 또는 콜백 대기 (. waitForTask토큰). 최적화된 통합 패턴 지원은 각 통합마다 다릅니다. 자세한 정보는 표준 워크플로와 익스프레스 워크플로우 비교을 참조하세요.
지원되는 리전
대부분의 AWS 지역은 스텝 함수를 지원합니다. Step AWS Functions를 사용할 수 있는 전체 리전 목록은 AWS리전 테이블을
스텝 함수를 처음 사용하시나요?
Step Functions를 처음 사용하는 경우 다음 항목은 Step Functions가 다른 AWS 서비스와 어떻게 결합되는지를 포함하여 Step Functions를 사용하는 다양한 부분을 이해하는 데 도움이 됩니다.