본문 바로가기

codebuild2

[AWS/CodeBuild] 서울 리전 CodeBuild에서 빌드된 Docker 이미지를 arm64 인스턴스에서 사용가능하도록 하는 방법 CodeBuild는 AWS에서 제공하는 소스코드 빌드 서비스이다. CodeBuild는 수행되면 컨테이너를 임시로 생성하여 해당 환경에서 소스코드 빌드, docker image 생성, docker push 등을 수행하게된다. AWS에서 arm 기반 인스턴스(A1, M6g 등)는 동 성능대비 비용 절감의 효과가 있어 선택하는 경우가 있을 것이라고 생각된다. 서울리전에서 이 인스턴스에 CodeBuild에서 빌드된 docker image를 실행시키고자 하면 정상동작되지 않는다. 이유는 docker build를 수행한 CodeBuild (x86_64)와 컨테이너가 실행될 인스턴스(arm)의 명령체계가 달라서이다. 공식 문서에따르면 CodeBuild는 현재 x86_64와 arm 이미지를 지원하나, 서울리전 (ap-.. 2022. 2. 18.
[CodeBuild] ECR 업로드시 CodeBuild Role 권한 오류 CodeBuild는 Build 과정에서 codecommit, s3, log 등의 작업을 수행하는데 이러한 서비스들에 대한 권한을 필요로한다. 이 권한은 IAM 역할을 위임받아 수행되는데 이때 CodeBuild IAM은 build project 생성 과정에서 ① 역할을 새로 생성하거나, ② 사전에 만들어 둔 역할을 사용할 수 있다. 역할을 새로 생성한다는 가정하에 부여되는 권한은 다음과 같다. logs: CloudWatch logs 그룹 생성 및 로깅 s3: 지정된 버킷 내 객체에 대한 PutObject codecommmit: git pull 새로 생성된 서비스 역할에는 ECR 접근에 대한 권한이 부여되어있지 않다. 따라서 "CodeBuild로 docker image를 생성 -> 이를 ECR (AWS에서 .. 2022. 2. 8.