본문 바로가기

분류 전체보기19

[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.
[CodeCommit/Git] Windows 환경에서 CodeCommit Credentials 변경 방법 (fatal: unable to access: The requested URL returned error: 403) CodeCommit의 레포지토리는 AWS IAM에서 사용자에 대한 Git 자격증명을 사용하여 HTTPS 연결이 된다. 사용자에대한 IAM 권한도 적절히 부여되어있다면 (Codecommit Repository 접근 권한) 로컬에 저장된 자격증명 문제일 수 있다. (자격증명에 대한 정보 잘못 입력, 관리 실수로 IAM에서 자격증명 삭제된 경우 등) 이 자격증명에 대한 정보가 잘못 입력되었거나, 관리 실수로 IAM에서 자격증명이 삭제된 경우 다음과 같은 오류가 발생한다. $ git clone [repository HTTPS url] Cloning into 'Repository'... fatal: unable to access 'https://git-codecommit.ap-northeast-2.amazonaw.. 2022. 1. 25.
[AWS] Route53, ELB로 EC2의 웹 서비스 하기 EC2 인스턴스에 개발된 내용을 올리고 이를 외부에 서비스하고자 한다. 순서는 다음과 같이 진행한다. target group 생성 ALB 생성 Route53 도메인 호스팅 영역 설정 ACM 인증서 발급 HTTPS 리스너 등록 가장 간단한 방법으로는 이러한 인스턴스를 public subnet에 생성하고 EIP를 할당하는 방법이 있다. 하지만 이 방법은 다음과 같은 상황에서 어려움이 있다. 운영 서버가 직접적으로 외부에 노출되는 보안 취약점 존재 HTTPS 통신시 사설 인증서를 인스턴스에 설치해야하는 번거로움 존재 비용, 구성 등의 이슈로 한 인스턴스에 두가지 이상의 웹 서비스를 제공해야 할 경우, 외부에서는 포트를 구분하여 접근해야 함 이러한 상황을 해결할 수 있는 방법의 하나로 아래의 아키텍처를 들 수 .. 2022. 1. 19.