Workflow Studio を使用する - AWS Step Functions

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Workflow Studio を使用する

Step Functions Workflow Studio を使用してワークフローを作成、編集、実行する方法を学習します。ワークフローの準備ができたら、ワークフローをエクスポートできます。Workflow Studio を使用してラピッドプロトタイプ作成を行うこともできます。

ワークフローの作成

Workflow Studio では、スターターテンプレートを選択するか、空白のテンプレートを選択してワークフローを最初から作成できます。空白のテンプレートの場合は、[デザイン] モードまたは [コード] モードを使用してワークフローを作成できます。

スターターテンプレートは、ワークフローのプロトタイプと定義を自動的に作成し、プロジェクトに必要なすべての関連 AWS リソースを AWS アカウント にデプロイする、すぐに実行できるサンプルプロジェクトです。これらのスターターテンプレートをそのままデプロイして実行することも、ワークフロープロトタイプを使用してその上に構築することもできます。スターターテンプレートの詳細については、「Step Functions サンプルプロジェクト」を参照してください。

スターターテンプレートを使用してワークフローを作成する

  1. Step Functions コンソールを開き、[ステートマシンの作成] を選択します。

  2. [テンプレートを選択] ダイアログボックスで、次のいずれかを実行してサンプルプロジェクト ([タスクタイマー] サンプルプロジェクトなど) を選択します。

    • [キーワードで検索] ボックスに Task Timer と入力し、返された検索結果から[タスクタイマー] を選択します。

    • 右側のペインの [すべて] に一覧表示されているサンプルプロジェクトを参照し、[タスクタイマー] を選択します。

  3. 次へを選択して続行します。

  4. Step Functions には、選択したサンプルプロジェクトで使用されている AWS のサービス が一覧表示されます。サンプルプロジェクトのワークフローグラフも表示されます。このプロジェクトを AWS アカウント にデプロイしたり、独自のプロジェクトを構築するための出発点として使用します。進める方法に応じて、[デモの実行] または [その上に構築する] を選択します。

  5. [テンプレートの使用] を選択して選択を続行します。

  6. 次のいずれかを行います:

    • [その上に構築する] を選択した場合、Step Functions は選択したサンプルプロジェクトのワークフロープロトタイプを作成します。Step Functions は、ワークフロー定義にリストされているリソースをデプロイしません。デザインモード では、[State browser] (状態ブラウザ) からステートをドラッグアンドドロップして、ワークフロープロトタイプの構築を続行できます。または、コードモード に切り替えてワークフローの Amazon ステートメント言語 (ASL) 定義を更新してください。

      重要

      ワークフローを実行する前に、サンプルプロジェクトで使用されているリソースのプレースホルダー Amazon リソースネーム (ARN) を必ず更新してください。

    • [デモの実行] を選択した場合、Step Functions は、AWS CloudFormation テンプレートを使用してそのテンプレートにリストされている AWS リソースを AWS アカウント にデプロイする読み取り専用のサンプルプロジェクトを作成します。

      ヒント

      サンプルプロジェクトのステートマシン定義を表示するには、[コード] を選択します。

      準備できたら、[デプロイと実行] を選択してサンプルプロジェクトをデプロイし、リソースを作成します。

      注記

      これらのリソースおよび関連する IAM 許可が作成されるまで、最大 10 分かかることがあります。リソースのデプロイ中に、CloudFormation スタック ID リンクを開いて、プロビジョンされているリソースを表示することができます。

      重要

      CloudFormation テンプレートで使用される各サービスには標準料金が適用されます。

空白のテンプレートを使用してワークフローを作成します。

  1. Step Functions コンソールを開きます。

  2. Create State Machine (ステートマシンの作成) を選択します。

  3. [テンプレートを選択] ダイアログボックスで [空白] を選択します。

  4. [選択] を選びます。これにより、デザインモード で Workflow Studio が開きます。

    これで、デザインモード でワークフローの設計を開始したり、コードモード へのワークフロー定義の書き込みを開始できます。

  5. [設定] を選択して、設定モード のワークフローの設定を管理します。例えば、ワークフローの名前を入力し、そのタイプを選択します。

