Step Functions
현대적 클라우드 애플리케이션이 다수의 서비스 및 구성 요소로 구성되는 것은 일반적입니다. 애플리케이션 규모가 커지면서 모든 구성 요소의 상호 작용을 조율하기 위해 점점 더 많은 코드를 작성해야 합니다. Step Functions를 사용하면 상호 작용을 위한 소프트웨어 작성보다는 구성 요소 상호 작용의 정의에 집중할 수 있습니다.
Step Functions는 다음 AWS 서비스와 통합됩니다. Step Functions에서 직접 API 작업을 호출하고 파라미터를 다음 서비스의 API로 전달할 수 있습니다.
- 컴퓨터 서비스: Lambda, ECS, EKS, Fargate
- 데이터베이스 서비스: DynamoDB
- 메시징 서비스: SNS 및 SQS
- 데이터 처리 및 분석 서비스: Athena, Batch, Glue, EMR, Glue DataBrew
- 기계 학습 서비스 SageMaker
- API Gateway에 의해 생성된 API
Step Functions 서비스 태스크를 사용하여 다른 AWS 서비스를 호출하도록 Step Functions 워크플로를 구성할 수 있습니다.
상태 머신
상태 머신은 출력을 결정하기 위해 이전 조건에 의존하는 일련의 작동 조건을 가진 객체입니다.
상태 머신의 일반적인 예는 탄산음료 자판기입니다. 자판기는 작동 상태(거래 대기)에서 시작하여 고객이 동전 또는 ㅈ폐를 투입하면 탄산음료 선택 상태로 전환됩니다. 그러면 판매 상태가 시작되어 탄산음료가 고객에게 제공됩니다. 완료 후 운영 상태로 돌아갑니다.
Step Functions를 사용하면 AWS 환경에서 사용자 고유의 상태 머신을 생성하여 자동화할 수 있습니다. States Language에는 다양한 상태, 태스크, 선택, 오류 처리 등으로 구성된 구조가 포함돼 있습니다.
복잡한 분산 워크플로의 오케스트레이션
상태는 상태 머신의 요소입니다. 상태는 상태 머신에서 다양한 기능을 수행할 수 있습니다. 상태가 수행할 수 있는 기능은 다음과 같습니다.
- 상태 머신에서 몇 가지 태스크 수행(Task 상태)
- 실행할 브랜치 선택(Choice 상태)
- 오류 또는 성공으로 실행 중지(Fail 또는 Succeed 상태)
- 입력을 출력으로 전달하거나 일부 수정된 데이터 전달(Pass 상태)
- 특정 시간 동안 또는 지정된 시간/ 날짜까지 실행 지연(Wait 상태)
- 병렬 브랜치 시작(Parallel 상태)
- 동적으로 단계 반복(Map 상태)
Step Functions에서는 Standard와 Express의 두 가지 워크플로 유형을 생성할 수 있습니다.
- 내구성이 우수하며 감사가 가능한 장기 실행 워크플로에는 Standard Workflow 유형을 사용합니다. 이러한 워크플로는 최대 1년까지 실행할 수 있으며, 워크플로가 완료된 후 최대 90일 동안 워크플로 활동의 전체 기록에 액세스할 수 있습니다. Standard Workflow에 사용되는 정확히 1회 모델에서는 재시도 동작을 지정하는 경우가 아니면 태스크와 상태가 2회 이상 실행되지 않습니다.
- IoT 데이터 수집, 스트리밍 데이터 처리 및 변환, 모바일 애플리케이션 백엔드 등의 대용량 이벤트 처리 워크로드에는 Express Workflow 유형을 사용합니다. 이러한 워크플로는 최대 5분까지 실행할 수 있습니다. Express Workflow에 사용되는 최소 1회 모델에서는 태스크와 상태가 여러 번 실행될 수도 있습니다.
'자격증 > AWS SAA' 카테고리의 다른 글
[AWS SAA] 54. CloudFront (0) | 2023.09.13 |
---|---|
[AWS SAA] 53. 엣지 서비스와 Route 53 (0) | 2023.09.12 |
[AWS SAA] 51. Kinesis (0) | 2023.09.11 |
[AWS SAA] 50. SNS (0) | 2023.09.10 |
[AWS SAA] 49. SQS (0) | 2023.09.10 |