概要
ECSでタスクスケジュールを設定してタスクの自動起動を設定していたのですが、タスクのリビジョンが更新される度に設定を変更する必要があり、非常に面倒でした。
今回はECSのタスク自動起動をするためにEventBridge Schedulerを使い、常に最新のタスクで起動することができたのでご紹介します。
ECSタスクスケジュールの場合
ECSタスクスケジュールの設定画面ではリビジョンを指定する項目があります。
「タスク番号(最新)」と記載があるのでこちらを設定すると、該当のタスク定義に起動することができますが、タスク定義を更新すると設定したリビジョンのまま止まってしまいます。
今回は最新の1375を設定してみます。
その後タスク定義を更新すると、1376が最新となっていますが設定値は1375のままです。
この状態でECSタスクスケジュールで起動をしても、タスク定義は1375のまま起動されてしまいます。
常に最新バージョンで起動したい場合はタスク定義が更新されるたびに設定変更する手間が発生してしまい、非常に厄介です。
そこで、EventBridge Schedulerを使います。
EventBridge Schedulerの場合
EventBridge Schedulerの設定画面にもECSタスクスケジュールと同様にリビジョン指定する項目がありますが、こちらは「最新」or「リビジョン」が設定できます。
「最新」で設定してみましょう。
すると、自動的に最新の1376でタスクを起動してくれます!
余談ですが、リビジョン指定でも起動はできますので、特定リビジョンを指定したい場合はこちらからでも設定可能です。
EventBridge Schedulerの利用には料金がかかります(無料利用枠あり)
●EventBridge Scheduler料金(2024/05/09現在)
・月間 14,000,000 回の呼び出しが無料
・月間スケジュール起動回数 100 万回あたり 1.25USD(無料枠超過後)
詳細はAWS公式サイトのご確認をお願いいたします。
Amazon EventBridge の料金
まとめ
EventBridge SchedulerとECSタスクスケジュールでは設定できる内容が異なるということは盲点でした。
選択の幅が広いという意味では、基本的にはEventBridge Schedulerを使うほうが良いかもしれません。今回は省略しましたが設定内容はほぼ同じですので、ECSタスクスケジュールの設定があればEventBridge Schedulerでもスムーズに設定可能だと思います。
ぜひ、EventBridge Schedulerを使ってみてください!
コメント