brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Sep 06. 2022

16탄-11. AWS Step Functions

AWS Step Functions를 이용해 AWS 서비스의 기능들 손쉽게 조합하여 워크플로 및 API 만들기


<1>  AWS 서비스 기능을 활용한  API를 어떻게 만드나?

<2>  AWS Step Functions 

<3>  AWS Step Functions Workflow Studio  서비스

<4>  유형

<5> 활용하기

<6>  실습




<1>  AWS 서비스 기능을 활용한  API를 어떻게 만드나?


1

AWS SDK로 만든다.


2

S3에 기존 이미지와 업로드된 이미지를 대조하여 일치하지 않으면 이메일을 통해 알람을 받고 싶어요?

S3에서 객체 가져오기

Rekognition을 통한 얼굴 대조 기능 사용

SNS를 통한 이메일 알림


3

구현?

하나의 람다 또는 각 기능별 람다로 구현

또는

자체 애플리케이션 개발을 통해 구현


4

문제점?

워크 플로 사용이 필요하다.

데이터 처리, 머신러닝, 애플리케이션 오케스트레이션, 보안과 IT 자동화 시 필요하다.




<2>  AWS Step Functions 


1

비즈니스 워크플로 오케스트레이션 하기 위한 서버리스 설루션이다.


2

상태 흐름 제어가 가능하다.

연속적인 구성 제공

선택 결과 값에 따라 실행하는 것 제공

여러 작업이 병렬적으로 실행해야 하는 경우 제공


3

Amazon States Language(ASL)?

워크플로를 정의하기 위한 JSON기반의 구조화된 언어를 사용해 구현한다.


4

워크플로에서 AWS 서비스 들을 바로 호출하여 사용 가능하다.


호출 가능한 15개?

람다, 배치, 파 게이트, ECS, EKS

SQS, SNS, Step Sunction

EMR, Sagemaker, Glue, Athena

Dynamodb, CodeBuild, API Gateway 


5

15개에 포함되지 않으면?

AWS SDK  service intergrations로 만든다.  2021년 제공

200개 이상의 AWS 서비스를 사용 가능하다.

9000개 이상 기능


6

쉽게 사용 가능한 서비스와 기능이 필요?




<3>  AWS Step Functions Workflow Studio  서비스


1

Workflow를 사용 시 코드를 적게 사용하는 시각적 도구.

워크플로를 빠르게 구현할 수 있다.


2

S3에 기존 이미지와 업로드된 이미지를 대조하여 일치하지 않으면 이메일을 통해 알람을 받고 싶어요?

S3에서 객체 가져오기

Rekognition을 통한 얼굴 대조 기능 사용

90 이상은 pass

90 이하면 SNS를 통한 이메일 알림


3

개선?

기능 복잡해지면 코드 작성의 어려움 

서버리스 구성을 하려는 단 단일 기능을 위한 많은 람다 필요



<4>  유형


1

스탠더드?

워크플로 지속 시간 1년  (1년 기다림)

상태 전환당 비용

5분 이상의 실행시간을 가지는 경우 사용


2

익스프레스?

워크플로 지속시간 5분

실행 횟수, 실행기간, 메모리 사용량 당 비용

5분 이하의 실행시간을 가지고, 요청했을 때 바로 결과를 받아야 하는 경우



<5> 활용하기


1

API Gatway를 활용하자.

사용자 --------------API Gatway ------람다--------아마존 다이나모 디비


2

워크플로 실행 방법 1?

콘솔, API, AWS SDK, CLI를 통해 AWS Step Functions Workflow  사용


3

워크플로 실행 방법 2?

상황에 맞게 워크플로가 실행되도록 할 수도 있다.

AWS IoT Events , S3, Cloudwatch 

IoT에 연결된 디바이스 온도가 50도 이상이면 동작하도록 하기

S3에 객체가 업로드되었을 때 

 Cloudwatch와 연계로 이상 


4

다양한 이벤트로 실행 방법 3?

EventBrige와 연계해 사용

원하는 시간에 실행

특정 이벤트 시 실행




<5> 정리


1

 AWS Step Functions  

비즈니스 워크플로 오케스트레이션 하기 위한 서버리스 도구


2

AWS Step Functions Workflow Studio로 쉽게 워크플로 작성


3

다양한 실행방법을 통해 구현 가능하다.




<6>  실습


https://catalog.workshops.aws/stepfunctions/en-US/


https://workshops.aws/categories/AWS%20 Step%20 Functions




다음 과정


https://brunch.co.kr/@topasvga/2693





https://brunch.co.kr/@topasvga/2678


감사합니다.


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari