AWS Step Functions の特徴

AWS Step Functions を使用すべき理由

AWS Step Functions は、最新のアプリケーションにサーバーレスオーケストレーションを提供します。オーケストレーションにより、複数のステップに分割されフローロジックが追加されたワークフローを、ステップ間の入力と出力を追跡しながら集中管理できます。

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

Step Functions を使用すると、アプリケーションのビジネスロジックから独立してアプリケーションのワークフローを定義、管理できるため、より迅速かつ直感的にアプリケーション開発を行うことができます。ワークフローの特定の場所に加えた変更が他に影響を及ぼすことはありません。

ワークフローを 1 つの場所で簡単に更新、修正できるため、複数のポイントツーポイント統合の管理、監視、維持に労力を費やす必要はありません。 また、ワークフローから直接、ほぼすべての SaaS アプリケーションと簡単に統合できます。 

Step Functions では過剰なコードを使用して関数やコンテナを作成する必要がないため、高い回復力と管理容易性を備えたアプリケーションをすばやく作成することができます。

Page Topics

全般

全般

Open all

AWS Step Functions を使用すると、ワークフローをステートマシンとして定義し、複雑なコードを理解しやすいステートメントとダイアグラムに変換することができます。アプリケーションの構築、およびそれらが望ましい機能を実装していることの確認が、より素早く、簡単になります。詳細については、Step Functions の仕組みをご覧ください。

AWS Step Functions は、ステートと呼ばれるワークフロー用に事前作成されたステップを提供します。これらは、ユーザーのためにベーシックサービスプリミティブを実装するため、アプリケーションからロジックを取り除くことができます。ステートは、他のステートとマイクロサービスにデータを渡す、例外に対処する、タイムアウトを追加する、複数のパスを同時に実行するなどを実行できます。ステートの詳細をご覧ください。

AWS Step Functions では、アプリケーションの開発をスピードアップするための変数とペイロードの管理機能が強化されています。これにより、デベロッパーは変数を使用して Step Functions ワークフロー内でペイロードデータをより簡単に保存および参照できます。中間状態を通過することなく、ワークフローのどの状態でもデータを割り当てて参照できるため、ワークフロー状態間のペイロード管理が簡単になります。デベロッパーは JSONata で組み込みのデータ変換機能を利用できるため、カスタムコードの必要性が減り、生産性が向上します。JSONata には、日付/時刻のフォーマットや数学演算などの包括的なデータ変換機能が追加されており、ワークフローで直接データ操作を実行できます。また、新しいワークフローと既存のワークフローの両方に、ワークフローレベルまたは個々の状態レベルで Variables と JSONata を段階的に導入できますが、既存のワークフローは変更なしで完全に機能します。これらの機能により、デベロッパーはより複雑で効率的なワークフローをより少ない状態で作成でき、全体的なコストをさらに削減できます。

AWS Step Functions のサービスの統合を使用して、220 以上の AWS のサービスを呼び出すように Step Functions ワークフローを設定することができます。これには以下が含まれます。

  • コンピューティングサービス (AWS Lambda、Amazon ECS、Amazon EKS、および AWS Fargate)
  • データベースサービス (Amazon DynamoDB)
  • メッセージングサービス (Amazon SNS、Amazon SQS)、データ処理
  • 分析サービス (Amazon Athena、AWS Batch、AWS Glue、Amazon EMR、および AWS Glue DataBrew)
  • 機械学習のサービス (Amazon SageMaker)
  • Amazon API Gateway で作成された API

 サービスの統合の詳細をご覧ください。

