ECS란
aws training and certification에서 'Introduction to Amazon Elastic Container Service' 강의를 본 내용 토대로 정리하고 실제로 해보았다.
https://www.samsungsds.com/kr/insights/220222_kubernetes1.html 도 같이 참고
컨테이너란..
들어가기 전에 컨테이너에 대해서 알아보자!
컨테이너는 소프트웨어 제공 단위이다. 모든 종속성이 함께 패키징되고 실행되는 자체 포함 소프트웨어이다. 어디든지 쉽게 실행할 수 있다.
도커엔진을 설치하면 기본 인프라를 추상화하고 해당 인프라와 관계없이 컨테이너를 실행할 수 있다.
이미지를 빌드하는 환경의 영향을 받아 그에 맞는 이미지가 만들어진다. (cpu에 맞는)
ECS란
컨테이너를 대규모로 관리할 수 있는 방법!
Elastic Container Service로 도커 컨테이너를 지원하는 확장성과 성능이 뛰어난 컨테이너 관리 서비스 이다.
ecs는 클러스터라는 개념으로 관리가 된다. 클러스터는 실제 컨테이너들이 들어가 실행되는 장소이다. ecs는 자체적인 클러스터로 운영하기 때문에 설치, 운영 및 확장을 할 필요가 없다.
ECS 장점
- ecs는 탄력적인 서비스이다. 단일 컨테이너뿐만 아니라 수천개의 컨테이너도 관리할 수 있다. 이 서비스는 ELB와 통합된다.
- 관리가 용이하다. 프로그래밍 api와 전용 cli가 포함되어 있다.
- 안전하다. 격리정책, 가용성 요구 사항 및 리소스 할당을 세부적으로 제어할 수 있다. 각 클라우드 자체를 VPC에 설정하고 보안 그룹을 사용하여 탄력적인 컨테이너 인스턴스에 대한 네트워크 엑세스를 제어할 수 있다.
ECS 구성 요소
클러스터 + 테스크(작업) + 서비스
에이전트는 컨테이너 자체로 ec2 인스턴스가 ecs 백엔드 로직과 통신할 수 있게 하여 리소스 관리, 수명 주기 조정 및 효율적인 일정 예약을 지원한다.
사용자는 컨테이너를 테스크로 그룹화하고 실행하도록 요청하고 ECS에 클러스터에서 실행되도록 요청한다.
테스크 정의는 함께 실행되어야하는 하나 이상의 컨테이너를 설명하는 파일이며 단일 단위로 배포한다. 반면 테스크는 동일한 EC2인스턴스에서 모든 컨테이너를 함께 실행하는 테스크정의의 인스턴스화이다.
문제가 발생하여 테스크가 실패하면 ECS는 이를 탐지하고 즉시 다시 시작한다.
https://docs.aws.amazon.com/ko_kr/AmazonECS/latest/developerguide/Welcome.html
Amazon Elastic Container Service란 무엇입니까? - Amazon Elastic Container Service
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다. Amazon Elastic Container Service란 무엇입니까? Amazon Elastic Container Service(Amazon ECS)
docs.aws.amazon.com