docker , ECS, ECS 는 뭔가~

송수용·2022년 6월 5일
1

인프라

목록 보기
1/1

1. 도커란?

도커는 컨테이너 기반의 오픈소스 가상화 플랫폼이다.

서버에서 다양한 프로그램, 실행환경을 컨테이너라는 개념으로 추상화하고 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 단순하게 해준다. 백엔드 프로그램, 데이터베이스 서버, 메시지 큐등 어떤 프로그램도 컨테이너로 추상화할 수 있고 조립PC, AWS, Azure, Google cloud등 어디에서든 실행할 수 있다.

컨테이너를 가장 잘 사용하고 있는 기업은 구글이다. 지난 2014년 발표에 따르면 구글은 모든 서비스들이 컨테이너로 동작하고 매주 20억 개에 가까운 컨테이너를 구동한다고 한다.

2. ECS란?

ECS는 Docker 컨테이너를 지원하는 확장성과 성능이 뛰어난 컨테이너 관리 서비스이다. (현재는 Docker 컨테이너 유형만 지원한다)

ECS를 사용하면 자체적인 클러스터 관리 인프라를 설치, 운영 및 확장할 필요가 없다. 간단한 API 호출로 컨테이너가 활성화된 애플리케이션을 실행 및 중지하고, 클러스터의 전체 상태를 쿼리하며, 보안 그룹, Elastic Load Balancing, EBS 볼륨, IAM 역할과 같이 여러 기능에 액세스할 수 있다. 리소스 필요와 가용성 요구 사항에 따라 클러스터 전체에 컨테이너를 배치할 일정을 수립하는 데에도 Amazon ECS를 사용할 수 있다. 또는 비즈니스나 애플리케이션의 특정 요구 사항에 맞도록 자체 스케줄러나 타사 스케줄러를 통합할 수 있다.

(2017년 9월 서울 리전에서는 ECS를 사용할 수 없다)

참고로 일본 동경 리전에 ECS를 통해 Fargate로 클러스터를 만들어보았다. 그랬더니 자동으로 ECS default - VPC 라는 VPC가 생성되었다. (VPC를 별도로 지정하지 않았기 때문)

3. ECR이란?

ECR은 ECS와 통합되어 ECS에서 실행되는 애플리케이션에 대한 컨테이너 이미지를 손쉽게 저장, 실행 및 관리할 수 있다. 작업 정의에 ECR 리포지토리를 지정하고 AmazonEC2ContainerServiceforEC2Role을 인스턴스에 연결하기만 하면 된다. 그러면 Amazon ECS에서 애플리케이션에 적합한 이미지를 가져온다.

profile
#공부중 #협업 #소통중시 #백엔드개발자 #능동적 #워커홀릭 #스파르타코딩 #항해99 #미니튜터 #Nudge #ENTJ #브레인스토밍 #아이디어뱅크

0개의 댓글