ECR拡張スキャン有効化で画面に表示されるAPIエラーの対応方法ついて教えてください
困っていた内容
Amazon ECRの拡張スキャンを有効化して、プライベートリポジトリにイメージをPushした際にイメージをスキャンするように設定を行いました。
プライベートリポジトリにイメージをPush後、「調査結果を表示」からスキャン結果を確認したところ、下記のようなAPIエラーが画面に表示されスキャン結果を確認できませんでした。
- APIエラー
Failure to get image scan findings: Image scan does not exist for the image with '{imageDigest:'sha256:abc1234def567ghi890jkl123mno456pqr789stu012vwxy345z678abc9012de3', imageTag:'null'}' in the repository with name 'example-test' in the registry with id '************'
上記のAPIエラーが発生した場合の対応方法を教えてください。
どう対応すればいいの?
リポジトリにプッシュされたイメージ容量の大きさによって、スキャン完了までに時間を要するため、ある程度時間を空けて経過をご確認ください。
【補足】APIエラーの調査
APIエラーについて下記の流れで調査を行いました。
調査手順
- 容量が異なる2つのイメージを用意(200MB、600MB)
- 上記の各イメージについて、プライベートリポジトリへプッシュ後、脆弱性の「調査結果を表示」より確認
- イメージ(200MB)
- 脆弱性の「調査結果を表示」より、問題なくスキャン結果が表示されたことを確認
- イメージ(600MB)
- 脆弱性の「調査結果を表示」より、上記APIエラーが画面に表示されたことを確認(下記画像参照:APIエラー)
- その後、数秒~数十秒程空けた後に、ブラウザの更新ボタンをクリックして再度読み込みしたところ、脆弱性の調査結果について表示されたことを確認(下記画像参照:脆弱性調査結果)
調査結果をふまえたAPIエラーの原因
Amazon ECRのリポジトリにプッシュされたイメージのスキャンが完了していないことに起因して上記のようなAPIエラーが発生したものと考えれます。
スキャンが完了していない1つの要因としては、上記の調査より、リポジトリにプッシュされたイメージの容量が関係していることが分かりました。
イメージの容量が大きければ、その分スキャンにかかる時間も長くなり、スキャン完了までに時間を要することが考えられるため、ご使用される際はご留意をいただけましたら幸いです。