안녕하세요, 오늘은 Amazon EC2 Container Service (ECS) 에 대해서 알아보도록 하겠습니다. 

이름을 봐서는 이미 많은 분들이 한번 쯤 들어보셨을 컨테이너와 도커를 관리하는 서비스인 것 같은데요,

도커에 관해서는 부끄럽지만 예전에 작성한 글을 참고해 주세요. (http://sarc.io/index.php/create/418-docker)

 

ECS 주요 역할

  • 자원 관리 및 클러스터 스케줄링 -> Cluster Management Engine
  • Agent 를 통한 컨테이너 인스턴스 간의 커뮤니케이션 -> Agent Communication Service
  • Key/Value 값 저장 -> Key/Value Store
  • User/Scheduler 의 접근을 위한 API 제공 -> API

 

ECS 사용 시 장점

  • 클러스터 관리가 쉬움 - 관제, 모니터링, 스케일링
  • 유연한 컨테이너 배치
  • 다른 AWS 서비스와의 편리한 연동 - ELB, EBS, VPC, CloudWatch, IAM, CloudTail
  • CLI, API, Open Source Agent 제공을 통한 확장성 확보

 

ECS 서비스 실행 과정

1. Create a Task Definition

- Task : 관련되 컨테이너의 묶음이며 기본 작업 단위.

- 컨테이너와 볼륨을 추가하고 속성을 정의하는 과정이 이 단계에 속함.

2. Create a Service 

- 실행할 Task Definition과 Cluster를 선택하고 Task를 몇번 실행할지 선택함. 

- 옵션으로 ELB를 선택하면 컨테이너 간의 traffic을 조정할 수 있음. 

 

3. Scale Service

- 필요에 따라 scale up/down

 

4. Update Service 

- 새로운 버전을 배포하고 이전 버전은 연결을 해지.

 

출처 : http://www.slideshare.net/AmazonWebServices/amazon-ecs-with-docker-aws-public-sector-summit-2016