はじめに
AWS DVA取得に向けた勉強の一環です。
新たな学びがあったら随時追記していきます。
正確性は保証しませんので参考程度に見てください。
概要
- ステートマシンサービス
- アプリケーションのワークフローを構成して可視化
- 実行プロセスを構築、管理、自動化する
- マイクロサービス間を疎結合にするメリットがある
- 条件分岐などの複雑なワークフローにも対応
ステートマシンの基本
- ステート(State)の種類
- Wait:待機
- Choice:条件分岐
- Fail:エラーの定義
- Parallel:並列処理がすべて正常終了したらFinal Stateを実行
- Map:動的配列の並列処理
- ASL(Amazon States Language)でJSONベースの状態定義も可能
- 開始トリガー
- API
- CloudWatch Events
- API Gateway
種類
- 標準ワークフロー
- 実行時間が長い処理向け
- 耐障害性とリトライ機能
- エクスプレスワークフロー
- 短時間の高頻度処理向け
- 高速かつ低コスト
料金
- 状態遷移の回数によって課金
- 毎月の無料利用回数もある
SQSとの使い分け
- 並列、条件分岐、エラーハンドリングなどがあればStep Functions
- それ以外ならSQS、大量のリクエストに対してもコスト最適