AWS Step Functions は、アプリケーションにサーバーレスオーケストレーションを提供します。オーケストレーションにより、複数のステップに分割されフローロジックが追加されたワークフローを、ステップ間の入力と出力を追跡しながら集中管理できます。Step Functions は、実行中のアプリケーションがワークフローステップのどこに位置するかを正確に追跡しながらアプリケーションの状態を維持し、アプリケーションのコンポーネント間でやり取りされるデータのイベントログを保存します。つまり、ネットワークに障害が起きたり、コンポーネントがハング状態になったりしても、アプリケーションを問題の直前の状態に復帰することができます。

Step Functions を使用すると、アプリケーションのビジネスロジックから独立してアプリケーションのワークフローを定義、管理できるため、より迅速かつ直感的にアプリケーション開発を行うことができます。ワークフローの特定の場所に加えた変更が他に影響を及ぼすことはありません。ワークフローを 1 つの場所で簡単に更新、修正できるため、複数のポイントツーポイント統合の管理、監視、維持に労力を費やす必要はありません。Step Functions では過剰なコードを使用して関数やコンテナを作成する必要がないため、高い回復力と管理容易性を備えたアプリケーションをすばやく作成することができます。

ワークフローの構成

Step Functions では、ワークフローをステートマシンとして定義し、複雑なコードを理解しやすいステートメントやダイアグラムに置き換えることができます。アプリの構築に加え、所定の機能性が確実に実装されていることもすばやく簡単に確認できます。詳細については、Step Functions の仕組みをご覧ください。

組み込みのプリミティブ

Step Functions には、ワークフロー用に事前に作成された状態と呼ばれるステップが用意されています。状態では基本的なプリミティブが実装されるため、実装に関するロジックをアプリケーションから削除できます。状態では、他の状態へのデータの転送、タイムアウトの追加、意思決定、複数パスの並列実行などを行うことができます。状態の詳細をご確認ください。 

コンポーネントの再利用

AWS Step Functions では、すでに使用している Lambda 関数とマイクロサービスを統合して堅牢なアプリケーションを構築し、新たな構成にすばやく書き換えることができます。ワークフローのタスクは、インスタンス、コンテナ、関数、モバイル端末など、あらゆる場所で実行可能です。既存のアプリケーションコンポーネントを再利用する方法をご確認ください。

ワークフローの抽象化

Step Functions を使用すると、アプリケーションワークフローをそのビジネスロジックから切り離すことができます。そのため、複雑なアプリケーションのワークフローも簡単に管理、理解することができます。コードには一切変更を加えずに、ワークフローをすばやく変更できるため、リスクを軽減できます。

状態管理

Step Functions は実行中のアプリケーションがどのワークフローステップに位置するかを正確に追跡し、アプリケーションコンポーネント間で移動するデータを保存して、アプリケーションの状態を保持します。そのため、データストアを使用したり、既存の Lambda 関数に状態管理を追加したりして、状態を管理する必要はありません。

組み込みのエラー処理

AWS Step Functions に組み込まれた try/catch および retry により、タスクの完了にかかる時間の長さに関わらず、エラーと例外が自動的に処理されます。失敗またはタイムアウトしたタスクの再試行、エラーの種類に基づいた的確な対処、指定したクリーンアップ/リカバリコードへのフォールバックによる正常な復元などを自動的に実行できます。詳細については、Step Functions のエラー処理およびステートマシンを使用してエラー状態を処理する方法をご覧ください。

各実行の履歴

リアルタイムの診断機能とダッシュボード機能を備えた AWS Step Functions は、Amazon CloudWatch および AWS CloudTrail と連携し、全体的な状態、失敗したステップ、入力、出力を含むすべての実行をログに記録します。何らかの問題が発生しても、その問題の場所だけでなく原因もすばやく特定できるうえ、障害のトラブルシューティングと修復を迅速に行うことができます。詳細については、Step Functions のモニタリングとログ記録をご覧ください。

ビジュアル監視

ボタンを押すといったシンプルな操作でアプリケーションを起動すると、各ステップの実行がグラフィカルに表示されるため、すべてが意図したとおりに整然と実行されていることを簡単に確認できます。コンソールではエラーがはっきりとハイライトされるため、根本原因を簡単に特定し、問題をトラブルシューティングできます。

高可用性

AWS Step Functions は、耐障害性を備えています。各リージョンのアベイラビリティゾーン全体でサービスキャパシティーを維持し、マシンやデータセンターで発生する個別の障害に対してアプリケーションを保護します。これにより、サービス自体とサービスで実行されるアプリケーションワークフローの両方の可用性が高くなります。

自動スケーリング

AWS Step Functions では、アプリケーションの各ステップを実行するために、ワークロードの変化に応じて、オペレーションや基盤となるコンピューティング機能が自動的にスケールされます。これにより、リクエストの頻度が増加しても、アプリケーションワークフローのパフォーマンスを高い状態に維持できます。

セキュリティ

AWS Step Functions は、AWS Identity and Access Management (IAM) と統合されています。Step Functions API へのアクセス制御には、IAM のポリシーが使用されます。Step Functions は HIPAA 対応サービスです。個人健康情報 (PHI) などの医療関連情報を含むアプリケーションでも利用可能です。また、AWS Step Functions は SOC (System & Organization Control) にも準拠しています。こうしたサードパーティーによる監査の結果は AWS SOC コンプライアンスサイトでご覧いただけます。詳細については、Step Functions のセキュリティと認証をご覧ください。

利用に応じた支払い

AWS Step Functions では、ある状態から次の状態に遷移するごとに料金をお支払いいただきます。料金は、各状態の持続期間 (最長 1 年) には関わらず、状態の遷移回数に基づき計算されます。アイドル時間については料金は発生しません。数回から数千万回の実行数まで、さまざまな規模に対応可能な Step Functions なら、優れたコスト効率を実現できます。

AWS Step Functions の料金の詳細

料金表のページにアクセスする
始める準備はできましたか?
AWS Step Functions コンソールにサインイン
ご不明な点がありますか?
お問い合わせ