AWS Step Functions이란 무엇인가요? - AWS Step Functions

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS Step Functions이란 무엇인가요?

Step Functions 서버를 사용하지 않는 오케스트레이션 서비스로AWS Lambda함수 및 기타AWS서비스를 사용하여 비즈니스 크리티컬 애플리케이션을 구축할 수 있습니다. 단계 함수의 그래픽 콘솔을 통해 응용 프로그램의 워크 플로우를 일련의 이벤트 기반 단계로 볼 수 있습니다.

Step Functions 상태 기계 및 작업을 기반으로합니다. 상태 시스템은 워크플로입니다. 하나의 작업 단위를 나타내는 워크플로의 상태입니다.AWS서비스가 수행합니다. 워크플로의 각 단계는 상태입니다.

Step Functions의 기본 제공 컨트롤을 사용하면 워크플로의 각 단계의 상태를 검사하여 응용 프로그램이 예상대로 순서대로 실행되는지 확인합니다. 사용 사례에 따라 Step Functions 호출할 수 있습니다.AWS서비스를 사용하여 작업을 수행할 수 있습니다. 머신 러닝 모델을 처리하고 게시하는 워크플로를 생성할 수 있습니다. Step Functions 제어 할 수 있습니다.AWS서비스 (예:AWS Glue를 사용하여 추출, 변환, 로드 (ETL) 워크플로를 만들 수 있습니다. 또한 사람의 상호 작용이 필요한 응용 프로그램에 대해 장기 실행, 자동화된 워크플로를 만들 수 있습니다.

표준 및 Express 워크플로

Step Functions 에는 두 가지 워크플로우 유형이 있습니다. 표준 워크플로는 정확히 한 번만 실행되며 최대 1년 동안 실행할 수 있습니다. Express 워크플로에는 최소 1회 실행되는 워크플로가 있으며 최대 5분 동안 실행될 수 있습니다. 실행은 워크플로를 실행하여 작업을 수행하는 인스턴스입니다. 표준 워크플로는 실행 기록 및 시각적 디버깅을 표시하므로 장기 실행되는 감사 가능한 워크플로에 적합합니다. Express 워크플로는 스트리밍 데이터 처리 및 IoT 데이터 수집과 같은 이벤트 속도가 높은 워크로드에 이상적입니다.

표준 워크플로

  • 초당 2,000회 실행 비율

  • 초당 4,000회 이상

  • 상태 전환당 가격 책정

  • 실행 기록 및 시각적 디버깅 표시

  • 모든 서비스 통합 및 패턴을 지원합니다.

Express 워크플로

  • 초당 100,000회 실행 비율

  • 거의 무제한 상태 전환 비율

  • 실행 횟수 및 실행 기간에 따라 가격이 책정됨

  • 에 실행 기록을 보냅니다.Amazon CloudWatch

  • 모든 서비스 통합 및 대부분의 패턴을 지원합니다.

표준 및 Express 워크플로에 대한 자세한 내용은 다음을 참조하십시오.

사용 사례

Step Functions s는 응용 프로그램의 구성 요소 및 논리를 관리하므로 코드를 적게 작성하고 응용 프로그램을 신속하게 빌드하고 업데이트하는 데 집중할 수 있습니다. 이 섹션에서는 Step Functions 작업의 일반적인 사용 사례에 대해 설명합니다.

사용 사례 #1: 함수 오케스트레이션


          Chaining

특정 순서로 Lambda 함수 (단계) 그룹을 실행하는 워크플로를 만듭니다. 하나의 Lambda 함수의 출력은 다음 Lambda 함수의 입력으로 전달됩니다. 워크플로의 마지막 단계는 결과를 제공합니다. Step Functions 사용하면 워크플로의 각 단계가 서로 상호 작용하는 방식을 확인할 수 있으므로 각 단계가 의도한 기능을 수행하는지 확인할 수 있습니다.

함수 그룹을 사용하여 상태 시스템을 생성하는 방법을 보여주는 자습서는 다음을 참조하십시오.

사용 사례 #2: 분기


          분기

고객이 신용 한도 증가를 요청합니다. 사용Choice상태에 따라 Step Functions 의사 결정을 내릴 수 있습니다Choice상태의 입력입니다. 요청이 고객의 사전 승인된 신용 한도보다 많은 경우 Step Functions 에서 사인오프를 위해 관리자에게 고객의 요청을 보내도록 할 수 있습니다. 요청이 고객의 사전 승인된 신용 한도보다 적은 경우 Step Functions 요청을 자동으로 승인하도록 할 수 있습니다.

사용 사례 #3: 오류 처리


          재시도/캐치

Retry

이 사용 사례에서는 고객이 사용자 이름을 요청합니다. 처음으로 고객의 요청이 성공하지 못했습니다. 사용Retry문을 사용하면 Step Functions s가 고객의 요청을 다시 시도하도록 할 수 있습니다. 두 번째로 고객의 요청이 성공합니다.

Catch

유사한 사용 사례에서 고객은 사용할 수 없는 사용자 이름을 요청합니다. 사용Catch문을 사용하면 Step Functions s가 사용 가능한 사용자 이름을 제안하게됩니다. 고객이 사용 가능한 사용자 이름을 사용하는 경우 Step Functions s가 워크플로의 다음 단계로 이동하여 확인 이메일을 보내도록 할 수 있습니다. 고객이 사용 가능한 사용자 이름을 사용하지 않는 경우 Step Functions s가 워크플로의 다른 단계로 이동하여 가입 프로세스를 다시 시작합니다.

의 더 많은 예제를 보려면RetryCatch문에 대한 자세한 내용은 다음을 참조하십시오.

사용 사례 #4: 휴먼 인 더 루프


          Chaining

은행 앱을 사용하여 고객 중 한 명이 친구에게 돈을 보냅니다. 고객이 확인 이메일이 발송될 때까지 가 대기합니다. 다음으로 바꿉니다.콜백 및 태스크 토큰를 사용하면 Step Functions Lambda 에게 고객의 돈을 보내고 고객의 친구가 수령할 때 다시 보고하도록 지시할 수 있습니다. Lambda 가 고객의 친구가 돈을 받았다고 보고한 후 Step Functions s가 워크플로의 다음 단계로 이동하여 고객에게 확인 이메일을 보내도록 할 수 있습니다.

작업 토큰이 있는 콜백을 보여 주는 샘플 프로젝트를 보려면 다음을 참조하십시오.

사용 사례 #5: 병렬 처리


          Parallelism

고객이 비디오 파일을 5가지 디스플레이 해상도로 변환하므로 시청자가 여러 장치에서 비디오를 볼 수 있습니다. 사용Parallel상태에서 Step Functions s는 비디오 파일을 입력하므로 Lambda 가 동시에 5개의 디스플레이 해상도로 처리할 수 있습니다.

사용 사례 #6: 동적 병렬 처리


          Chaining

고객이 세 개의 아이템을 주문하므로 배송할 각 아이템을 준비해야 합니다. 각 아이템의 가용성을 확인하고, 각 아이템을 수집한 다음, 배송할 각 아이템을 포장합니다. 사용Map상태에서 Step Functions 각 고객의 항목을 병렬로 처리하는 람다 (Lambda) 를 갖습니다. 모든 고객의 아이템이 배송되도록 포장되면 Step Functions 은 워크플로의 다음 단계로 넘어갑니다. 즉, 고객에게 추적 정보가 포함된 확인 이메일을 보냅니다.

사용 하 여 동적 병렬 처리를 보여 주는 샘플 프로젝트를 보려면Map상태에 대한 자세한 내용은 다음을 참조하십시오.

서비스 통합

Step Functions 여러AWS서비스. Step Functions 이러한 서비스와 결합하려면 다음 서비스 통합 패턴을 사용하십시오.

응답 요청 (기본값)

  • 서비스를 호출하고 Step Functions HTTP 응답을 가져온 후 다음 상태로 진행하도록 합니다.

작업 실행 (.sync)

  • 서비스를 호출하고 Step Functions 작업이 완료될 때까지 가 대기하도록 합니다.

작업 토큰 (.waitForTask 토큰) 으로 콜백 대기

  • 작업 토큰으로 서비스를 호출하고 작업 토큰이 콜백으로 반환될 때까지 Step Functions가 대기하도록 합니다.

아래 표에는 Step Functions 대해 지원되는 모든 서비스 통합 및 서비스 통합 패턴이 나와 있습니다.

Standard Workflows
지원되는 서비스 통합
서비스 요청 및 응답 Job 실행 (.sync) 콜백 대기 (.waitForTaskToken)
Lambda
AWS Batch
DynamoDB
Amazon ECS/AWS Fargate
Amazon SNS
Amazon SQS
AWS Glue
SageMaker
Amazon EMR
EKS에서 Amazon EMR
CodeBuild
Athena
Amazon EKS
API 게이트웨이
AWS Glue DataBrew
Amazon EventBridge
AWS Step Functions
Express Workflows

지원되는 리전

모스트AWS영역은 Step Functions 지원합니다. 의 전체 목록은AWS영역에 대한 자세한 내용은AWS리전 테이블.

Step Functions 처음 사용합니까?

이 Step Functions 사용하여 처음 경우, 다음 항목은 당신이 단계 기능 작업의 다른 부분을 이해하는 데 도움이, 단계 기능 다른AWS서비스를 참조하십시오.