AWS ECS 개념 정리

hizzang·2021년 11월 25일
0
post-thumbnail

1. ECS

: 컨테이너 오케스트레이션 툴

: ECR에 Docker image 빌드 → ECS 작업 정의 생성 → ECS의 서비스 생성 하는 원리

: ECS 자체에 대한 추가 과금은 없음. 시작 유형에 따라 과금 방식 상이

: 비용 관련 https://containersonaws.com/introduction/ec2-or-aws-fargate/

⁕ 시작 유형 (Fargate, EC2, External)

 - Fargate : 컨테이너를 배포하고 관리할 수 있는 서버리스 컴퓨팅 엔진
           : EC2 인스턴스 없이 직접 컨테이너 실행
           : 초당 CPU 코어 수와 메모리 기가바이트를 기반으로 요금 청구
            (컨테이너 이미지 다운로드를 시작한 시점부터 ECS Task / EKS 포트가 종료될 때까지)

 - EC2 : 컨테이너를 배포하고 관리할 수 있는 클라우드 컴퓨팅 플랫폼
       : 컨테이너 실행을 위한 자체 EC2 인스턴스 클러스터 배포 및 관리
       : 기본 EC2 인스턴스 비용을 기준으로 요금 청구
       

2. 작업(Task)

: ECS에서 컨테이너를 구동하는 최소 단위

: N개의 컨테이너 묶음을 하나의 Task로 지정 가능

⁕ 작업 정의

 : 애플리케이션을 구성하는 컨테이너를 설명하는 텍스트(JSON)

 : 컨테이너를 실행할 때 사용하는 환경변수와 실행 옵션들을 포함

 : docker-compose.yaml과 비슷한 역할을 하는 리소스

 : 클러스터에 종속적이지 않으므로, 한 번 정의하고 나면 어떤 클러스터에서든 실행할 수 있음

 
⁕ 작업 정의시 들어가는 내용
  
  - 시작 유형 호환성

  - 사용할 컨테이너 이미지

  - 애플리케이션을 위해 개방할 포트

  - CPU/메모리 리소스

  - 작업의 컨테이너에 사용할 데이터 볼륨
  

3. 서비스

: 클러스터에서 지정된 수의 작업을 동시에 실행하고 관리할 수 있게 해주는 구성

: Task를 포함하며, Task와 관련된 Auto Scaling과 Load Balancing을 관리

0개의 댓글