ワークフローの設計

追加する状態の名前がわかっている場合は、[State browser] (状態ブラウザ) の上部にある検索ボックスを使用して、デザインモード[アクション] タブと [フロー] タブでその状態を見つけます。


          Step Functions Workflow Studio 検索

それ以外の場合は、ステートブラウザから状態を選択し、キャンバスにドラッグアンドドロップして、ワークフロー内の目的の場所に配置します。また、ワークフロー内の別の場所にドラッグして、ワークフローの状態を並べ替えることができます。状態をキャンバスにドラッグすると、ワークフロー内でドロップできる場所にラインが表示されます。状態がキャンバスにドロップされると、そのコードが自動生成され、ワークフロー定義内に追加されます。定義を確認するには、インスペクターパネル[定義] トグルをオンにします。ワークフロー定義を編集するには、統合コードエディタが搭載されている コードモード を選択してください。


          Step Functions Workflow Studio によるキャンバスへの状態の追加

ステートをキャンバスにドロップすると、右側の Inspector パネルでそのステートを設定できます。このパネルには、キャンバスに配置した各ステートまたは API アクションの[設定][入力][出力]、および [エラー処理] タブがあります。ワークフローに含めるステートは、[設定] タブで設定します。例えば、Lambda 呼び出し API アクションの [設定] タブは次のオプションで構成されています。


          設定オプション
  1. [State name] (状態名) は状態を示します。独自の名前を使用するか、デフォルトの生成名をそのまま受け入れます。

  2. [API] には、ステートが使用する API アクションが表示されます。

  3. [統合タイプ] ドロップダウンリストには、Step Functions で使用可能なサービス統合のタイプを選択するオプションが表示されます。選択した統合タイプは、ワークフローから特定の AWS のサービス の API アクションを呼び出すために使用されます。

  4. [Function name] (関数名) は、以下にオプションを提供します。

    • [Enter a function name] (関数名を入力): 関数名またはその ARN を入力できます。

    • [Get function name at runtime from state input] (状態入力からランタイムに関数名を取得): このオプションを使用すると、指定したパスに基づいて、状態入力から関数名を動的に取得できます。

    • [Select function name] (関数名を選択): アカウントとリージョンで利用可能な機能から直接選択できます。

  5. [ペイロード] では、次のオプションから選択します。

    • [状態入力をペイロードとして使用]: このオプションを使用して、Lambda 関数に提供されるペイロードとして状態の入力を渡すことができます。

    • [独自のペイロードを入力]: このオプションを使用して、ペイロードとして Lambda 関数に渡す JSON オブジェクトを構築できます。この JSON には、静的な値と状態入力から選択した値を両方とも含めることができます。

    • [ペイロードなし]: Lambda 関数にペイロードを渡さない場合は、このオプションを使用できます。

  6. (オプション) 一部の状態には、[タスクが完了するまで待機] または [コールバックを待つ] を選択するオプションがあります。使用可能な場合、これらのオプションを使用して次の サービス統合パターン の一つを選択します。

    • [No option selected] (オプションの選択なし): Step Functions は レスポンスのリクエスト 統合パターンを使用します。Step Functions は HTTP 応答を待ってから、次の状態に進みます。Step Functions はジョブが完了するまで待機することはしません。使用可能なオプションがない場合、状態はこのパターンを使用します。

    • [Wait for task to complete] (タスクの完了を待つ): Step Functions は ジョブの実行 (.sync) 統合パターンを使用します。

    • [Wait for callback] (コールバックを待つ): Step Functions は タスクトークンのコールバックまで待機する 統合パターンを使用します。

  7. (オプション) ワークフロー内のさまざまな AWS アカウント で設定されたリソースにアクセスするために、Step Functions はクロスアカウントアクセスを提供します。クロスアカウントアクセスのための IAM ロールには、以下のオプションがあります。

    • IAM ロールの ARN を指定: 適切なリソースアクセス許可を含む IAM ロールを指定します。これらのリソースは、クロスアカウント呼び出しを行う AWS アカウント であるターゲットアカウントで利用できます。

    • 状態入力からランタイムに IAM ロール ARN を取得する: IAM ロールを含むステートの JSON 入力内の既存のキーと値のペアへの参照パスを指定します。

  8. [Next state] (次の状態) 次に移行したい状態を選択できます。

  9. (オプション) [Comment] (コメント) フィールドを使用して、独自のコメントを追加できます。ワークフローには影響しませんが、ワークフローに注釈を付けるために使用できます。

