Amazon ECSのタスク定義を削除したいんです

こんにちは。サービスグループの武田です。Amazon ECSの使わないタスク定義の削除方法で迷子になりました。きっと次回も同じところで悩みそうなので備忘録として残しておきます。
2020.10.30

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは。サービスグループの武田です。

久しぶりにAmazon ECSのページを確認したら使わないタスク定義が残っていました。もういらないので削除しようとしてもメニューが見当たりません……。ということできっと次回も同じところで悩みそうなので備忘録として残しておきます。

今回の結論というかオチ

タスク定義は消せません!

タスク定義に削除メニューがない

まずは現状の確認です。次のようにtest-task-defというタスク定義が登録されています。チェックを入れてアクションを開いてみても「削除」とかそういった類の文言が見当たりません。

実はECSのタスク定義はリビジョンをもっており、タスク定義を更新すると異なるリビジョン(バージョン)として管理されます。タスク定義は有効なリビジョンが1つでも残っていると、タスク定義そのものも有効な状態として扱われます。つまり、リビジョンをすべて無効な状態にすることで、タスク定義も無効にできます。

タスク定義リビジョンの登録解除

ということですので、タスク定義リビジョンを無効化すればよいということになります。操作としては「登録解除」を行います。先ほど見ていたtest-task-defのリンクをクリックすると有効なリビジョンが一覧表示されるので、全部にチェックを入れます。

アクションを開いてみると「登録解除」があるはずなのでクリック。

確認して問題なければ「登録解除」をクリック。

一覧から消えました!(Inactiveに切り替えるとあります)

タスク定義の画面に戻ってみると、test-task-defもなくなっています!(INACTIVEに切り替えるとあります)

まとめ

不要なタスク定義の削除方法がわからず調べましたが、削除ではなくリビジョンの登録解除をするのでした。なお、現時点では無効なタスク定義は無制限に一覧表示されますが、今後変更される可能性もあるとのことです。

参考リンク