Amazon EventBridge Scheduler を使用して Step Functions ステートマシンの実行を開始する - AWS Step Functions

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

Amazon EventBridge Scheduler を使用して Step Functions ステートマシンの実行を開始する

Amazon EventBridge Scheduler はサーバーレススケジューラで、1 つの中央マネージドサービスからタスクを作成、実行、管理できます。ス EventBridge ケジューラを使用すると、繰り返しパターンの cron 式と rate 式を使用してスケジュールを作成したり、1 回限りの呼び出しを設定したりできます。配信の柔軟な時間枠を設定し、再試行制限を定義し、失敗したAPI呼び出しの最大保持時間を設定できます。

例えば、ス EventBridge ケジューラを使用すると、セキュリティ関連のイベントが発生したときにスケジュールに従ってステートマシンの実行を開始したり、データ処理ジョブを自動化したりできます。

このページでは、ス EventBridge ケジューラを使用して、スケジュールに従って Step Functions ステートマシンの実行を開始する方法について説明します。

実行ロールを設定する

新しいスケジュールを作成する場合、ス EventBridge ケジューラにはユーザーに代わってターゲットAPIオペレーションを呼び出すアクセス許可が必要です。これらのアクセス許可は、実行ロール を使用してス EventBridge ケジューラに付与します。スケジュールの実行ロールにアタッチするアクセス許可ポリシーによって、必要なアクセス許可が定義されます。これらのアクセス許可は、ス EventBridge ケジューラが呼びAPI出すターゲットによって異なります。

次の手順のように、ス EventBridge ケジューラコンソールを使用してスケジュールを作成すると、ス EventBridge ケジューラは選択したターゲットに基づいて実行ロールを自動的にセットアップします。ス EventBridge ケジューラ SDKs、、 AWS CLIまたは のいずれかを使用してスケジュールを作成する場合は AWS CloudFormation、ス EventBridge ケジューラがターゲットを呼び出すために必要なアクセス許可を付与する既存の実行ロールが必要です。スケジュールの実行ロールを手動で設定する方法の詳細については、スケジューラユーザーガイドの「実行ロールの設定」を参照してください。 EventBridge

新しいスケジュールを作成する

