Amazon Web Services 한국 블로그
AWS Step Functions 대용량 단기 사용을 위한 ‘고속 워크플로’ 기능 추가 (서울 리전 포함)
AWS Step Functions는 2016년 re:Invent에서 출시되었습니다. AWS 고객은 단계별 워크플로의 핵심 요소로 사용하기 시작했습니다. 현재 고객들은 기계 학습, 보고서 생성, 주문 처리, IT 자동화 및 다른 많은 단계별 프로세스를 AWS 서비스로 오케스트레이션하는 경우, StepFunctions을 사용한 서버리스 워크플로를 구축합니다. 이러한 워크플로는 최대 1년간 실행될 수 있으며 체크포인트 지정, 임시 오류 시 재시도 및 감사를 위한 자세한 상태 추적을 포함하는 워크플로 모델을 중심으로 구축됩니다.
사용 현황과 피드백을 고려할 때 많은 고객이 핵심 Step Functions 모델을 주로 활용합니다. 선언적 사양과 워크플로 구축, 테스트 및 조정 편의성에 높은 점수를 주는 고객이 많습니다. 하지만, Step Functions를 너무 좋아해서 IoT 데이터 수집, 스트리밍 데이터 처리 및 모바일 애플리케이션 백엔드와 같은 대용량의 단기 사용 사례에도 Step Functions를 활용하고 싶어합니다.
새로운 고속 워크플로 기능 추가
오늘 출시되는 고속 워크플로는 기존의 표준 워크플로에 대한 옵션입니다. 고속 워크플로는 동일한 선언적 사양 모델(Amazon States 언어)을 사용하지만 대용량의 단기 사용 사례에 적합하게 설계되었습니다. 다음은 이 기능과 관련하여 알아야 할 정보입니다.
트리거 – 다수의 AWS 서비스에 연결된 이벤트 및 읽기/쓰기 API 호출을 사용하여 고속 워크플로의 실행을 트리거할 수 있습니다.
실행 모델 – 고속 워크플로는 최소 1회 실행 모델을 사용하며 실패한 단계를 자동으로 재시도하지 않지만 오류 처리에 설명된 것과 같이 Retry 및 Catch를 사용할 수 있습니다. 단계에 체크포인트가 지정되지 않으므로 단계별 상태 정보를 사용할 수 없습니다. 성공 및 실패는 CloudWatch Logs에 기록되며 로깅 수준을 완벽하게 제어할 수 있습니다.
워크플로 단계 – 고속 워크플로는 표준 워크플로와 동일한 다수의 서비스 통합을 지원하지만 활동 작업은 제외됩니다. AWS Batch, AWS Glue 및 Amazon SageMaker와 같은 장기 실행 서비스를 시작할 수 있지만 완료될 때까지 기다릴 수는 없습니다.
기간 – 고속 워크플로는 벽시계 시간으로 최대 5분간 실행될 수 있습니다. 다른 고속 워크플로 또는 표준 워크플로를 호출할 수 있지만 완료될 때까지 기다릴 수 없습니다. 애플리케이션 요구 사항을 충족하도록 두 워크플로를 구성하여 표준 워크플로에서 고속 워크플로를 호출할 수도 있습니다.
이벤트 비율 – 고속 워크플로는 초당 100,000개 이벤트를 초과하는 계정당 호출 비율을 지원합니다. 계정은 기본적으로 초당 6,000개 이벤트로 구성되며 요청에 따라 늘릴 수 있습니다.
요금 – 표준 워크플로는 상태 전환의 수를 기준으로 요금이 부과됩니다. 고속 워크플로는 호출 수와 GB/초(실행 중에 워크플로 상태 추적에 사용된 메모리 양 기준)에 따라 요금이 부과됩니다. 요금 모델을 직접적으로 비교할 수는 없지만 규모가 크면 고속 워크플로가 훨씬 더 경제적입니다. 자세히 알아보려면 AWS Step Functions 요금으로 이동하십시오.
보시다시피 표준 워크플로에 대해 이미 알고 있는 대부분의 정보가 고속 워크플로에도 적용됩니다. 표준 워크플로 중 일부를 고속 워크플로로 바꿀 수 있으며 고속 워크플로를 사용하여 새로운 유형의 애플리케이션을 구축할 수 있습니다.
고속 워크플로 사용하기
단 몇 분이면 고속 워크플로를 생성하고 원하는 이벤트에 연결할 수 있습니다. 콘솔에서 [Express] 유형을 선택합니다.
상태 머신을 정의합니다.
CloudWatch 로깅을 구성하고 태그를 추가합니다.
이제, 고속 워크플로를 이벤트 소스에 연결할 수 있습니다. EventBridge 콘솔을 열고 새 규칙을 생성합니다.
단일 S3 버킷의 PutObject
이벤트와 일치하는 패턴을 정의합니다.
고속 워크플로를 이벤트 대상으로 선택하고 태그를 추가한 다음 [Create]를 클릭합니다.
이 특정 이벤트는 객체 수준 활동을 기록하는 CloudTrail 추적이 설정된 경우에만 발생합니다.
버킷에 이미지를 업로드하고 CloudWatch Logs 그룹을 검토하여 워크플로가 예상대로 실행되었는지 확인합니다.
보다 현실적인 테스트를 수행하려면 수백 개 이미지를 한 번에 로드하고 Lambda 함수가 높은 동시성으로 호출되는지 확인하면 됩니다.
Step Functions 콘솔의 새로운 [Monitoring] 탭에서 상태 머신과 관련된 지표를 볼 수도 있습니다.
지금 이용 가능
오늘부터 모든 AWS 리전에서 AWS Step Functions 고속 워크플로를 생성하고 사용할 수 있습니다.
— Jeff