AWS Step Functions란 무엇입니까? - AWS Step Functions

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

AWS Step Functions란 무엇입니까?

Step Functions는 결합할 수 있는 서버리스 오케스트레이션 서비스로,AWS Lambda함수 및 기타AWS비즈니스 크리티컬 애플리케이션을 구축하는 서비스입니다. Step Functions의 그래픽 콘솔을 통해 애플리케이션의 워크플로우를 일련의 이벤트 중심 단계로 볼 수 있습니다.

Step Functions 상태 머신과 태스크를 기반으로 합니다. 상태 머신은 워크플로우입니다. 작업은 워크플로의 상태로, 다른 작업 단위를 나타내는 워크플로의 상태입니다.AWS서비스가 수행됩니다. 워크플로의 각 단계는 상태입니다.

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

AWSSDK 및 최적화된 통합

다른 사람에게 전화하려면AWS서비스, 단계 함수를 사용할 수 있습니다.AWSSDK 통합 또는 Step Functions의 최적화된 통합 중 하나를 사용할 수 있습니다.

  • AWSSDK 통합200 개가 넘는 사람 중 하나라도 전화 해 봅시다.AWS상태 머신에서 직접 서비스를 제공하므로 9,000개 이상의 API 작업에 액세스할 수 있습니다.

  • 스텝 함수의 최적화된 통합상태 머신의 사용을 단순화하기 위해 사용자 정의되었습니다.

표준 및 Express 워크플로

Step Functions 함수에는 두 가지 워크플로 유형이 있습니다. 표준 워크플로우는 워크플로우를 한 번만 실행하며 최대 1년 동안 실행할 수 있습니다. 즉, 표준 워크플로의 각 단계가 정확히 한 번만 실행됩니다. 그러나 익스프레스 워크플로우에는 at-least-once 워크플로를 실행하며 최대 5분 동안 실행할 수 있습니다. 즉, Express Workflow에서 하나 이상의 단계가 두 번 이상 실행될 수 있으며 워크플로의 각 단계는 최소한 한 번 실행될 수 있습니다.

실행은 작업을 수행하기 위해 워크플로를 실행하는 인스턴스입니다. 표준 워크플로는 실행 기록 및 시각적 디버깅을 표시하므로 장기 실행되고 감사 가능한 워크플로에 적합합니다. 익스프레스 워크플로우는 high-event-rate 스트리밍 데이터 처리 및 IoT 데이터 수집과 같은 워크로드

표준 워크플로

  • 초당 2,000회 실행 비율

  • 초당 4,000회 상태 전환 비율

  • 상태 전환당 가격

  • 실행 기록 및 시각적 디버깅을 표시합니다.

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

Express 워크플로

  • 초당 100,000회 실행 비율

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

  • 실행 횟수 및 기간별 가격 책정

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

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

Step Functions의 가격을 포함하여 표준 및 Express 워크플로에 대한 자세한 내용은 다음을 참조하십시오.

사용 사례

Step Functions Functions는 애플리케이션의 구성 요소와 로직을 관리하므로 코드를 더 적게 작성하고 애플리케이션을 빠르게 빌드하고 업데이트하는 데 집중할 수 있습니다. 이 섹션에서는 Step Step Functions 사용하는 일반적인 사용 사례에 대해

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


          Chaining

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

함수 그룹이 있는 상태 컴퓨터를 생성하는 방법을 보여주는 자습서는 다음을 참조하십시오.

사용 사례 #2: 분기


          분기

고객이 신용 한도 증가를 요청합니다. 사용Choice상태, Step Functions 다음을 기반으로 의사 결정을 내릴 수 있습니다.Choice상태의 입력입니다. 요청이 고객의 사전 승인된 신용 한도보다 큰 경우 Step Functions가 고객의 요청을 관리자에게 보내 승인을 요청하도록 할 수 있습니다. 요청이 고객의 사전 승인된 신용 한도보다 작은 경우 Step Functions에서 요청을 자동으로 승인하도록 할 수 있습니다.

사용 사례 #3: 오류 처리


          Retry/Catch

Retry

이 사용 사례에서는 고객이 사용자 이름을 요청합니다. 처음으로 고객의 요청이 실패했습니다. 사용RetryStep Functions Functions가 고객의 요청을 다시 시도하도록 할 수 있습니다. 두 번째로 고객의 요청이 성공적입니다.

Catch

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

의 더 많은 예제를 보려면RetryCatch문은 다음을 참조하십시오.

사용 사례 #4: 인간 인 더 루프


          Chaining

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

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

사용 사례 #5: 병렬 처리


          Parallelism

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

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


          Chaining

고객이 세 가지 아이템을 주문하고 배송을 위해 각 아이템을 준비해야 합니다. 각 아이템의 사용 가능 여부를 확인하고 각 아이템을 수집한 다음 배송을 위해 각 아이템을 포장합니다. 사용Map상태, Step Functions 고객의 각 항목을 병렬로 Lambda에서 처리합니다. 고객의 모든 아이템이 배송을 위해 포장되면 Step Functions Functions는 워크플로의 다음 단계로 진행되며, 이는 고객에게 추적 정보가 포함된 확인 이메일을 보내는 것입니다.

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

서비스 통합

스텝 함수는 다중 기능과 통합됩니다.AWS서비스. Step Functions Functions와 이러한 서비스를 결합하려면 다음 서비스 통합 패턴을 사용합니다.

응답 요청 (기본값)

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

작업 실행 (.sync)

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

작업 토큰 (.WaitForTaskToken) 으로 콜백을 대기하도록 합니다.

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

아래 표에서는 Step Functions에 사용할 수 있는 서비스 통합 및 서비스 통합 패턴을 보여줍니다.

표준 워크플로 및 Express 워크플로는 동일한 통합을 지원하지만 동일한 통합 패턴을 지원하지 않습니다. Express 워크플로에서는 작업 실행(.sync) 또는 콜백 대기(.waitForTaskToken)를 지원하지 않습니다. 최적화된 통합 패턴 지원은 각 통합마다 다릅니다. 자세한 정보는 표준 워크플로와 Express 워크플로을 참조하십시오.

Standard Workflows
지원되는 서비스 통합
서비스 요청 및 응답 작업 실행(.sync) 콜백 대기(.waitForTaskToken)
최적화 통합 Lambda
AWS Batch
DynamoDB
Amazon ECS/AWS Fargate
Amazon SNS
Amazon SQS
AWS Glue
SageMaker
Amazon EMR
Amazon EMR on EKS
CodeBuild
Athena
Amazon EKS
API Gateway
AWS Glue DataBrew
Amazon EventBridge
AWS Step Functions
AWSSDK 통합 이백 개 이상
Express Workflows

지원되는 리전

가장AWS리전은 Step Functions 지원합니다. 전체 목록은AWSStep Functions 사용할 수 있는 지역은AWS리전 테이블.

Step Step Functions 처음 사용하는 것입니까?

Step Functions를 처음 사용하는 경우 다음 항목에서는 스텝 함수가 다른 기능과 결합되는 방법을 포함하여 Step Functions 작업의 여러 부분을 이해하는 데 도움이 됩니다.AWS서비스: