ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • AWS - 서버 배포 - ECR(Amazon Elastic Container Registry) 셋팅 - 3
    Cloud/aws 2026. 2. 3. 22:19

     

    앞서 포스팅한 AWS-서버배포-S3셋팅-2 (https://burningdogs.tistory.com/84) 이어서 

    api server project image를 만들고 aws container에 push하는 과정을 적겠습니다

     

    👉개념 설명 -  Amazon Elastic Container Registry

    한마디로 도커 허브와 같은 컨테이너의 이미지를 관리하는 레지스트리 서비스 이다.

     

    1. Amazon ECR - (private or public) registry repositories - create repository

     

     

     

     
     

    2. General settings에 reponame 적고 image tag settings는 default Mutable로 적용하였다

     

    3. 암호화 설정도 default AES-256 으로 설정 후 생성 클릭

    옵션설명 참고👉 (ECR에서 이미지를 올리게 되면 S3로 저장할 때 기본적인 AES-256 암호화 알고리즘을 사용하여 유휴 데이터를 암호화를 하여 저장하게 됩니다. 하지만 KMS 암호화를 키게 되면 AWS Key Management Service에 저장된 KMS 키로 서버 측 암호화를 사용할 수 있습니다.)

     

     

    4. 만들어진 이미지 상세정보 요약에 repository URI 확인필요

     

    5. local 환경 terminal 에서 순서대로 명령어 실행 (본인은 개발서버셋팅으로 latest로 설정)

    AWS ECR Push 순서 (latest 기준)

    1. Docker 이미지 빌드
     -> docker build -t <이미지명> .

    2. AWS ECR 로그인
     ->  aws ecr get-login-password --region <리전> | docker login --username AWS --password-stdin <AWS_ACCOUNT_ID>.dkr.ecr.<리전>.amazonaws.com

    3. 이미지 태깅
    -> docker tag <이미지명>:latest <AWS_ACCOUNT_ID>.dkr.ecr.<리전>.amazonaws.com/<ECR_REPOSITORY_NAME>:latest

    4. ECR에 Push
    -> docker push <AWS_ACCOUNT_ID>.dkr.ecr.<리전>.amazonaws.com/<ECR_REPOSITORY_NAME>:latest  


    ex) 실제 값 대입 (latest 기준)
    1. Docker 빌드
    docker build -t test-server .

    2. ECR 로그인
    aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin 123456789012.dkr.ecr.ap-northeast-2.amazonaws.com

    3. 태깅
    docker tag test-server:latest 123456789012.dkr.ecr.ap-northeast-2.amazonaws.com/test-server:latest

    4. 푸시
    docker push 123456789012.dkr.ecr.ap-northeast-2.amazonaws.com/test-server:latest

     

     

    ★ 참고용

    AWS ECR Push 순서 (tag 기준)

    1. 태깅
    docker tag <이미지명>:<태그> <ECR_URL>/<REPO_NAME>:<태그>

    2. 푸시
    docker push <ECR_URL>/<REPO_NAME>:<태그>

    각 종류 태그 설명

    3-1 버전 태그
    docker tag test-server:v1.0.0 123456789012.dkr.ecr.ap-northeast-2.amazonaws.com/test-server:v1.0.0
    docker push 123456789012.dkr.ecr.ap-northeast-2.amazonaws.com/test-server:v1.0.0  

    3-2. 버전 태그
    docker tag test-server:v1.0.0 123456789012.dkr.ecr.ap-northeast-2.amazonaws.com/test-server:v1.0.0
    docker push 123456789012.dkr.ecr.ap-northeast-2.amazonaws.com/test-server:v1.0.0

    3-3. 커밋 해시 태그
    docker tag test-server:69be565 123456789012.dkr.ecr.ap-northeast-2.amazonaws.com/test-server:69be565 docker push 123456789012.dkr.ecr.ap-northeast-2.amazonaws.com/test-server:69be565

    3-4. 날짜 태그 
    docker tag test-server:20260203 123456789012.dkr.ecr.ap-northeast-2.amazonaws.com/test-server:20260203
    docker push 123456789012.dkr.ecr.ap-northeast-2.amazonaws.com/test-server:20260203

    3-5. 환경 + 버전 태그
    docker tag test-server:prod-v1.0.0 123456789012.dkr.ecr.ap-northeast-2.amazonaws.com/test-server:prod-v1.0.0
    docker push 123456789012.dkr.ecr.ap-northeast-2.amazonaws.com/test-server:prod-v1.0.0

    3-6. 빌드 시 바로 태그 지정
    - 빌드할 때부터 태그 지정
    docker build -t test-server:v1.0.0 .

     

    ⭐︎ Amazon 공식 push 명령 확인 방법

    - Amazon ECR -> private or public repositry -> repository -> images -> [View push commands] 버튼 클릭

    - 그럼 아래와 같이 친절하게 운영체제별로 push 하는 법을 알려준다.

     

     

    위 방법으로 push 후 ecr repository 에서 해당 image들이 정상적으로 올라가있는지 확인해보자

     

     

    감사합니다

    이어서 ECS 생성에 대해 작성하겠습니다.

Designed by Tistory.