0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

CodeBuildでECRのイメージを環境イメージに指定した時に BUILD_CONTAINER_UNABLE_TO_PULL_IMAGE でつまづいた話

Last updated at Posted at 2020-10-25

結論

CodeBuild の Amazon ECR サンプル に忠実に従う

概要

CodeBuildを使ってテストを自動化したい
→ 毎回イチからイメージをビルドしてテストを走らせると時間がかかるし、お金も勿体無いよね
→ イメージの中身が変更された時だけECRにあげて、基本的にテストを走らせる時はECRに上がっているイメージを使おう

となりました。

そして、CodeBuild から ECR に push する分にはビルドプロジェクトで作成したポリシーに ECR への権限を付与したら出来たのですが、ECR のイメージをビルドプロジェクトの環境イメージに指定した場合はそれではうまく出来ませんでした。

BUILD_CONTAINER_UNABLE_TO_PULL_IMAGE.png

のように「BUILD_CONTAINER_UNABLE_TO_PULL_IMAGE」が出てしまい、少し時間を使ってしまったので備忘録。

解決策

ECRをビルドプロジェクトの環境イメージに指定する場合は、ECRの画面からCodeBuildのアクセス許可をしてあげる必要がありました。

CodeBuild の Amazon ECR サンプル の通りではありますが、

  1. ECRにアクセス
  2. リポジトリを選択
  3. 左側のペインに出てくる「Permission」をクリック
    ECR.png
  4. 「編集」をクリック
  5. 「ポリシーJSONの編集」をクリック
  6. 下記のように入力
ポリシーJSONの編集
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "CodeBuildAccess",
      "Effect": "Allow",
      "Principal": {
        "Service": "codebuild.amazonaws.com"
      },
      "Action": [
        "ecr:BatchCheckLayerAvailability",
        "ecr:BatchGetImage",
        "ecr:GetDownloadUrlForLayer"
      ]
    }
  ]
}

これできっとできるようになるhazu☆

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?