안녕하세요! ITibiza입니다.
AWS 아마존에서 제공하는 클라우드 컴퓨팅 서비스입니다.
클라우드 컴퓨팅을 쉽게 이해하면 기업과 개인이 물리적인 서버를 구매하거나 유지할 필요 없이 필요한 서버, 필요한 만큼만 자원을 빌려서 사용할 수 있는 서비스입니다.
AWS에서는 다양한 서비스를 고객들에게 제공하며 AWS를 마스터한다는 것은 어쩌면 불가능에 가깝지 않을 만큼 다양한 서비스를 제공합니다.
이번 글에서 AWS에서 제공하는 아주 유용한 서비스 ECR에 대해서 알아보겠습니다.
본론에 앞서 ECR(Amazon Elastic Container Registry)을 이해하려면 도커(Docker)에 대한 기본 개념을 알고 있어야 합니다.
도커는 운영체제(OS) 위에 격리된 가상 환경을 제공하는 컨테이너 기술입니다.
도커의 가장 큰 강점은 서로 다른 OS, 개발 환경, 버전과 상관없이 도커 환경만 구축되면 동일한 버전과 환경에서 빠르고 효율적으로 독립적인 컨테이너를 실행할 수 있다는 점입니다.
이러한 장점 덕분에 도커만 설치되어 있으면 모든 개발자가 동일한 환경에서 작업할 수 있는데 여기서 의문점?
그렇다면 왜 ECR을 사용해야 할까요?
여기서 중요한 점은, 작업자마다 도커 버전이 다를 수 있다는 것입니다.
도커 버전의 차이로 인해 컨테이너를 구축할 때 예기치 못한 문제가 발생할 수 있습니다.
이러한 문제를 해결하기 위해 ECR을 사용하여 컨테이너 이미지를 중앙에서 관리하고 배포할 수 있습니다.
ECR은 표준화된 환경을 제공함으로써 도커 버전 차이로 인한 문제를 최소화하고, 일관된 개발 및 배포 프로세스를 보장합니다.
ECR이란?
AWS Elastic Container Registry (ECR)는 Amazon Web Services에서 제공하는 완전 관리형 Docker 컨테이너 레지스트리 서비스입니다.
이 서비스를 사용하면 컨테이너 이미지를 손쉽게 저장, 관리 및 배포할 수 있습니다.
컨테이너 이미지란?
컨테이너는 애플리케이션이 동작하는 환경을 격리하여 실행할 수 있는 가상화 기술입니다.
컨테이너 이미지는 이러한 컨테이너를 실행하기 위한 모든 필요한 파일, 코드, 라이브러리 등을 포함한 패키지입니다.
쉽게 말하면 컨테이너에 프로그램이 실행되기 위해 필요한 모든 것들이 포함된 패키지라고 생각하면 됩니다.
2024.08.02 - [개발/Docker] - [도커 입문 시리즈] docker 이미지와 레이어 개념
컨테이너 레지스트리란?
컨테이너 이미지를 저장하고 관리하는 곳이 필요합니다.
이곳을 컨테이너 레지스트리(Container Registry)라고 합니다.
마치 코드가 GitHub에 저장되고 관리되는 것처럼 컨테이너 이미지도 저장소에 저장되고 관리되어야 합니다.
AWS Elastic Container Registry (ECR)란?
ECR은 AWS가 제공하는 관리형 컨테이너 레지스트리입니다.
개발자나 IT 운영자는 이 레지스트리에 컨테이너 이미지를 저장하고, 관리하고, 필요할 때마다 이 이미지를 가져와서 사용할 수 있습니다.
ECR 저장소 덕분에 개발자들은 쉽게 컨테이너를 저장, 관리, 배포를 할 수 있습니다.
ECR의 주요 기능
- 완전 관리형: AWS가 모든 백엔드 인프라를 관리하므로, 사용자는 인프라 유지 관리에 신경 쓸 필요가 없습니다.
- 보안: ECR은 이미지를 저장할 때 암호화하고 IAM(Identity and Access Management) 권한을 사용하여 이미지에 대한 접근을 제어할 수 있습니다.
- 통합: ECR은 AWS의 다른 서비스 예를 들어 Amazon ECS, EKS, 및 Lambda와 쉽게 통합됩니다. 이를 통해 컨테이너 이미지를 쉽게 배포할 수 있습니다.
- 버전 관리: ECR은 컨테이너 이미지의 다양한 버전을 관리할 수 있으며, 이를 통해 필요할 때 적절한 버전을 선택하여 사용할 수 있습니다.
AWS CLI 설치 및 configure 등록하는 방법
https://cometruedream.tistory.com/276
ECR 사용법
- 컨테이너 이미지 생성: 개발자는 Docker를 사용해 컨테이너 이미지를 로컬에서 만듭니다.
- 이미지 푸시: 생성된 이미지를 ECR에 푸시(저장)합니다.
- 이미지 배포: ECR에 저장된 이미지는 Amazon ECS, EKS와 같은 컨테이너 오케스트레이션 서비스에 의해 애플리케이션으로 배포됩니다.
- 이미지 관리: 필요에 따라 이미지의 버전을 관리하거나 새로운 이미지를 푸시할 수 있습니다.
비용 측면
ECR은 저장된 이미지의 용량과 전송된 데이터 양에 따라 비용이 발생합니다.
저장 공간과 데이터 전송량이 많을수록 비용이 증가하게 됩니다.
AWS ECR은 특히 AWS 환경에서 컨테이너 기반 애플리케이션을 운영하는 경우 매우 유용합니다.
ECR을 사용하면 컨테이너 이미지를 안전하고 효율적으로 관리할 수 있으며 AWS의 다른 서비스와도 원활하게 통합되어 애플리케이션 배포를 쉽게 할 수 있습니다.
ECR(Elastic Container Registry) 개념을 정리하면서
이번 글을 통해서 ECR을 사용하는 이유와 개념에 대해서 자세히 알아봤습니다.
ECR 생소한 기술일지는 몰라도 ECR을 사용함으로 개발자, IT관리자들에 생산성과 효율성을 높일 수 있습니다.
다음 글에서는 AWS IAM 개념에 대해서 알아보겠습니다.
필자의 잘못된 부분이나 피드백은 언제든지 댓글로 남겨주세요!
감사합니다^^
2024.07.31 - [개발/Docker] - [도커 입문 시리즈] MacOS에서 Docker 설치하는 방법
2024.08.01 - [AWS] - 누구나 이해할 수 있는 AWS VPC 개념 & 서브넷
2024.08.06 - [개발/Java] - [자바 스프링부트] Java 개념 및 기본 문법
'AWS' 카테고리의 다른 글
누구나 이해할 수 있는 AWS VPC 개념 & 서브넷 (0) | 2024.08.01 |
---|