概要

  • AWS Step Functions とは何ですか?

    AWS Step Functions は完全マネージド型のサービスで、視覚的ワークフローを使用して分散アプリケーションやマイクロサービスのコンポーネントを容易にコーディネートできます。それぞれ別個の機能を実行する個々のコンポーネントからアプリケーションを構築することで、迅速にアプリケーションをスケーリングおよび変更できるようになります。Step Functions を使えば、安心してアプリケーションのコンポーネントを調整し、機能を配置できます。グラフィカルコンソールを使用して、アプリケーションのコンポーネントを一連のステップとして配置し、可視化できます。これにより、複数のステップからなるアプリケーションをシンプルに構築および実行できるようになります。Step Functions では、各ステップが自動的にトリガーおよび追跡され、エラーが発生した場合は再試行されるため、アプリケーションが意図したとおりに整然と実行されます。また、各ステップの状態が記録されるため、問題が発生した場合は、問題を簡単に診断およびデバッグできます。コードを記述することなくステップを変更および追加できるため、アプリケーションを簡単に進化させ、短期間でイノベーションを実現できます。

  • サービスオーケストレーションを使用して、アプリケーションを設計することにおける利点は何ですか?

    アプリケーションをサービスコンポーネント (またはステップ) に分割することで、1 つのコンポーネントで障害が発生した場合もシステム全体がダウンすることなく、各コンポーネントが独立してスケーリングされ、そして各変更後にシステム全体を再デプロイすることなくそのコンポーネントを更新できるという利点があります。サービスコンポーネントのコーディネートとは、具体的には実行従属関係、スケジューリング、および同時実行を、アプリケーションの論理的フローに従って管理することです。このようなアプリケーションでは、開発者がサービスオーケストレーションを使用してこれを実行し、障害を処理できます。

  • 一般的なAWS Step Functions ユースケースは何ですか?

    AWS Step Functions は、一連のステップに細分できる計算上の問題やビジネスプロセスに役立ちます。エンドトゥーエンドワークフローを作成して、相互依存するジョブを管理するのも便利です。一般的ユースケースには、以下のようなものがあります。

    • データプロセシング:データをマルチデータベースから統一されたレポートにまとめる、大きなデータセットを便利な形式に精製して減らす、または手順の多い分析とマシンラーニングワークフローを整合します。
    • DevOps および ITオートメーション: 継続的インテグレーション、継続的デプロイメントのためにツールを構築、またはインフラストラクチャーの変化に自動的に応答する事象主動のアプリケーションを作成します
    • e コマース – 注文のフルフィルメントや在庫追跡など、ミッションクリティカルなビジネスプロセスを自動化する。
    • ウェブアプリケーション – 強力なユーザー登録プロセスとサインオン認証を実装する。

    詳細については、AWS Step Functions のユースケース および お客様の声をお読みください。

  • AWS Step Functions はどのようなしくみになっていますか?

    AWS Step Functionsを使用して、一連のステップ、関係および入出力のワークフローを説明する状態マシンを定義します。状態マシンはそれぞれがワークフローダイアグラムの個別の手順を表す状態の数を含んでいます。状態は作業の実行、選択、パラメータの移動、並行実行の開始、タイムアウトの管理、または成功または失敗という形でワークフローを停止します。視覚的なコンソールで各状態を実行順に自動的にグラフ化できるため、複数ステップのアプリケーションを簡単に設計できます。コンソールでは各ステップのリアルタイムステータスが強調表示され、すべての実行の詳細な履歴が提供されます。詳細については、 AWS Step Functions 開発者ガイド How Step Functions Worksをご覧ください。

  • AWS Step Functionsはどのように私のリソースに接続しますか?

    状態マシンを設定して、アクティビティータスクおよびサービスタスクを使用することにより作業を行うことができます。アクティビティータスク を使い、ワークフロー中の特定の手順を割り当て、他の場所で実行するコードを書くことができます (アクティビティーワーカーとして知られています)。アクティビティーワーカーはいずれかの場所でホストされている、HTTP接続を作成するいずれかのアプリケーションです。例えば、アクティビティーワーカーはAmazon EC2インスタンス、モバイルデバイス、またはオンプレミスサーバー上で実行できます。アクティビティーワーカーは 作業用にStep Functionsをポーリング、Step Functionsから入力を取り込み、コードを使用して作業を行い、結果をリターンします。アクティビティーワーカーは作業をリクエストするので、デプロイされファイアウォールの背後にあるワーカーを使用するのが簡単です。

    サービスタスクにより、ワークフローの手順をサポート対象のAWSサービスに接続することができます。Step Functionはリクエストを他のサービスにプッシュするので、ワークフロー、サービスタスク完了までの待機のアクションを行い、次の手順に進みます。

    AWS Step Function状態マシンはアクティビティタスクとサービスタスクの組み合わせを含むことができます。AWS Step Functions アプリケーションでは、データセンターで稼働しているワーカーとクラウドで稼働しているワーカーを組み合わせることができます。データセンター内のワーカーは引き続き通常どおり稼働し、並行して任意のクラウドベースのワーカーも稼働します。

  • AWS Step Functions の使用を開始するにはどうすればよいですか?

    AWS Step Functionsを使用して開始する方法はいくつかあります:

  • AWS Step Functions ではどのような言語を使用できますか?

    AWS Step Functions 状態マシンは 陳述的な Amazon 状態言語を使用して、JSON で定義されています。ウェブサービス API を使用して AWS Step Functions と通信している限り、どのようなプログラミング言語でもアクティビティワーカーを作成できます。ご希望の言語の AWS SDK を使用すると便利です。AWS Lambda は、Node.js (JavaScript)、Python、Golang (Go)、および C# (.NET Core ランタイムおよび他の言語を使用) で記述されたコードをサポートしています。Lambda プログラミングモデルについての詳細は、 AWS Lambda 開発者ガイドをご覧ください。

