[AWS] Elastic Container Service (ECS) 기초 개념

2020. 7. 9. 11:59Engineering/AWS

 

AWS Elastic Container Service (ECS) 서비스를 이해하고 사용하기 위한 기초 개념을 정리합니다.

 


 

 

 

1. 작업 명세 (Task Definition)과 작업(Task)

작업 명세 (Task definition) 컨테이너로 배포할 어플리케이션에 대한 다양한 파라미터 집합이다.

어플리케이션에 사용할 컨테이너 이미지, 포트 정보, 데이터 볼륨 정보 등을 정의한다.

명세를 instance 객체를 작업(task) 한다.

 

 

2. 클러스터

EC2 리소스의 논리적 그룹으로, 작업(Task)가 실행되는 공간이다. 

ECS의 EC2 Launch type 경우, ECS Container Agent 실행되는 EC2 인스턴스 집합을 의미한다. 
(4.에서 더 자세히 설명)

 

 

3. 컨테이너 에이전트 (Container Agent)

컨테이너 에이전트는 ECS 클러스터를 구성하는 인프라 자원 마다 실행 된다.

인프라 자원의 리소스 사용률을 수집하여 ECS 전달하고,

ECS 부터의 작업(Task) 시작/중지 요청 받아 Agent 실행중인 인프라에서 수행합니다.

 

 

 

 

4. 클러스터 템플릿 (Launch Type)

4-1. 네트워킹 전용 (Fargate Launch Type)

AWS 관리하는 서버리스 인프라 클러스터 위에 task 배포합니다.

 

 

4-2. EC2 Linux(or Window) + 네트워킹 (EC2 Launch Type)

ECS Container Agent 실행하는 EC2 인스턴스들로 구성된 클러스터 task 배포합니다.

EC2 인스턴스의 운영체제를 Linux or WIndow로 선택할 수 있습니다.