안녕하세요, 오늘은 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