一部の状態には、さらに包括的な設定オプションがあります。例えば、Amazon ECS RunTask 状態の設定には、プレースホルダー値が入力された API Parameters フィールドを含みます。


          Amazon ECS RunTask ステートの設定オプション

これらの状態では、プレースホルダー値をニーズに適した構成と置き換えることができます。

状態を削除するには、バックスペースを使用して右クリックし、[状態の削除] または [デザインツールバー][削除] を選択します。


          状態の削除

ワークフローが大きくなると、キャンバスに収まらない場合があります。次のようにできます。

  1. サイドパネルのコントロールを使用して、パネルのサイズを変更するか、パネルを閉じます。

  2. キャンバス の上部にあるデザインツールバーを使用して、ワークフローのグラフをズームインまたはズームアウトします。


          キャンバスコントロール

ワークフローを実行

Workflow Studio を使用してワークフローを作成または編集した後、ワークフローを実行すると、Step Functions コンソールでそれが表示できます。

Workflow Studio でワークフローを実行するには
  1. [デザイン][コード]、または[設定] モードで、[実行]を選択ます。

    [実行を開始] ダイアログが新しいタブに開きます。

  2. [実行を開始] ダイアログボックスで、以下の操作を行います。

    1. (オプション) 実行を識別するには、[名前] ボックスに名前を指定します。デフォルトでは、Step Functions は自動的に一意の実行名を生成します。

      注記

      Step Functions では、ステートマシン、実行、アクティビティ、レート制御、ラベルに、ASCII 以外の文字を含む名前を作成できます。これらの非 ASCII 名は Amazon CloudWatch では機能しません。CloudWatch メトリクスを確実に追跡できるようにするには、ASCII 文字のみを使用する名前を選択します。

    2. (オプション) [入力] ボックスに、JSON 形式の入力値を入力してワークフローを実行します。

    3. [Start execution] (実行のスタート) を選択します。

    4. Step Functions コンソールから実行 ID のタイトルが付いたページが表示されます。このページは、[実行の詳細] ページと呼ばれます。このページでは、実行の進行中または完了後に実行結果を確認できます。

      実行結果を確認するには、[グラフビュー] で個々の状態を選択し、ステップの詳細 ペインの個々のタブを選択すると、入力、出力、定義などの各状態の詳細がそれぞれ表示されます。[実行の詳細] ページに表示できる実行情報の詳細については、「[実行の詳細] ページ - インターフェイスの概要」を参照してください。

ワークフローの編集

Workflow Studio の デザインモード では、既存のワークフローを視覚的に編集できます。Workflow Studio の コードモード でワークフロー定義を編集することもできます。

既存のワークフローを編集するには:

  1. Step Functions コンソールを開きます。

  2. [ステートマシン] ページで、編集するワークフローを選択します。

  3. [ステートマシンの詳細] ページで、[編集] を選択します。

  4. ワークフローは Workflow Studio の[デザイン] モードで開きます。必要に応じてワークフローを編集します。

    
              [デザイン] モードでワークフローを編集します。
    注記

    ワークフローにエラーが見つかった場合は、[デザイン] モードで修正する必要があります。ワークフローにエラーがある場合は、[コード] モードまたは [設定] モードに切り替えることはできません。

  5. (オプション) [コード] ボタンを選択して、Workflow Studio でワークフロー定義を表示または編集します。

    
              ワークフローを [コード] モードで表示または編集します。
  6. 完了したら、[保存] を選択して、更新されたワークフローを保存します。

  7. (オプション) 更新したワークフローを実行するには、[実行] を選択します。[実行を開始] ダイアログが新しいタブに開きます。

