「InternalError: failed to create container model: failed to normalize image reference〜」というエラーが出てタスクが起動しないときの対処方法
困っていた内容
ECS のタスクを起動しようとした際に、以下のエラーメッセージが表示され、タスクが起動しない問題に直面しました。
InternalError: failed to create container model: failed to normalize image reference 〜
原因と対処法を教えてください。
どう対応すればいいの?
このエラーは、何らかの原因によって ECR よりイメージが取得できない場合に発生します。
エラーメッセージに記載されたイメージの指定内容を確認しますと、"イメージのリポジトリURI/イメージ名:" となっており、イメージのタグの記載がありませんでした。
ドキュメント [1] によりますと、タスク定義にて指定するイメージは、"イメージのリポジトリURI/イメージ名:タグ" または "イメージのリポジトリURI/イメージ名@digest" の形式で指定する必要があります。
===== ドキュメント [1] 抜粋 ここから =====
Amazon ECR リポジトリのイメージは、registry/repository:tag または registry/repository@digest の完全な命名規則 (例えば、aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app:latest や、aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE) を使用して指定します。
===== ドキュメント [1] 抜粋 ここまで =====
このイメージの指定の不具合が原因で、当該エラーが発生していたものと考えられます。
タスク定義にてイメージの指定を "イメージのリポジトリURI/イメージ名:タグ" または "イメージのリポジトリURI/イメージ名@digest" の形式に修正することで、問題が解消され、タスクが正常に起動するようになります。
以上、ご参考になれば幸いです。
■ 参考資料
[1] Fargate での Amazon ECS タスク定義パラメータ - Amazon Elastic Container Service







