※2019/10/29(火)追記:
公式で発表されてました!合わせて、issuesもClosedになっていました。
Native Container Image Scanning in Amazon ECR
公式ドキュメント
※2019/10/27(日)追記:
再び利用可能になっていました。
下記のissuesに経緯等が記載されています。
ECR Image vulnerability scanning #17
※2019/10/25(金)追記:
本機能は使用出来なくなっているようです。
ECRでスキャン?
今日の業務中にふとECR画面見たら、「スキャン」の表示を見つける。
コンテナの脆弱性診断が実装されてる?
ん?こんなのあったっけ。見落としていただけかな。ということで触ってみた。
リポジトリ作成



コンテナをECRに登録
試しにcentosのコンテナをpushして、スキャンをしてみる。
# centos:latestのコンテナをローカルに落とす。
docker pull centos:latest
# ECR用のタグを設定
docker tag centos:latest [AWSアカウントID].dkr.ecr.ap-northeast-1.amazonaws.com/centos:1.0
# ECRログイン
$(aws ecr get-login --no-include-email --region ap-northeast-1)
# ECRのcentosリポジトリにpushする。
docker push [AWSアカウントID].dkr.ecr.ap-northeast-1.amazonaws.com/centos:1.0
スキャン完了。そして脆弱性確認へ・・・

スキャンは完了!脆弱性があるようなので、詳細を見てみる。


脆弱性の対応をしてみる。
パッケージのバージョンアップをすることで、脆弱性指摘が減るか確認してみる。
FROM centos:latest
LABEL maintainer "portfield"
RUN yum -y update && yum clean all
OSアップデートするDockerfile
を書く。シンプル。
centos
ディレクトリにファイルを配置。
# ECR用でバージョン上げてDockerイメージ作成
docker build -t [AWSアカウントID].dkr.ecr.ap-northeast-1.amazonaws.com/centos:1.1 centos
# ECRのcentosリポジトリにpushする。
docker push [AWSアカウントID].dkr.ecr.ap-northeast-1.amazonaws.com/centos:1.1
再びスキャン完了。脆弱性確認へ・・・


スキャンを有効にしていなくてもOK。


まとめ
・以上のように、リポジトリの設定を有効にするだけで、簡単に使用することが出来た。
CI/CDの一環でソース更新時にDockerイメージを自動作成し、ECRにpushしているケースも多いと思うので、便利に使用出来そう。
・というか、元々あったのだろうか???ドキュメント探しても見つからない。。
裏で何をベースにスキャンしているとか、情報があったら欲しいです。。