-
ECR에 이미지 업로드공부/AWS 2025. 3. 29. 19:44
EC2에서 실행하던 서버를 ECS로 바꾸는 과정에서 ECR에 이미지 업로드 과정을 작성하려고 합니다.
ECR은 Elastic Container Registry의 약자입니다. ECR은 도커 허브와 같은 역할이라고 생각하시면 좋을 거 같습니다.
1. ECR 생성 권한이 있는지 확인합니다.
- 권한이 없는 경우 권한을 부여해야 합니다.
- AmazonEC2ContainerRegistryFullAccess 권한을 부여합니다.
- IAM에서 사용하시는 사용자의 권한을 부여해야 합니다.

2. Private ECR 생성
- 프라이빗 리포지토리 탭에서 우측 상단에 리포지토리 생성 클릭

- 리포지토리 이름을 작성합니다.
- 이미지 태그 변경 가능성, 암호화는 초기 지정된 값으로 유지합니다.

- 리포지토리를 생성하면 지정한 이름으로 리포지토리가 생성이 됩니다.

3. 리포지토리를 클릭하면 우측 상단에 푸시 명령 보기 확인 클릭

- 1 번은 AWS CLI를 이용하여 인증을 하는 과정입니다. 인증을 위해서는 보안자격증명에서 액세스 키를 발급받아야 합니다.
- 액세스키는 발급은 하단에 작성해 놓았습니다.
- 2 번은 이미지를 빌드하는 명령어입니다.
- 3 번은 빌드된 이미지에 태그를 지정합니다. 태그를 지정하면 리포지토리 이름으로 된 이미지가 하나 더 생성됩니다.
- 4 번은 태그로 지정한 이미지를 리포지토리로 push 하는 명령어입니다.
- 1 ~ 4의 과정이 ECR에 이미지를 업로드하는 하나의 과정이라고 생각해 주시면 좋습니다.

4. 1 ~ 4의 명령어를 기준으로 이미지를 업로드합니다.
- 1번을 입력하면 aws cli로 인증을 받는 과정입니다. 로컬에 액세스 키를 등록하지 않은 경우 에러가 발생합니다.
- 로컬에서 액세스키 등록과정은 하단에 작성해 놓았습니다.
- build 한 이미지를 push 합니다.


* 액세스키 발급
- IAM에서 사용자 선택

- 사용자에서 내가 사용하는 계정 선택
- 계정 선택 후 보안 자격 증명 탭 선택

- 보안 자격 증명에서 액세스 키 만들기를 선택합니다.

- 생성된 키의 csv 파일은 꼭 가지고 계시는 것을 추천합니다. 비밀 액세스 키는 csv파일로 다운로드하지 않는 이상 알 수 없기 때문입니다.

* 로컬에 액세스키 등록
에러 - An error occurred (AccessDeniedException) when calling the GetAuthorizationToken operation: User
위와 같은 에러가 발생하면 인증이 되지 않은 문제라고 봐주시면 좋을 거 같습니다.
- 위에서 발급받은 액세스키를 등록합니다.
- 로컬 터미널에서 aws configure를 입력합니다.
- key ID - 액세스키를 입력
- Access Key - 비밀 액세스 키 입력
- region name, format은 default를 사용합니다.(엔터로 넘기시면 됩니다.)
- 모든 값 입력 후 다시 인증시도를 하면 로그인 성공문구를 확인하실 수 있습니다.

특정 문제나 궁금한 점을 검색하며 찾아보고 작성한 글입니다. 혹시라도 부정확한 정보를 전달드릴 수 있습니다. 틀린 부분이 있으면 댓글을 남겨주세요.
Ref.
https://aws.amazon.com/ko/ecr/
완전관리형 컨테이너 레지스트리 - Amazon Elastic Container Registry - Amazon Web Services
이미지에 보다 빠르게 액세스하고 배포하며, 다운로드 시간을 줄이고, 확장 가능하고 내구성이 뛰어난 아키텍처를 사용하여 가용성을 개선합니다.
aws.amazon.com
https://velog.io/@arnold_99/aws-ECR-push-%EC%A4%91-%EC%97%90%EB%9F%AC
aws - ECR push 중 에러
ECR을 사용중 푸시명령보기를 눌러 명령을 실행하던중 에러가 발생했다.An error occurred (UnrecognizedClientException) when calling the GetAuthorizationToken operation: The security
velog.io
'공부 > AWS' 카테고리의 다른 글
S3 - Cloud Front 적용 (0) 2025.07.21 AWS Systems Manager - Parameter Store (with NestJs) (0) 2025.04.23 NestJS + Bitbucket pipelines + EC2 + CodeDeploy (CI/CD) - 2 (0) 2025.01.20 Bitbucket Pipelines + EC2 + NestJS (0) 2025.01.19 NestJS + Bitbucket pipelines + EC2 + CodeDeploy (CI/CD) - 1 (0) 2025.01.14