スケジュールされたタスク - Amazon ECS

スケジュールされたタスク

Amazon ECS は、スケジュールされたタスクの作成をサポートします。スケジュールされたタスクは、Amazon EventBridge スケジューラを使用します。

スケジュールされたタスクを作成する

スケジュールされたタスクは、EventBridge コンソールを使用して作成できる Amazon EventBridge スケジューラのスケジュールによって開始されます。Amazon ECS コンソールでスケジュールされたタスクを作成できますが、現在、EventBridge コンソールにはさらに多くの機能があるため、次の手順に従うことで、スケジュールされたタスクを開始する EventBridge Scheduler スケジュールを作成できます。

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

  1. タスクが実行されるサブネット ID とサブネットのセキュリティグループ ID を取得するには、VPC コンソールを使用します。詳細については、「Amazon VPC ユーザーガイド」の「サブネットを表示する」および「セキュリティグループの表示」を参照してください。

  2. EventBridge スケジューラの実行ロールを設定します。詳細については、「Amazon EventBridge スケジューラユーザーガイド」の「実行ロールを設定する」を参照してください。

  3. EventBridge スケジューラのターゲットを設定します。詳細については、「Amazon EventBridge スケジューラユーザーガイド」の「ターゲットを設定する」を参照してください。

コンソールを使用して新しいスケジュールを作成するには
  1. Amazon EventBridge スケジューラコンソール (https://console.aws.amazon.com/events/home) を開きます。

  2. ナビゲーションペインで、[スケジューラ][スケジュール] の順に選択します。

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

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

    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 およびレート式の詳細については、「Amazon EventBridge スケジューラユーザーガイド」の「EventBridge スケジューラのスケジュールタイプ」を参照してください。

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

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

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

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

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

  6. [Next] (次へ) をクリックします。

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

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

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

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

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

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

    6. 起動タイプを使用するには、[コンピューティングオプション] を展開し、[起動タイプ] を選択します。その後、起動タイプを選択します。

      Fargate 起動タイプが指定される場合、[プラットフォームバージョン] で、使用するプラットフォームバージョンを入力します。プラットフォームが指定されていない場合は、LATEST プラットフォームバージョンが使用されます。

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

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

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

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

  8. [Next] (次へ) をクリックします。

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

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

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

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

      • [イベントの最大保持時間] で、EventBridge スケジューラが未処理のイベントを保持しなければならない最大の [時間][分] を入力します。

      • 最大 24 時間です。

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

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

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

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

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

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

      スケジュールを作成しようとしているのとは別の AWS アカウント にイベントを保存する
      1. [他の AWS アカウントの Amazon SQS キューを DLQ として指定] を選択します。

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

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

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

    5. [許可] で、[既存のロールを使用] を選択してから、ロールを選択します。

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

  10. [Next] (次へ) をクリックします。

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

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

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

スケジュールされたタスクをコンソールで表示する

スケジュールされたタスクは Amazon ECS コンソールで表示できます。スケジュールされたタスクを開始する Amazon EventBridge スケジューラのスケジュールを EventBridge スケジューラコンソールで表示することもできます。

スケジュールされたタスクを表示するには(Amazon ECS コンソール)
  1. コンソール (https://console.aws.amazon.com/ecs/v2) を開きます。

  2. [クラスター] を選択し、スケジュールされたタスクが実行されるクラスターを選択します。

  3. Cluster:cluster-name(クラスター: cluster-name) ページで、Scheduled Tasks(スケジュールされたタスク)タブを選択します。

  4. スケジュールされたすべてのタスクが一覧表示されます。

スケジュールされたタスクを編集する

スケジュールされたタスクは、クラシック Amazon ECS コンソールで編集できます。スケジュールされたタスクを開始する Amazon EventBridge スケジューラのスケジュールを EventBridge スケジューラコンソールで編集することもできます。

スケジュールされたタスクを編集するには (Amazon ECS コンソール)
  1. Amazon ECS クラシックコンソール (https://console.aws.amazon.com/ecs/) を開きます。

  2. スケジュールされたタスクを編集するクラスターを選択します。

  3. Cluster: cluster-nameページで、Scheduled Tasksを選択します

  4. 編集するスケジュールルールの左側にあるボックスを選択してから、Editを選択します。

  5. 更新するフィールドを編集し、Updateを選択します。