Amazon Web Services ブログ

新機能 – AWS Step Functions 高速ワークフロー: 高パフォーマンスと低コスト

re:Invent 2016 では AWS Step Functions開始しました。お客様はすぐにサービスを利用して、多段階ワークフローのコア要素として使用しました。現在、機械学習トレーニング、レポート生成、注文処理、IT オートメーション、およびその他の多くの多段階プロセスを調整するサーバーレスワークフローを構築しているお客様もいらっしゃいます。これらのワークフローは最大 1 年間実行でき、チェックポイント、一時的な障害の再試行、監査目的での詳細状態の追跡を含むワークフローモデルを中心に構築されます。

使用状況とフィードバックから、お客様方がコアな Step Functions モデルを非常に好んでいることがわかります。お客様は、宣言仕様と、ワークフローを簡単に構築、テスト、スケーリングできることを気に入っています。実際、お客様は Step Functions が非常にお気に入りのため、IoT データの取り込み、ストリーミングデータ処理、モバイルアプリケーションバックエンドなどの大容量で短期間のユースケースに使用したいと考えています。

新しい高速ワークフロー
本日、既存の標準ワークフローのオプションとして高速ワークフローを開始しました。高速ワークフローは同じ宣言仕様モデル (Amazon States Language) を使用しますが、これらの大容量で短期間のユースケース向けに設計されています。知っておくべきことは、次のとおりです。

トリガー – AWS サービスの長いリストに関連付けられたイベントと読み取り/書き込み API 呼び出しを使用して、高速ワークフローの実行をトリガーできます。

実行モデル – 高速ワークフローは 1 回以上実行モデルを使用し、失敗したステップを自動的に再試行することはありませんが、エラー処理で説明されているように、再試行とキャッチを使用できます。ステップはチェックポイントとして表示されないため、ステップごとのステータス情報は利用できません。成功と失敗は CloudWatch Logs に記録され、ログ記録レベルを完全に制御できます。

ワークフロー段階 – 高速ワークフローは、アクティビティタスクを除き、標準ワークフローと同じサービス統合の多くをサポートします。AWS BatchAWS GlueAmazon SageMaker などの長期実行サービスを開始できます。とても待ち遠しいことでしょう。

期間 – 高速ワークフローは、実際の経過時間で最大 5 分間実行できます。他の高速ワークフローまたは標準ワークフローを呼び出すことはできますが、とても待ちきれないでしょう。また、標準ワークフローから高速ワークフローを呼び出して、アプリケーションのニーズを満たすために両方のタイプを構成することもできます。

イベント料金 – 高速ワークフローは、1 秒あたり 100,000 件のイベントを超えるアカウントごとの呼び出しレートをサポートするように設計されています。アカウントはデフォルトで 1 秒あたり 6,000 件のイベントが設定されています。これは、通常どおり、リクエストに応じて発生されます。

料金設定 – 標準ワークフローは、状態移行の数に基づいて料金が設定されます。高速ワークフローは、呼び出しの数に基づいて料金が設定され、実行中にワークフローの状態を追跡するために使用されるメモリの量に基づいて GB/秒の料金が発生します。料金モデルを直接比較することはできませんが、高速ワークフローは大規模であるため、はるかに費用対効率が高くなります。詳細については、AWS Step Functions 料金をご覧ください。

ご覧のとおり、標準ワークフローについて既に知っていることのほとんどは、高速ワークフローにも当てはまります。 標準ワークフローの一部を高速ワークフローに置き換え、高速ワークフローを使用して新しいタイプのアプリケーションを構築することができます。

高速ワークフローの使用
高速ワークフローを作成すると、わずか数分で希望するイベントに添付できます。コンソールで高速タイプを選択するだけです。

次に、ステートマシンを定義します。

CloudWatch ログ記録を構成し、タグを追加します。

これで、高速ワークフローをイベントソースに添付できます。EventBridge コンソールを開いて、新しいルールを作成します。

単一 S3 バケットの PutObject イベントに一致するパターンを定義します。

高速ワークフローをイベントターゲットとして選択し、タグを追加して、作成をクリックします。

特定のイベントは、オブジェクトレベルのアクティビティを記録するように設定された CloudTrail トレイルがある場合にのみ発生します。

次に、バケットに画像をアップロードし、CloudWatch Logs グループをチェックして、ワークフローが期待どおりに実行されたことを確認します。

より現実的なテストとして、一度に数百枚の画像をアップロードし、Lambda 関数が高い同時実行性で呼び出されることを確認できます。

また、Step Functions コンソールの新しいモニタリングタブを使用して、ステートマシンに固有のメトリックを表示することもできます。

今すぐ利用可能です
今日、すべての AWS リージョンで AWS Step Functions 高速ワークフローを作成して使用することができます。

Jeff