Devops Skill Up/AWS

[AWS] Step Function

불여우의 길 2024. 4. 9. 11:41

Step Funtion Documents

step function 이 뭘까용?

 

https://aws.amazon.com/ko/step-functions/features/?pg=ln&sec=hs

 

AWS Step Functions 기능 | 서버리스 마이크로서비스 오케스트레이션 | Amazon Web Services

AWS Step Functions는 실시간 진단 및 대시보드를 제공하고, Amazon CloudWatch 및 AWS CloudTrail과 통합되며, 전체 상태, 실패한 단계, 입력 및 출력을 비롯한 모든 실행 관련 정보를 기록합니다. 문제가 발생

aws.amazon.com

https://docs.aws.amazon.com/ko_kr/step-functions/latest/dg/welcome.html

 

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

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

 

읽어봐도 잘 모르겠습니다. 우헷

 

문서상으로 대충 이해한 부분으로는 

 

앱 빌드를 위해서 lambda와 다른 aws 서비스를 통합하게 해주는 서버리스 오케스트레이션 서비스

 

요정도로 이해해보았어요


Step Funtion Workshop

aws 에서 만들어둔 자습형 워크숍을 해보것습니다요

 

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

 

The AWS Step Functions Workshop

The workshop covers the primary features of AWS Step Functions. Slack Channel: #the-step-functions-workshop

catalog.workshops.aws

아 고고링

 

오케스트레이션이 필요한 신호

  • 여러 AWS 서비스에 걸쳐 있는 애플리케이션이 있습니까?
  • 서비스 상호 작용의 순서가 중요합니까?
  • 애플리케이션이 AWS 서비스 호출 간의 상태를 관리합니까?
  • 사람의 개입이 필요한 애플리케이션 워크플로우가 있습니까?
  • 애플리케이션에 의사 결정 트리, 분기 로직, 병렬 처리, 재시도 및 오류 처리와 같은 워크플로우 패턴이 포함되어 있습니까?

.. 라고 합니다..


실제 적용기

업무용 리포트를 만드는 step function 머신을 만들어보았다.

1. 입력값을 받아 리포트를 만드는 람다

2. 리포트가 완성되면 slack으로 메시지를 전달해주는 람다

 

람다 코드 구조상 두갈래로.. 만들었다.

소스 수정하기 귀찮아서 그런거 맞당ㅎㅎ

 

간단한 구조이지만 여러 단계를 한번에 완성해주는 머신이다.

 

Step Function은 json 형태로 입력값을 받고 해당 파라미터를 받아 다음 업무를 수행할 수 있당.

 

예를들어 전송받은 메시지가 아래와 같다면

{
  "date": "202403",
  "price" : 1345.26
}

 

다음 step에서 

{
  "date.$" : "$.date"
}

 

형식으로 입력값을 생성하여 사용할 수 있다.

 

따라서 실행시 입력한 파라미터값을 여러 step에서 전달하여 사용할 수 있다.

 

만들어둔 머신은 많은 AWS 서비스에서도 그렇듯 json 타입으로 코드화되어 재사용도 용이한 것 같다.

 

CI/CD나 여러 다른 서비스를 적용하여 사용하기도 좋을 것으로 보인당

 

담에 또 step function 사용하게되면 포스팅해볼게용