

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

# Amazon EventBridge スケジューラを使用して Step Functions ステートマシンの実行を開始する
<a name="using-eventbridge-scheduler"></a>

[Amazon EventBridge スケジューラ](https://docs.aws.amazon.com/scheduler/latest/UserGuide/what-is-scheduler.html)はサーバーレススケジューラで、一元化されたマネージドサービスからタスクを作成、実行、管理できます。EventBridge スケジューラでは、繰り返しのパターンに cron やレート式を使ってスケジュールを作成したり、1回限りの呼び出しを設定したりできます。配信時間枠の柔軟な設定、再試行制限の定義、失敗した API 呼び出しの最大保持時間の設定を行うことができます。

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

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

**Topics**
+ [実行ロールを設定する](#using-eventbridge-scheduler-execution-role)
+ [新しいスケジュールを作成する](#using-eventbridge-scheduler-create)
+ [関連リソース](#using-eventbridge-scheduler-related-resources)

## 実行ロールを設定する
<a name="using-eventbridge-scheduler-execution-role"></a>

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

 次の手順のように EventBridge スケジューラコンソールを使用してスケジュールを作成すると、EventBridge スケジューラは選択したターゲットに基づき実行ロールを自動的に設定します。EventBridge スケジューラ SDK、AWS CLI、または CloudFormation のいずれかを使用してスケジュールを作成する場合、EventBridge スケジューラがターゲットを呼び出すために必要なアクセス許可を付与する既存の実行ロールが必要です。スケジュールに合わせて実行ロールを手動で設定する方法についての詳細は、「EventBridge スケジューラユーザーガイド」の「[実行ロールを設定する](https://docs.aws.amazon.com/scheduler/latest/UserGuide/setting-up.html#setting-up-execution-role)」を参照してください。

## 新しいスケジュールを作成する
<a name="using-eventbridge-scheduler-create"></a>

**コンソールを使用してスケジュールを作成するには**

1. Amazon EventBridge スケジューラコンソール ([https://console.aws.amazon.com/scheduler/home](https://console.aws.amazon.com/scheduler/home/)) を開きます。

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

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

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

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

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

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

1. 

   1. スケジュールオプションを選択します。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/step-functions/latest/dg/using-eventbridge-scheduler.html)

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

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

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

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

1. [**次へ**] を選択します。

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

   1. **[AWS Step Functions StartExecution]** を選択します。

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

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

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

      ```
      {
          "Comment": "sampleJSONData"
      }
      ```

1. [**次へ**] を選択します。

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

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

   1. スケジュールの再試行ポリシーを設定するには、**[再試行ポリシーとデッドレターキュー (DLQ)]** で次を実行します。
      + **[再試行]** を切り替えてオンにします。
      + **[イベントの最大有効期間]** で、EventBridge スケジューラが未処理のイベントを保持しなければならない最大の **[時間]** と **[分]** を入力します。
      + 最大 24 時間です。
      + **[最大再試行回数]** で、ターゲットがエラーを返した場合に EventBridge スケジューラがスケジュールを再試行する最大回数を入力します。

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

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

   1. EventBridge スケジューラが未配信のイベントを保存する場所を選択します。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/step-functions/latest/dg/using-eventbridge-scheduler.html)

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

      このオプションを選択した場合は、既存の KMS キー ARN を入力するか、**[AWS KMS key を作成]** を選択して AWS KMS コンソールに移動します。EventBridge スケジューラが保管中のデータを暗号化する方法の詳細については、「*Amazon EventBridge スケジューラユーザーガイド*」の「[保管中の暗号化](https://docs.aws.amazon.com/scheduler/latest/UserGuide/encryption-rest.html)」を参照してください。

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

1. [**次へ**] を選択します。

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

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

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

EventBridge スケジューラがステートマシンを呼び出したことを確認するには、[ステートマシンの Amazon CloudWatch Logs](cw-logs.md) を確認してください。

## 関連リソース
<a name="using-eventbridge-scheduler-related-resources"></a>

 EventBridge スケジューラに関する詳細については、次を参照してください。
+ [EventBridge スケジューラユーザーガイド](https://docs.aws.amazon.com/scheduler/latest/UserGuide/what-is-scheduler.html)
+ [EventBridge スキーマ API リファレンス](https://docs.aws.amazon.com/scheduler/latest/APIReference/Welcome.html)
+ [EventBridge Scheduler Pricing](https://aws.amazon.com/eventbridge/pricing/#Scheduler)