[アップデート] Amazon Inspector の ECR 再スキャン期間に「3日」「7日」の短期オプションが追加されました
いわさです。
Amazon ECR にはコンテナイメージの脆弱性スキャン機能があり、ベーシックスキャンと拡張スキャンの 2 種類が用意されています。
ベーシックスキャンはプッシュ時や手動トリガーでの単発スキャンですが、拡張スキャンでは Amazon Inspector と連携し、イメージを継続的にモニタリングして新たな脆弱性(CVE)が公開されるたびに再スキャンしてくれます。
継続的にスキャンしてくれるのは便利なのですが、モニタリングする期間は「再スキャン期間」で制御されていて、これまでは最短 14 日間でした。
CI/CD で頻繁にイメージをビルド・プッシュする環境だと、既にデプロイ済みで不要になったイメージも 14 日間はスキャン対象として残ります。
その分スキャン料金がかかりますし、古いイメージに対する脆弱性の検出結果が溜まっていくのでトリアージのノイズにもなっていました。


What's New アナウンスは見当たらなかったのですが、ドキュメント更新履歴によると先日のアップデートで、ECR 再スキャン期間に 3 日と 7 日のオプションが追加されていました。
AWS CLI では 7/11 の v2.35.21 で対応する API 変更が入っています。

Document history - Amazon Inspector
今回こちらを確認してみたので紹介します。
実際に確認してみる
では早速 Inspector のコンソールからスキャン設定を確認してみましょう。
Inspector コンソールの左メニュー「設定」>「スキャン設定」から「コンテナイメージ」タブを開きます。
画像の最終使用日
再スキャン期間には「画像の最終使用日」と「画像プッシュ日」の 2 種類があり、それぞれ独立して設定します。
まず「画像の最終使用日」のドロップダウンを確認すると、従来の 14 日〜180 日に加えて、7 日と 3 日が選択肢に追加されています。

こちらは ECS/EKS クラスター上でイメージが最後に使われた日を基準に、モニタリングを続ける期間です。
例えば 3 日を設定すると、クラスター上で 3 日以上使われていないイメージはスキャン対象外になります。
画像プッシュ日
同様に「画像プッシュ日」のドロップダウンも確認してみます。
こちらにも 7 日と 3 日が追加されていました。

プッシュ日の設定は、リポジトリにプッシュされてからどのくらいの期間モニタリングし続けるかを制御するものです。
プッシュ日側にはライフタイム(無期限)の選択肢もあります。
なお、公式ドキュメントによると、どちらの設定期間も超過したイメージは非アクティブ状態となり、関連する脆弱性の検出結果がクローズされるようです。
If an image hasn't been pushed or last used on a running container within the configured push and last in use dates, Amazon Inspector stops monitoring it.
設定を変更してみる
試しに両方とも 3 日に変更して保存してみます。

問題なく保存できました。
さいごに
本日は Amazon Inspector の ECR 再スキャン期間に 3 日と 7 日のオプションが追加されたので確認してみました。
従来は最短 14 日でしたが、3 日や 7 日を選べるようになったことで、短命なイメージのスキャンを早期に打ち切れるようになりました。
CI/CD で頻繁にイメージをビルドしている環境では、不要なイメージに対する脆弱性の検出結果が減り、スキャンコストの削減にもつながりそうです。
一方で、短すぎる設定にすると本番で使っているイメージの見逃しにつながる可能性もあるので、適切な期間を選びたいところです。
なお、この設定はアカウント単位であり、リポジトリ単位では設定できません。
Organizations を使っている場合は委任管理者からメンバーアカウントごとに個別設定できるので、dev/staging は 3 日、本番は 30 日のように使い分けたい場合はアカウントを分ける構成が前提になりそうですね。







