AWS Step Functions の開始方法
AWS Step Functions とは何ですか?
AWS Step Functions では、コードを記述することなく、アプリケーションに回復性があるワークフローオートメーションを数分で追加できます。Step Functions を使って構築されたワークフローには、エラーハンドリング、パラメーターパッシング、推奨されるセキュリティ設定、およびステート管理が組み込まれており、記述して維持する必要があるコードの量が削減されます。
AWS Step Functions は、視覚的ワークフローを使用して分散アプリケーションやマイクロサービスのコンポーネントを容易にコーディネートできるサービスです。マイクロサービスは、より大きな目標を達成するために、ネットワーク上で互いに通信するプロセスです。マイクロサービスの集合体として構築されたアプリケーションは、より耐障害性があり、スケールが容易になります。非常にシンプルなマイクロサービスは、AWS Lambda 関数でデプロイすることができます。
多くのアプリケーションは複数の機能を必要とし、2 つまたは 3 つの機能の組み合わせやパターンを持つことが一般的です。例えば、2 つの関数を並行して実行し、結合した結果を 3 つ目の関数に供給したい場合があります。マイクロサービスのインタラクションをオーケストレーションするために多くのコードを書くこともできますが、ワークフローを調整するために AWS Step Functions を使うこともできます。
AWS Step Functions の使用を開始するには?
Step Functions の使用は簡単に開始できます。Workflow Studio は、ワークフローをドラッグ & ドロップで簡単に表現できるインターフェースで、迅速に構築を開始できます。Step Functions では、ワークフローをステートマシンの形で定義し、順番に実行するタスクと並行して実行するタスクを指定し、必要に応じて分岐ロジックを組み入れます。Step Functions は、各実行を管理し、中央の監査証跡で各ステップを追跡し、組み込みの try-catch-finally パターンでタスクのタイムアウト、再試行、エラーを管理します。
始める準備はできましたか?
Step Functions のセルフガイドワークショップでは、インタラクティブなモジュールを通して Step Functions の機能をより深く学ぶことができます。
クレジットカード申請の基本的なワークフローを作成するための開始方法のチュートリアルシリーズをお試しください。Step Functions でマップ、選択、パラレル、タスクなどのよく使われるステートの使い方を学びます。ワークフローを AWS Lambda や Amazon Simple Notification Service など、他の AWS サービスと統合することになります。
Serverless Workflows Collection をご覧ください。AWS SAM と CDK テンプレートを使用してアプリケーションを迅速に構築するためのワークフローパターンのコレクションを表示します。ユースケースでフィルタリングし、テンプレートまたはワークフロー定義をアプリケーションに直接コピーします。
サーバーレスワークフローの中心概念
Step Functions で作業する際に遭遇する可能性のあるサーバーレスワークフローの中心概念は何でしょうか?
以下では、最も重要な概念とその定義について説明します: パスステート、パラレルステート、選択ステート、ステート遷移、コンポーネントの再利用性、分岐ロジックなどです。
主な概念を理解したら、最初の Step Functions State Machine を作成する準備はできています。
AWS Step Functions では、各タスクを視覚的なワークフローに整理できるので、素早くアプリケーションを構築し、更新することができます。
Step Functions を使用して構築するワークフローはステートマシンと呼ばれ、ワークフローの各ステップはステートと呼ばれます。
タスクは、別の AWS サービス、または基本的にどこでもホストできるアプリケーションのいずれかを調整することによって作業を実行します。
パスステートは、その入力を出力として次のステートに渡します。 また、待機ステートを使用する必要がある場合は、実行を遅らせることもできます。
パラレルステートは、一度に複数の Lambda 関数を実行するなど、同時に複数の分岐の実行を開始します。
選択ステートは、ステートマシンに分岐ロジックを追加し、入力に基づいて決定します。
ステートマシンを実行する際、あるステートから次のステートへの各移行はステート遷移と呼ばれます。
コンポーネントを再利用し、必要に応じて、ステップのシーケンスを簡単に編集したり、タスクステートによって呼び出されるコードをスワップアウトできます。
これで完了です。 Step Functions の主要な概念を理解できたはずです。最初のステートマシンを作成してみませんか?
10 分間チュートリアル
開始するにあたり、初心者向けに 10 分間の AWS Step Functions チュートリアルが用意されています。サーバーレスワークフローの作成、サーバーレスアプリケーションでのエラーの対処、サーバーレスワークフローのスケジューリングの方法を学ぶことができます。
Step Functions の開始方法のチュートリアルでは、AWS Step Functions を使って複数の AWS Lambda 関数を連携させたサーバーレスワークフローを設計および実行する方法、AWS Step Functions を使って組み込みの再試行とキャッチ機能によりワークフローのランタイムエラーに対処する方法、スケジュールに従って発生したイベントに応答してサーバーレスワークフローをオーケストレーションする方法などが学べます。
10 分
AWS Step Functions を使用して、複数の AWS Lambda 関数を連携させたサーバーレスワークフローを設計して実行する方法を学習します
IAM、Lambda、Step Functions
10 分
AWS Step Functions の組み込みの再試行とキャッチ機能を使用して、発生した例外に応じて異なるロジックで AWS Lambda のランタイムエラーを処理します
IAM、Lambda、Step Functions
10 分
時間ベースのスケジュールに従って開始される Amazon CloudWatch イベントに応じて、サーバーレスワークフローのオーケストレーションを行います
CloudWatch、IAM、Step Functions
AWS Step Functions リソースをさらに詳しく見る