

# Amazon EventBridge スケジューラを使用して Amazon ECS タスクをスケジュールする
<a name="tasks-scheduled-eventbridge-scheduler"></a>

EventBridge スケジューラーはサーバーレススケジューラであり、一元化されたマネージドサービスからタスクを作成、実行、管理できます。イベントバスやルールに依存しない、1 回限りの定期的なスケジューリング機能を提供します。EventBridge スケジューラは高度にカスタマイズ可能で、EventBridge のスケジュールルールよりもスケーラビリティが高く、ターゲット API 操作と AWS サービスの範囲が広がります。EventBridge スケジューラには、EventBridge スケジューラコンソールでタスクに設定できる以下のスケジュールが用意されています。
+ レートベース 
+ cron ベース

  cron ベースのスケジュールはどのタイムゾーンでも設定できます。
+ 1 回限りのスケジュール

  1 回限りのスケジュールはどのタイムゾーンでも設定できます。

Amazon ECS は Amazon EventBridge スケジューラを使用してスケジュールできます。

Amazon ECS コンソールでスケジュールされたタスクを作成できますが、現在、EventBridge Scheduler コンソールではさらに多くの機能を提供しています。

タスクをスケジュールする前に、次のステップを完了します。

1. タスクが実行されるサブネット ID とサブネットのセキュリティグループ ID を取得するには、VPC コンソールを使用します。詳細については、「[VPC のサブネット](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html)」と「*Amazon VPC ユーザーガイド*」の「[セキュリティグループを使用して AWS リソースへのトラフィックを制御する](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-groups.html)」を参照してください。

1. EventBridge スケジューラの実行ロールを設定します。詳細については、「*Amazon EventBridge スケジューラユーザーガイド*」の「[実行ロールを設定する](https://docs.aws.amazon.com/scheduler/latest/UserGuide/setting-up.html#setting-up-execution-role)」を参照してください。

1. キャパシティープロバイダー戦略を使用してタスクを実行するには、キャパシティープロバイダーをクラスターに関連付ける必要があります。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1. **[ターゲットを選択]** ページで、次の操作を行います。

   1. **[すべての API]** を選択し、検索ボックスで **ECS** と入力します。

   1. **[Amazon ECS]** を選択します。

   1. 検索ボックスで **RunTask** と入力し、**[RunTask]** を選択します。

   1. **[ECS クラスター]** で、クラスターを選択します。

   1. **[ECS タスク]** で、タスクに使用するタスク定義を選択します。

   1. クラスターのインフラストラクチャ全体にタスクを分散する方法を選択します。**コンピューティングオプション** を展開し、次のいずれかのオプションを選択します    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/tasks-scheduled-eventbridge-scheduler.html)

   1. **[サブネット]** で、タスクを実行するサブネット ID を入力します。

   1. **[セキュリティグループ]** で、サブネットのセキュリティグループ ID を入力します。

   1. (オプション) デフォルト以外のタスク配置戦略を使用するには、**[配置制約]** を展開し、制約を入力します。

       詳細については、「[Amazon ECS がタスクをコンテナインスタンスに配置する方法](task-placement.md)」を参照してください。

   1. (オプション) タスクを識別しやすくするために、**[タグ]** でタグを設定します。

      新しく起動されたすべてのタスクに対して、Amazon ECS がタスク定義タグを自動的にタグ付けするようにするには、**[Amazon ECS マネージドタグを有効にする]** を選択します。

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/AmazonECS/latest/developerguide/tasks-scheduled-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. **[スケジュールを作成]** を選択します。

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

## 次のステップ
<a name="eventbridge-scheduler-next-steps"></a>

EventBridge スケジューラコンソールまたは AWS CLI を使用し、スケジュールを管理できます。詳細については、「*Amazon EventBridge スケジューラユーザーガイド*」の「[スケジュールの管理](https://docs.aws.amazon.com/scheduler/latest/UserGuide/managing-schedule.html)」を参照してください。