[AWS CDA] StepFunction&AppSync

Tag·2022년 9월 5일
0

AWS 자격증

목록 보기
22/24
post-thumbnail
post-custom-banner

Step Functions

쉽게 워크플로우를 짤 수 있다. Task State에 어떠한 서비스가 올지 설정하거나 어떠한 서비스와 연동하는 행동을 설정할 수 있다. JSON으로 스크립트를 짜야하며, 시각적으로 볼 수 있다.

Step Status

  • Choice State - 어떠한 조건에 따라서 설정한 브랜치로 이동
  • Fail or Suceed State - 해당 태스크의 성공과 실패에 대한 설정
  • Pass State - 입력값을 전달하거나, 어떠한 고정된 값을 주입
  • Wait State - 지정된 시간을 지연 시킴
  • Map State - 단계들을 동적으로 반복
  • Parallel State - 병렬적으로 실행 시켜줌

WorkFlow

Standard WorkFlow

  • 최대 기간 1년
  • 초당 2000개의 워크플로우 생성 가능
  • 1초당 4000개의 상태변환 가능
  • 실행이력 보기 가능
  • 워크플로우가 정확히 한 번 실행

Express WorkFlow

  • 최대 기간 5분
  • 초당 100000 워크플로우 생성가능
  • 상태전환 무제한
  • 실행 이력 보기 불가, 클라우드 와치 로그로 볼 수 있음
  • 적어도 한 번 실행

Error Hadling

Retry 정책과 Catch 정책을 만들 수 있다.

미리 정의되어 있는 에러 코드

  • States.ALL
  • States.Timeout
  • States.TaskFailed
  • States.Permissions

에러 코드는 커스텀 해서 만들 수 있다.

Retry 변수

  • ErrorEquals - 리스트 형태로 어떤 에러에 contains 되어 있는지 확인한다.
  • IntervalSeconds - 다시 요청하는 것에 딜레이를 준다.
  • MaxAttempts - 최대 몇 번 요청
  • BackoffRate - 지수 백오프 지수 설정

Catch 변수

  • ErrorEquals - 리스트 형태로 어떤 에러에 contains 되어 있는지 확인한ek.
  • Next - 어떤 스테이트를 호출 한다
  • ResultPath - "ResultPath": "$.error" 으로 사용하며, 전송되는 입력값을 같이 에러 블록과 같이 보낸다.

AppSync

웹 및 모바일 애플리케이션 구축을 간소화해주는 서비스이다. 여러 서비스랑 연결 가능하고 클라우드 와치 로그/메트릭으로 모니터링 가능하고, 캐싱 설정도 가능하다.

usecase

  • GraphQL API
  • 실시간 웹소켓, MQTT 웹소켓
  • 모바일 어플리케이션 - 로컬 데이터 액세스 및 동기화

Graphql

Schema를 AppSync에 업로드 후, 클라이언트에서 Query를 받고 DB에서 resolve해서 바로 전달 가능하다.

보안

  • API_KEY 로 사용 가능
  • AWS_IAM users / roles / cross-acount access 으로 사용 가능
  • OPENID_CONNECT - OpenID 제공자랑 연동(JWT 사용)
  • CUP 사용

HTTPS를 사용하기 위해서는 AppSync 앞에 클라우드 프론트 붙여서 사용하면 된다.

Amplify

모바일 및 웹 어플리케이션을 위한 엘라스틱 빈스톡이다. authentication은 Cognito를 통해서 지원해 주고, Data는 AppSync와 DynamoDB를 통해서 지원해 준다. 이거도 클라우드 포메이션 베이스이다.

  • 시각적으로 풀스택을 위한 Amplify Studio
  • CLI로 풀스택을 위한 Amplify CLI
  • 여러 서비스와 연결하기 위한 Amplify Libraries
  • AWS로 호스팅 해주는 Amplify Hosting
profile
블로그 변경: https://blog.taewan.link
post-custom-banner

0개의 댓글