AWS Step Functions は、AWS PrivateLink と Amazon VPC Lattice を利用した AWS サービス、SaaS アプリケーション、プライベート API との統合をサポートします。これにより、顧客はオンプレミスとクラウドの両方のパブリックネットワークとプライベートネットワークにわたる分散アプリケーションのイノベーションを加速し、モダナイゼーションを簡素化することが容易になります。AWS クラウドと外部の SaaS アプリケーションの機能を新規および既存のワークロードに導入して、より高いパフォーマンス、俊敏性、およびコスト削減を実現できます。カスタムコードを記述したり、追加のインフラストラクチャを管理したりすることなく、アプリケーション、AWS サービス、SaaS アプリケーションで構成される複数ステップのワークフローを構築、管理、調整できます。プライベートリソースに対するフルマネージド型の接続により、レガシーシステムとクラウドネイティブのアプリケーション全体でワークフローを安全に調整できるため、セキュリティと規制の順守を強化しながら、AWS でのイノベーションを加速できます。これらの進歩により、カスタムのネットワークコードや統合コードを作成および管理する必要がなくなり、開発者が拡張可能なシステムを構築し、新しい機能を簡単に追加できるようになるため、市場投入までの時間を短縮できます。

AWS Step Functions は、HTTPS 接続を確立できるアプリケーションならば、それがどこでホストされているかにかかわらず (例えば、Amazon EC2 インスタンス、モバイルデバイス、またはオンプレミスサーバー)、どれでも調整することができます。Step Functions を使用することにより、AWS のサービス、およびユーザー独自のマイクロサービスを活用する分散アプリケーションをすばやく作成することができます。アクティビティタスクの詳細をご覧ください。

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

AWS Step Functions は、アプリケーションのロジックを、アプリケーションの実装から厳密に分離させておきます。ステップは、ビジネスロジックに変更を加える必要なく、追加、移動、および交換し、順番を並び変えることができます。この関心の分離を通じて、ワークフローはモジュール性、シンプル化されたメンテナンス、スケーラビリティ、およびコードの再利性を得ます。

AWS Step Functions は実行中アプリケーションのステートを維持し、これには、それが実行のどのステップにあるかの追跡、およびワークフローのステップ間で移動するデータの保存が含まれます。これは、ユーザーがデータストアの使用、またはタスクのすべてに複雑なステート管理を構築することによってステートを管理する必要がないことを意味します。

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 が Express Workflows を追加します。Express Workflows は 1 秒あたり 100,000 件よりも早いイベント速度をサポートし、大容量で短期間のワークフローの構築を可能にします。

Express Workflow では、AWS Lambda 関数の呼び出し、AWS IoT ルールエンジンアクション、および 100 を超える AWS サードパーティ SaaS イベントソースからの Amazon EventBridge イベントを調整できます。

Express と Standard のワークフローの詳細と、自動化アーキテクチャのサンプルでの使用方法については、Step Functions のユースケースのページでご確認ください

Step Functions は、Amazon S3 に保存された画像、ログ、CSV ファイルなどのオブジェクトに対する反服作業を行い、何千もの並列ワークフローを起動して調整し、データを処理することができます。数千のワークフローの同時実行をより迅速かつ容易にスケールでき、数百万のログの分析、テラバイトのデータの反復処理、ドキュメント、画像、動画ファイルの処理に役立ちます。大規模な並列ワークフローを構築するには、Step Functions Map ステートの詳細をご覧ください。

AWS Step Functions は、AWS Identity and Access Management (IAM) と統合されており、ワークフローで使用されるすべてのリソースに対して最小権限の IAM ポリシーを提案します。Step Functions は、AWS PrivateLink を使用した VPC エンドポイント (VPCE) をサポートしています。VPC に対応した AWS Lambda 関数などのサービスから、パブリックインターネットを経由せずに AWS Step Functions にアクセスできます。詳細については、Step Functions のセキュリティと認証をご覧ください。

AWS Step Functions は HIPAA 準拠サービスで、個人健康情報 (PHI) などの医療関連情報が含まれるアプリケーションでの使用も可能です。また、Step Functions は SOC (System & Organization Control) にも準拠しています。こうしたサードパーティーによる監査の結果は AWS SOC コンプライアンスサイトでご覧いただけます。AWS Step Functions は、その他の一般的なコンプライアンス標準にも準拠しています。AWS クラウドセキュリティサイトを確認して、コンプライアンスの対象範囲を把握してください。

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

AWS Step Functions の料金に関する詳細

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