AWS ECS(fargate)+ECR 컨테이너로 배치를 만드는 ① ※CodeBuild 설정에서 ECR 설정까지

6142 단어 ECRECSAWS
ECS에서 배치를 실행하는 시스템을 만듭니다.
※이번 기사에서는 ECR에 이미지 파일을 등록하는 곳까지

구성도





① CodeCommit에 소스를 등록한다.



CodeBuilde에 필요한 buildspec.yml(빌드 지침)이 필요합니다.

htps : // / cs. 아 ws. 아마존. 코 m / 그럼 _ jp / 코데부이 ld / ㅁ st / 우세 r 구이로 / ㄴ mp ぇ도 c 케 r. HTML



buildspec.yml
version: 0.2

phases:
  pre_build:
    commands:
      - echo Logging in to Amazon ECR...
      - $(aws ecr get-login --no-include-email --region $AWS_DEFAULT_REGION)
  build:
    commands:
      - echo Build started on `date`
      - echo Building the Docker image...          
      - docker build -t $IMAGE_REPO_NAME:$IMAGE_TAG .
      - docker tag $IMAGE_REPO_NAME:$IMAGE_TAG $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$IMAGE_REPO_NAME:$IMAGE_TAG      
  post_build:
    commands:
      - echo Build completed on `date`
      - echo Pushing the Docker image...
      - docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$IMAGE_REPO_NAME:$IMAGE_TAG

⇒내용은, 빌드를 하고, 빌드 결과의 이미지 파일을 ECR에 등록하는 것으로 되어 있습니다.

Dockerfile
FROM python:3.6.8-alpine3.8
WORKDIR /temp
COPY ./test.py .
CMD [ "python", "./test.py" ]

test.py
print("batch execute")

⇒ 문자열 "batch execute"를 출력하는 것만

②ECR에 리포지토리 등록



리포지토리 등록(test)

권한 설정
(CodeBuild에서 이미지 파일을 등록할 수 있도록)
※IAM으로 잠시 할 수 있습니다만, 전원에게 지정의 액션을 허가하도록(듯이) 하고 있습니다.




③ CodeBuild로 빌드하고 이미지 파일을 ECR에 저장한다.



빌드 프로젝트 만들기
※소스는 CodeCommit에서 등록한 것을 설정
※환경 변수는 buildspec.yml에 설정한 변수의 값을 설정합니다.
 [AWS_DEFAULT_REGION] ※ECR 리포지토리의 리전
[IMAGE_REPO_NAME] ※ ECR 리포지토리 이름
 [IMAGE_TAG] ※ECR 리포지토리의 태그명(ver)
 [AWS_ACCOUNT_ID] ※ AWS 계정 ID









빌드 프로젝트에 설정한 서비스 역할에 ECR에 대한 작업 권한 부여

빌드를 실행하면 ECR에 이미지 파일이 등록됩니다.



↓↓↓
이번은 여기까지로 합니다.

▼다음 기사로
AWS ECS(fargate)+ECR 컨테이너로 배치를 작성 ② ※ECS 설정에서 배치 실행까지

좋은 웹페이지 즐겨찾기