AWS ECS

Dokkabei97·2022년 8월 23일
0

AWS

목록 보기
1/3

ECS(Elastic Container Service)란?

  • AWS에서 제공하는 완전관리형 컨테이너 오케스트레이션 서비스다.
  • Docker 컨테이너를 이용하여 인프라 환경을 좀 더 편리하게 운영, 관리 할 수 있다.

ECS 구성 요소

  • Cluster
  • Service
  • Task definition
  • Task
  • Container Instance

Cluster

  • ECS의 가장 기본 단위로써 Cluster Task 또는 Service의 논리적 그룹이다.
  • 기본적으로 컴퓨팅 자원을 포함하지 않으며(텅 빈 Cluster도 생성 가능), ECS에서 컨테이너를 실행시키기 위해서는 Container Instance가 Cluter에 포함되어야 한다.
  • Cluster는 Container Instance를 조작할 수 있는 권한을 가지고 있으며, CLuster에서 Service나 Task를 실행하면 조건을 만족하는 Container Instance를 찾아 해당 Instance에 컨테이너를 실행한다.
  • AWS Fargate(Serveriess)를 사용하면 Container Instance 없이 컨테이너를 실행할 수 있다.

Service

  • Service는 Task를 지속적으로 관리하는 단위이다.
  • Service는 Cluster 내에서 지정된 Task 수만큼 동시에 실행하고 관리할 수 있다.
  • 또한 ELB와 연동하여 실행중인 Task를 찾아 자동으로 ELB에 등록 및 제거하는 Auto Scaling 역할도 담당한다.

Task Definition

  • Task Definition은 Task를 실행하기 위한 설정을 저장하고 있는 단위다.
  • Task Definition은 컨테이너 별로 실행하고자 하는 이미지를 지정할 수 있으며, CPU나 Memory와 같은 정보도 지정할 수 있고, 하나 혹은 둘 이상의 Task Definitio을 포함할 수 있다.
  • Task Definition은 Cluster에 종속되어있지 않다.

Task

  • Task는 ECS의 최소 실행 단위로 하나 이상의 컨테이너 묶음이다.
  • Task를 실행하는 방법에는 Task Definition으로 직접 Task를 실행하는 방법과 Service를 정의하는 방법이 있다.
  • Task Definition로 직접 실행된 Task의 경우 처음 한 번 실행된 이후 관리되지 않는다.
  • Task는 Cluster에 속한 Container Instance에 배포된다.

Container Instance

  • Task가 배포되는(실제 Docker 컨테이너가 실행되는) Cluster에 등록된 EC2 Instance를 Container Instance라고 한다.
  • ECS는 EC2 Instance에 ECS Container Agent를 설치하고 Cluster에 Container Instance로 등록할 수 있다.
  • 하나의 Cluster에 여러 개의 Container Instance가 있을 수 있으며, 하나의 Container Instance안에서도 여러개의 Task가 있을 수 있다.
profile
ESTJ 개발자 백엔드와 인프라에 집중하고 있습니다.

0개의 댓글