スケジュールされたタスク
Amazon ECS は、スケジュールされたタスクの作成をサポートします。スケジュールされたタスクは、Amazon EventBridge スケジューラを使用します。
スケジュールされたタスクを作成する
スケジュールされたタスクは、EventBridge コンソールを使用して作成できる Amazon EventBridge スケジューラのスケジュールによって開始されます。Amazon ECS コンソールでスケジュールされたタスクを作成できますが、現在、EventBridge コンソールにはさらに多くの機能があるため、次の手順に従うことで、スケジュールされたタスクを開始する EventBridge Scheduler スケジュールを作成できます。
タスクをスケジュールする前に、次のステップを完了します。
-
タスクが実行されるサブネット ID とサブネットのセキュリティグループ ID を取得するには、VPC コンソールを使用します。詳細については、「Amazon VPC ユーザーガイド」の「サブネットを表示する」および「セキュリティグループの表示」を参照してください。
-
EventBridge スケジューラの実行ロールを設定します。詳細については、「Amazon EventBridge スケジューラユーザーガイド」の「実行ロールを設定する」を参照してください。
-
EventBridge スケジューラのターゲットを設定します。詳細については、「Amazon EventBridge スケジューラユーザーガイド」の「ターゲットを設定する」を参照してください。
コンソールを使用して新しいスケジュールを作成するには
Amazon EventBridge スケジューラコンソール (https://console.aws.amazon.com/events/home
) を開きます。 -
ナビゲーションペインで、[スケジューラ]、[スケジュール] の順に選択します。
-
[スケジュール] ページで、[スケジュールを作成] を選択します。
-
[スケジュールの詳細を指定] ページの [スケジュールの名前と説明] セクションで、次を実行します。
-
[スケジュール名] で、スケジュールの名前を入力します。例えば、
MyTestSchedule
などです。 -
(オプション) [説明] で、スケジュールの説明を入力します。例えば、
My first schedule
です。 -
[スケジュールグループ] で、ドロップダウンオプションからスケジュールグループを選択します。グループがない場合は、[デフォルト] を選択します。新しいスケジュールグループを作成するには、[独自のスケジュールを作成] を選択します。
スケジュールグループを使用して、スケジュールのグループにタグを追加します。
-
-
-
スケジュールオプションを選択します。
頻度 手順 1 回限りのスケジュール
1 回限りのスケジュールは、指定した日時に 1 回だけターゲットを呼び出します。
[日付と時刻] で、次を実行します。
-
有効な日付を
YYYY/MM/DD
形式で入力します。 -
タイムスタンプを 24 時間 (
hh:mm
) 形式で入力します。 -
[タイムゾーン] で、タイムゾーンを選択します。
繰り返しのスケジュール
繰り返しのスケジュールは、cron 式またはレート式を使用して指定したレートでターゲットを呼び出します。
-
[スケジュールの種類] では、次のいずれかを実行します。
-
Cron 式を使用してスケジュールを定義するには、[cron ベースのスケジュール] を選択して Cron 式を入力します。
-
Rate 式を使用してスケジュールを定義するには、[rate ベースのスケジュール] を選択して Rate 式を入力します。
cron およびレート式の詳細については、「Amazon EventBridge スケジューラユーザーガイド」の「EventBridge スケジューラのスケジュールタイプ」を参照してください。
-
-
[フレックスタイムウィンドウ] で、[オフ] を選択してオプションをオフにするか、事前定義された時間枠のいずれかを選択します。例えば、[15 分] を選択し、1 時間に 1 回ターゲットを呼び出す繰り返しのスケジュールを設定した場合、スケジュールは毎時の開始後 15 分以内に実行されます。
-
-
-
(オプション) 前のステップで [定期的なスケジュール] を選択した場合は、[時間枠] セクションで次を実行します。
-
[タイムゾーン] で、タイムゾーンを選択します。
-
[開始日時] で、有効な日付を
YYYY/MM/DD
形式で入力してから、タイムスタンプを 24 時間 (hh:mm
) 形式で指定します。 -
[終了日時] で、有効な日付を
YYYY/MM/DD
形式で入力してから、タイムスタンプを 24 時間 (hh:mm
) 形式で指定します。
-
-
[Next] (次へ) をクリックします。
-
[ターゲットを選択] ページで、EventBridge スケジューラが呼び出す AWS API オペレーションを選択します。
-
[すべての API] を選択し、検索ボックスで ECS と入力します。
-
[Amazon ECS] を選択します。
-
検索ボックスで RunTask と入力し、[RunTask] を選択します。
-
[ECS クラスター] で、クラスターを選択します。
-
[ECS タスク] で、タスクに使用するタスク定義を選択します。
-
起動タイプを使用するには、[コンピューティングオプション] を展開し、[起動タイプ] を選択します。その後、起動タイプを選択します。
Fargate 起動タイプが指定される場合、[プラットフォームバージョン] で、使用するプラットフォームバージョンを入力します。プラットフォームが指定されていない場合は、
LATEST
プラットフォームバージョンが使用されます。 -
[サブネット] で、タスクを実行するサブネット ID を入力します。
-
[セキュリティグループ] で、サブネットのセキュリティグループ ID を入力します。
-
(オプション) タスクを識別しやすくするために、[タグ] でタグを設定します。
新しく起動されたすべてのタスクに対して、Amazon ECS がタスク定義タグを自動的にタグ付けするようにするには、[Amazon ECS マネージドタグを有効にする] を選択します。
-
-
[Next] (次へ) をクリックします。
-
[Settings] (設定) ページで、以下の操作を行います。
-
スケジュールをオンにするには、[スケジュールの状態] で [スケジュールを有効にする] をオンに切り替えます。
-
スケジュールの再試行ポリシーを設定するには、[再試行ポリシーとデッドレターキュー (DLQ)] で次を実行します。
-
[再試行] を切り替えてオンにします。
-
[イベントの最大保持時間] で、EventBridge スケジューラが未処理のイベントを保持しなければならない最大の [時間] と [分] を入力します。
-
最大 24 時間です。
-
[最大再試行回数] で、ターゲットがエラーを返した場合に EventBridge スケジューラがスケジュールを再試行する最大回数を入力します。
再試行の最大値は 185 です。
再試行ポリシーを使用すると、スケジュールがそのターゲットの呼び出しに失敗した場合、EventBridge スケジューラはスケジュールを再実行します。設定されている場合は、スケジュールの最大保持時間と再試行を設定する必要があります。
-
-
EventBridge スケジューラが未配信のイベントを保存する場所を選択します。
[デッドレターキュー (DLQ)] オプション 手順 保存しない [None] を選択します。 スケジュールを作成しようとしている AWS アカウント にイベントを保存する -
[自分の AWS アカウントの Amazon SQS キューを DLQ として選択] を選択します。
-
Amazon SQS キューの Amazon リソースネームを選択します。
スケジュールを作成しようとしているのとは別の AWS アカウント にイベントを保存する -
[他の AWS アカウントの Amazon SQS キューを DLQ として指定] を選択します。
-
Amazon SQS キューの Amazon リソースネームを選択します。
-
-
カスタマーマネージド KMS キーを使用してターゲットの入力を暗号化するには、[暗号化] で [暗号化設定をカスタマイズする (高度)] を選択します。
このオプションを選択した場合は、既存の KMS キー ARN を入力するか、[AWS KMS キーを作成] を選択して AWS KMS コンソールに移動します。EventBridge スケジューラが保管中のデータを暗号化する方法の詳細については、「Amazon EventBridge スケジューラユーザーガイド」の「保管中の暗号化」を参照してください。
-
[許可] で、[既存のロールを使用] を選択してから、ロールを選択します。
EventBridge スケジューラに新しい実行ロールを作成させるには、[このスケジュールの新しいロールを作成] を選択します。その後、[ロール名] で名前を入力します。このオプションを選択すると、EventBridge スケジューラは、テンプレート化されたターゲットに必要な許可をロールにアタッチします。
-
-
[Next] (次へ) をクリックします。
-
[スケジュールの確認と作成] ページで、スケジュールの詳細を確認します。各セクションで、そのステップに戻って詳細を編集するには、[編集] を選択します。
-
[スケジュールを作成] を選択します。
[スケジュール] ページで、新規および既存のスケジュールのリストを表示できます。[ステータス] 列で、新しいスケジュールが [有効] になっていることを確認します。
スケジュールされたタスクをコンソールで表示する
スケジュールされたタスクは Amazon ECS コンソールで表示できます。スケジュールされたタスクを開始する Amazon EventBridge スケジューラのスケジュールを EventBridge スケジューラコンソールで表示することもできます。
スケジュールされたタスクを表示するには(Amazon ECS コンソール)
コンソール (https://console.aws.amazon.com/ecs/v2
) を開きます。 -
[クラスター] を選択し、スケジュールされたタスクが実行されるクラスターを選択します。
-
Cluster:
cluster-name
(クラスター: cluster-name) ページで、Scheduled Tasks(スケジュールされたタスク)タブを選択します。 -
スケジュールされたすべてのタスクが一覧表示されます。
スケジュールされたタスクを編集する
スケジュールされたタスクは、クラシック Amazon ECS コンソールで編集できます。スケジュールされたタスクを開始する Amazon EventBridge スケジューラのスケジュールを EventBridge スケジューラコンソールで編集することもできます。
スケジュールされたタスクを編集するには (Amazon ECS コンソール)
Amazon ECS クラシックコンソール (https://console.aws.amazon.com/ecs/
) を開きます。 -
スケジュールされたタスクを編集するクラスターを選択します。
-
Cluster:
cluster-name
ページで、Scheduled Tasksを選択します -
編集するスケジュールルールの左側にあるボックスを選択してから、Editを選択します。
-
更新するフィールドを編集し、Updateを選択します。