[アップデート] Amazon ECR の自動再スキャン期間の間隔をより細かく設定できるようになりました

Amazon Inspector の継続スキャンの判定期間と判定方法が刷新されました。従来のイメージプッシュからの判定に加え、イメージプル側でも評価されるようになりました。
2024.02.03

こんにちは! AWS 事業本部コンサルティング部のたかくに(@takakuni_)です。

What's new に載っていないのですが、 Amazon Inspector の拡張イメージスキャンで再スキャン期間の間隔をより細かく設定できるようになりました。

Amazon Inspector will now refresh the ECR re-scan duration of container images when you pull them. To change your re-scan duration based on push or pull dates see Configuring the ECR re-scan duration

https://docs.aws.amazon.com/inspector/latest/user/doc-history.html

自動再スキャン期間とは

Amazon Inspector の拡張イメージスキャンでは、コンテナイメージを継続的にスキャンします。コンテナイメージに影響を与える 新しい CVE が Amazon Inspector データベースに追加されたタイミングで再スキャンが行われます。

再スキャンはタダではありません。2024年1月時点ですと、 東京リージョンで 0.01USD かかってきます。そのため、使っていないコンテナイメージには、スキャンを当てない or ECR 側でライフサイクルルールでイメージを削除するような工夫が必要です。自動再スキャン期間機能は、前者の設定で再スキャンを何日まで?継続し続けるかを指定します。

今までどうだったか

今まで、再スキャン期間はイメージがプッシュされてからの経過日数で継続期間を決めていました。設定可能な日数は以下の通りです。

  • 30 日
  • 180 日
  • Lifetime 1 (デフォルト)

デフォルトと記載している通り、 当時の Inspector v2 で再スキャン期間を指定しない場合、コンテナイメージが残り続ける限り継続的にスキャンされる仕様となっていました。

これから

今回のアップデートで、イメージプッシュに加えてイメージプルも再スキャン期間の評価軸に加わりました。また、経過日数もより細かく指定できるようになりました。

イメージプッシュ

  • 14 日
  • 30 日
  • 60 日
  • 90 日 (デフォルト)
  • 180 日
  • Lifetime

イメージプル

  • 14 日
  • 30 日
  • 60 日
  • 90 日 (デフォルト)
  • Lifetime

イメージプッシュのデフォルト値にも変更が加わっています。 2024年1月23日以降に Inspector を有効にしたアカウントは、 Lifetime ではなく、 90 日がデフォルト値になります。(イメージプルはどのアカウントも 90 日がデフォルトです)

Configuring the ECR re-scan duration

期間の計算

今回のアップデートで、イメージプルが評価軸に加わりました。期間の気になりますよね。

自動再スキャン期間は以下の どちらか(or) 条件で期間が決まります

  • イメージのプッシュ日が自動再スキャン期間のイメージのプッシュ日に設定された日数以内である場合
  • イメージがプル日が自動再スキャン期間のイメージのプル日に設定された日数以内である場合

ドキュメントを意訳すると以下のように表現されていました。

プッシュ日に60日、プル日に180日を選択した場合、 Amazon Inspector は、過去 60 日以内にプッシュされたイメージ、または過去 180 日以内に少なくとも 1 回プルされたイメージの監視を継続します。過去 60 日間にイメージがプッシュされておらず、過去 180 日間にイメージがプルされていない場合、 Amazon Inspector はイメージの監視を停止します。

For example, if you select 60 days for push date, and 180 days for pull date configurations, Amazon Inspector will continue to monitor images if they were pushed in the last 60 days or if they have been pulled at least once in the last 180 days. If an image hasn’t been pushed in the last 60 days and hasn't been pulled in the last 180 days, Amazon Inspector will stop monitoring it.

Configuring the ECR re-scan duration

マネジメントコンソールを確認してみる

マネジメントコンソールを確認してみて、今回のアップデートを確認してみましょう。 Inspector コンソールから 全般設定, ECR scanning settings をクリックします。

すると、 ECR re-scan duration の設定画面に移り、イメージプッシュとイメージプルの期間設定ができるようになっています。

今回検証したアカウントでは 2024年1月23日以前に Inspector を有効にしたアカウントのため、イメージプッシュは ライフタイム, イメージプルは 90 日に設定されています。

まとめ

以上、 「Amazon ECR の自動再スキャン期間の間隔をより細かく設定できるようになりました」 でした。

今回、判定期間およびイメージプルを含めた判定方法の刷新がありましたが、個人的にはイメージプッシュをライフタイムして ECR のライフサイクルルールでイメージを管理していくのがシンプルでお勧めなのかなといった印象です。(特に保管要件がないのであれば、無駄なコンテナイメージは ECR のストレージ料金含めて勿体無いと思いますので...)

このブログがどなたかの参考になれば幸いです。 AWS 事業本部コンサルティング部のたかくに(@takakuni_)でした!


  1. コンテナイメージが削除されるまで継続スキャン