コンソールを使用してスケジュールを作成するには
  1. ホーム で Amazon EventBridge Scheduler コンソールを開きます。 https://console.aws.amazon.com/scheduler/

  2. [スケジュール] ページで、[スケジュールを作成] を選択します。

  3. [スケジュールの詳細を指定] ページの [スケジュールの名前と説明] セクションで、次を実行します。

    1. [スケジュール名] で、スケジュールの名前を入力します。例えば、MyTestSchedule と指定します。

    2. (オプション) [説明] で、スケジュールの説明を入力します。例えば、My first schedule と指定します。

    3. [スケジュールグループ] で、ドロップダウンリストからスケジュールグループを選択します。グループがない場合は、[デフォルト] を選択します。スケジュールグループを作成するには、[独自のスケジュールを作成] を選択します。

      スケジュールグループを使用して、スケジュールのグループにタグを追加します。

    1. スケジュールオプションを選択します。

      頻度 手順

      [1 回限りのスケジュール]

      1 回限りのスケジュールは、指定した日時に 1 回だけターゲットを呼び出します。

      [日付と時刻] で、次を実行します。

      • 有効な日付を YYYY/MM/DD 形式で入力します。

      • タイムスタンプを 24 時間 (hh:mm) 形式で入力します。

      • [タイムゾーン] で、タイムゾーンを選択します。

      [繰り返しのスケジュール]

      繰り返しのスケジュールは、cron 式またはレート式を使用して指定したレートでターゲットを呼び出します。

      1. [スケジュールの種類] では、次のいずれかを実行します。

        • Cron 式を使用してスケジュールを定義するには、[cron ベースのスケジュール] を選択して Cron 式を入力します。

        • Rate 式を使用してスケジュールを定義するには、[rate ベースのスケジュール] を選択して Rate 式を入力します。

          cron 式と rate 式の詳細については、「Amazon Scheduler ユーザーガイド」の EventBridge 「Schedule types on Scheduler」を参照してください。 EventBridge

      2. [フレックスタイムウィンドウ] で、[オフ] を選択してオプションをオフにするか、事前定義された時間枠のいずれかを選択します。例えば、[15 分] を選択し、1 時間に 1 回ターゲットを呼び出す繰り返しのスケジュールを設定した場合、スケジュールは毎時の開始後 15 分以内に実行されます。

  4. (オプション) 前のステップで [定期的なスケジュール] を選択した場合は、[時間枠] セクションで次を実行します。

    1. [タイムゾーン] で、タイムゾーンを選択します。

    2. [開始日時] で、有効な日付を YYYY/MM/DD 形式で入力してから、タイムスタンプを 24 時間 (hh:mm) 形式で指定します。

    3. [終了日時] で、有効な日付を YYYY/MM/DD 形式で入力してから、タイムスタンプを 24 時間 (hh:mm) 形式で指定します。

  5. [Next (次へ)] を選択します。

  6. ターゲットの選択ページで、ス EventBridge ケジューラが呼び出すオペレーションを選択します AWS API。

    1. を選択しますAWS Step Functions StartExecution

    2. StartExecution セクションで、ステートマシンを選択するか、新しいステートマシンの作成 を選択します。

      現在、同期 Express ワークフローをスケジュールどおりに実行することはできません。

    3. 実行のJSONペイロードを入力します。ステートマシンがJSONペイロードを必要としない場合でも、次の例に示すように、 JSON 形式の入力を含める必要があります。

      { "Comment": "sampleJSONData" }
  7. [Next (次へ)] を選択します。

  8. [Settings] (設定) ページで、以下の操作を行います。

    1. スケジュールをオンにするには、[スケジュールの状態][スケジュールを有効にする] をオンに切り替えます。

    2. スケジュールの再試行ポリシーを設定するには、「再試行ポリシーとデッドレターキュー (DLQ)」で、次の操作を行います。

      • [再試行] を切り替えてオンにします。

      • イベント の最大経過時間 には、ス EventBridge ケジューラが未処理のイベントを保持する必要がある最大時間 (s)最小 (s) を入力します。

      • 最大 24 時間です。

      • 最大再試行回数 には、ターゲットがエラーを返した場合にス EventBridge ケジューラがスケジュールを再試行する最大回数を入力します。

        再試行の最大値は 185 です。

      再試行ポリシーでは、スケジュールがターゲットの呼び出しに失敗した場合、ス EventBridge ケジューラはスケジュールを再実行します。設定されている場合は、スケジュールの最大保持時間と再試行を設定する必要があります。

    3. ス EventBridge ケジューラが未配信イベントを保存する場所を選択します。

      デッドレターキュー (DLQ) オプション 手順
      保存しない [None] を選択します。
      スケジュールを作成する AWS アカウント のと同じ にイベントを保存する
      1. AWS アカウント として で Amazon SQSキューを選択 を選択しますDLQ

      2. Amazon SQSキューの Amazon リソースネーム (ARN) を選択します。

      スケジュールを作成する場所 AWS アカウント とは異なる にイベントを保存する
      1. AWS アカウント として、他の の Amazon SQSキューを指定する DLQを選択します。

      2. Amazon SQSキューの Amazon リソースネーム (ARN) を入力します。

    4. カスタマーマネージドキーを使用してターゲットの入力を暗号化するには、[暗号化][暗号化設定をカスタマイズする (高度)] を選択します。

      このオプションを選択した場合は、既存のKMSキーを入力するARNか、 AWS KMS keyの作成 を選択して AWS KMS コンソールに移動します。ス EventBridge ケジューラが保管中のデータを暗号化する方法の詳細については、「Amazon EventBridge Scheduler ユーザーガイド」の「保管時の暗号化」を参照してください。

    5. ス EventBridge ケジューラに新しい実行ロールを作成させるには、このスケジュールの新しいロールを作成する を選択します。その後、[ロール名] で名前を入力します。このオプションを選択すると、ス EventBridge ケジューラはテンプレート化されたターゲットに必要なアクセス許可をロールにアタッチします。

  9. [Next (次へ)] を選択します。

  10. [スケジュールの確認と作成] ページで、スケジュールの詳細を確認します。各セクションで、そのステップに戻って詳細を編集するには、[編集] を選択します。

  11. [スケジュールを作成] を選択します。

    [スケジュール] ページで、新規および既存のスケジュールのリストを表示できます。[ステータス] 列で、新しいスケジュールが [有効] になっていることを確認します。

ス EventBridge ケジューラがステートマシンを呼び出したことを確認するには、ステートマシンの Amazon CloudWatch ログ を確認します。

ス EventBridge ケジューラの詳細については、以下を参照してください。