比較

  • AWS Step Functions と AWS Batch はどのように使い分けますか?Amazon SQS

    高度にスケーラブルで監査可能なアプリケーションの開発においてサービスコンポーネントを調整する必要がある場合は、AWS Step Functions を使用してください。サービス間でメッセージを送信、保存、および受信するために、信頼性が高く、高度にスケーラブルなホストキューが必要な場合は、Amazon Simple Queue Service (Amazon SQS) を使用することをお勧めします。Step Functions では、アプリケーション内のすべてのタスクとイベントのトラッキングが行われます。Amazon SQS では、アプリケーションレベルのトラッキングを独自に実装する必要があります。特に、アプリケーションで複数のキューを使用する場合です。Step Functions コンソールと可視化 API によって、アプリケーションを中心としたビューが提供され、そこで、実行の検索、実行の詳細情報へのドリルダウン、および実行の管理を行うことができます。Amazon SQS では、そのような追加の機能を実装する必要があります。Step Functions には、タスク間のデータ受け渡しや柔軟なタスク分散など、アプリケーション開発に役立つ機能が多数用意されています。Amazon SQS では、一部のアプリケーションレベルの機能を実装する必要があります。分散アプリケーションの調整のための基本的なワークフローを Amazon SQS を使用して構築することもできますが、Step Functions はこのような機能を初期状態で使えるように設定されており、アプリケーションレベルのその他の機能も追加されています。

  • AWS Step Functions と AWS Batch はどのように使い分けますか?Amazon Simple Workflow Service (SWF)?

    AWS Step Functions では、より生産的かつ機敏なアプローチにより、視覚的ワークフローを使用してアプリケーションコンポーネントを調整できるため、新しいアプリケーションには AWS Step Functions を使用することをお勧めします。プロセスにおいて介入する外部信号が必要な場合、または結果を親に返す子プロセスを起動する場合は、Amazon Simple Workflow Service (Amazon SWF) を使用してください。Amazon SWF では、宣言型の JSON にステートマシンを記述するのではなく、ディサイダープログラムを書いて決定ステップからアクティビティステップを分離します。Amazon SWF では、連携ロジックを完全に制御することが可能ですが、アプリケーションの開発はより複雑になります。選択したプログラミング言語でディサイダープログラムを記述することも、Flow Framework を使用して、自動的に非同期の相互作用を構造化するプログラミングコンストラクトを利用することもできます。

統合

  • AWS Step Functions は他の AWS のサービスと一緒に使用できますか?

    AWS Step Functionsで作成するワークフローはサービスタスクを使用して他のAWSに接続および整合できます。例えば、以下が可能です。

    • AWS Lambda 関数を呼び出す
    • Amazon ElasticコンテナサービスまたはAWS Fargateタスクを実行する
    • Amazon DynamoDB諸表からの既存アイテムを取得する、または新規アイテムをDynamoDB 諸表に置く
    • AWS Batchジョブを提出して完了するのを待つ
    • Amazon SNSトピックにメッセージを公表する
    • Amazon SQSキューにメッセージを送信する
    • AWS Glueジョブの実行を開始する
    • Amazon SageMakerジョブを作成してマシーンラーニングモデルをトレーニングする、またはデータセットを束ねて変換する

    Step Functionsを使用して他のAWSサービスに接続することについての詳細は、Step Functions 開発者ガイドをご覧ください。アプリケーションを実行する状態マシン内でタスクを作成することもできます、概要 セクションのよくある質問 AWS Step Functionsはどのように私のリーソースに接続しますか?を参照してください。

  • AWS Step Functions と Amazon API Gateway はどのように連携しますか?

    Step Functions APIsをAmazon API ゲートウェイに関係づけることができますので、これらの APIはHTTPSリクエストが、お客様が定義するAPI 方式に送信されるときに状態マシンを呼び出します。Amazon API Gateway APIを使用して、 分散したバックエンドアプリケーションのコンポーネントと人間アクティビティータスクの統合を、承認リクエストおよび応答のようなアプリケーション手順に整合するStep Functions状態マシンを開始することができます。アプリケーションで使用するサービスの API に対するサーバーレス非同期呼び出しも可能です。詳細については、API ゲートウェイを使用してのCreating a Step Functions API の作成の弊社のチュートリアルをお試しください。

  • AWS Step Functions向けにロギングおよび監視はどのように動作しますか?

    AWS Step Functionsはアプリケーション監視のため、Amazon CloudWatch および AWS CloudTrailにメトリックを送信して。Amazon CloudWatch によって、メトリクスの収集と追跡、アラームの設定が実行され、AWS Step Functions の変更にも自動的に反応します。AWS CloudTrailはStep Functions コンソールからのコール、およびコードコールからStep Functions APIへのコールも含む、すべてのStep FunctionsのAPIコールを事象として取り込みます 。Step Functionsはまた、ワークフロー内の各統合サービス毎にAmazon CloudWatch Events 管理下ルールもサポートし、必要時にAWS アカウントのCloudWatch Events ルールを作成および管理します。詳細については、 AWS Step Functions 開発者ガイド 監視およびロギングをご覧ください。

セキュリティ

AWS Step Functions の使用を開始する

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