ECS でコンテナイメージのガベージコレクションを行う方法を教えてください

2022.03.16

困っていた内容

EKS のコンテナアプリを ECS on EC2 に移行することを検討しています。デプロイを行なっていくと古いコンテナイメージが蓄積されるため、EKS のようにコンテナイメージのガベージコレクションを実行したいのですが、ECS の場合はどうしたら良いでしょうか。

Amazon EKS ワーカーノードを設定して特定のディスク使用率でイメージキャッシュをクリーンアップする

どう対応すればいいの?

ECS コンテナエージェントの設定をご確認ください。

ECS コンテナエージェントはコンテナイメージのガベージコレクション機能を備えており、デフォルトで有効化されています。初期設定では30分のチェック間隔で、使用しない状態から3時間が経過したイメージに対してガベージコレクションが実行されます。

自動化タスクとイメージのクリーンアップ - Amazon Elastic Container Service

デフォルトでは、Amazon ECS コンテナエージェントによって、停止したタスクとコンテナインスタンスのどのタスクでも使用されていない Docker イメージがクリーンアップされます。

ECS でも EKS 同様に古いコンテナイメージのガベージコレクションが自動的に実施されますが、チェック間隔や条件などには差異があります。ECS への移行を行う場合は差異をご確認いただき、ストレージサイズのサイジング等はご注意ください。

なお、チェック間隔などの設定値は変更できますので、必要に応じてご検討ください。

参考資料