0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS DVA対策メモ(AWS Step Functuons)

Posted at

AWS Step Functions とは?

AWS Step Functionsは、分散アプリケーションやマイクロサービスをワークフロー形式で調整できるサーバーレスサービスです。複雑なビジネスロジックやプロセスを可視化し、簡単に構築・運用できます。


特徴

1. 可視化されたワークフロー

  • 状態遷移(State Machine)をフローチャートで表現。
  • ワークフロー全体の構造や進行状況をリアルタイムで確認可能。

2. フルマネージド型

  • インフラ管理不要。
  • 高可用性とスケーラビリティを備え、複雑なプロセスも信頼性を確保。

3. AWSサービスとの統合

  • AWS LambdaDynamoDBS3SNSSQS など、幅広いAWSサービスとシームレスに連携。

4. エラー管理とリトライ

  • 自動リトライ、タイムアウト、エラーハンドリングを設定可能。
  • エラー発生時の通知や代替処理が簡単に実装できる。

5. 2つのワークフロータイプ

  • 標準ワークフロー: 長時間実行(最大1年)、高耐障害性。
  • エクスプレスワークフロー: 高スループット、短時間処理(最大5分)。

ステートマシンとは?

1. 概要

ステートマシンは、Step Functionsで定義されるワークフロー全体を指します。

  • ワークフローを構成する個々のステップ(状態)をステートとして定義。
  • ステート間の遷移や条件分岐を管理。
  • JSONまたはYAML形式で構築。

2. ステートのタイプ

ステートタイプ 説明 ユースケース例
Task Lambdaや他のAWSサービスを呼び出す。 データ処理、ファイル変換。
Choice 条件分岐を実行し、異なるステートに遷移。 データ内容による分岐処理。
Parallel 複数のステートを並列で実行。 複数のファイルを同時に処理。
Map 配列データをループ処理し、各要素に対してステートを実行。 配列内の各オブジェクトに対するバッチ処理。
Wait 指定した時間だけ待機。 時間経過後の処理や遅延実行。
Fail 実行を失敗として終了し、エラー情報を返す。 エラー発生時のワークフロー終了。
Succeed 実行を成功として終了。 成功時のワークフロー終了。
Pass データをそのまま次のステートに渡す。 単純なデータ引き渡し。

3. 実装例: Lambda関数の呼び出し

{
  "Comment": "Lambdaを呼び出すステートマシン",
  "StartAt": "LambdaFunction",
  "States": {
    "LambdaFunction": {
      "Type": "Task",
      "Resource": "arn:aws:lambda:region:account-id:function:example-function",
      "Next": "SucceedState"
    },
    "SucceedState": {
      "Type": "Succeed"
    }
  }
}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?