ワークフローのエクスポート

ワークフローの Amazon ステートメント言語 (ASL) 定義とワークフローのグラフをエクスポートできます。

  1. Step Functions コンソールでワークフローを選択します。

  2. [ステートマシンの詳細] ページで、[編集] を選択します。

  3. (オプション) ワークフローは Workflow Studio の [デザイン] モードで開きます。[デザイン] モードでワークフローを編集するか、[コード] モードに切り替えます。

  4. [アクション] ドロップダウンボタンを選択し、次のいずれかまたは両方を実行します。

    • ワークフローのグラフを SVG または PNG ファイルにエクスポートするには、[グラフをエクスポート] で、使用する形式を選択します。

    • ワークフロー定義を JSON または YAML ファイルとしてエクスポートするには、[定義をエクスポート] で目的の形式を選択します。

ワークフロープロトタイプの作成

Workflow Studio を使用して、プレースホルダーリソースを含む新しいワークフローのプロトタイプを作成します。Application Composer の Workflow Studio を使用してワークフローを構築することもできます。プロトタイプを作成するには:

  1. Step Functions コンソールにサインインします。

  2. Create State Machine (ステートマシンの作成) を選択します。

  3. [テンプレートを選択] ダイアログボックスで [空白] を選択します。

  4. [選択] を選びます。これにより、デザインモード で Workflow Studio が開きます。

  5. Workflow Studio の [デザイン] モードが開きます。Workflow Studio でワークフローを設計します。プレースホルダーリソースを含めるには、次の手順に従います。

    1. プレースホルダーリソースを含める状態を選択し、[設定] を選択します。

      • Lambda 呼び出し状態の場合、[関数名] を選択し、その後、[関数名を入力] を選択します。関数のカスタム名前を入力することもできます。

      • Amazon SQS Send Message 状態については、[キュー URL] を選択し、その後、[キュー URL を入力] を選択します。プレースホルダーキュー URL を入力します。

      • Amazon SNS 発行ステートの場合は、[トピック] からトピック ARN を選択します。

      • [Actions] (アクション) の下にリストされている他の状況すべてについては、デフォルト設定を使用できます。

      注記

      ワークフローにエラーが見つかった場合は、[デザイン] モードで修正する必要があります。ワークフローにエラーがある場合は、[コード] モードまたは [設定] モードに切り替えることはできません。

    2. (オプション) ワークフローの自動生成 ASL 定義を表示するには、[定義] を選択します。

    3. (オプション) Workflow Studio でワークフロー定義を更新するには、[コード] ボタンを選択します。

      注記

      ワークフロー定義にエラーがある場合は、[コード] モードで修正する必要があります。ワークフロー定義にエラーがある場合は、[デザイン] モードまたは [設定] モードに切り替えることはできません。

  6. (オプション) ステートマシン名を編集するには、MyStateMachine のデフォルトのステートマシン名の横にある編集アイコンを選択し、ステートマシン名ボックスに名前を指定します。

    設定モード に切り替えてデフォルトのステートマシン名を編集することもできます。

  7. ステートマシンのタイプや実行ロールなどのワークフロー設定を指定します。

  8. [Create] (作成) を選択します。

プロトタイプに使用できるプレースホルダーリソースを使って、新しいワークフローが作成されるようになりました。ワークフロー定義とワークフローのグラフをエクスポートできます。

  • ワークフロー定義を JSON または YAML ファイルとしてエクスポートするには、[デザイン] モードまたは [コード] モードで [アクション] ドロップダウンボタンを選択します。次に、[定義をエクスポート] で、エクスポートする形式を選択します。このエクスポートされた定義は、AWS Toolkit for Visual Studio Code を使用したローカル開発の開始点として使用できます。

  • ワークフローグラフを SVG または PNG ファイルにエクスポートするには、[デザイン] モードまたは [コード] モードで、[アクション] ドロップダウンボタンを選択します。次に、[定義をエクスポート] で、必要な形式を選択します。