본문 바로가기
DEVOPS/Cloud Architecture

[Cloud Architecture] 3. AWS ECS(Elastic Container Service)

by junthetechguy 2024. 6. 26.
 

TABLE OF CONTENTS

 

    1. What is ECS?

    ECS가 무엇이냐? 멀티 컨테이너를 오케스트레이션 하도록 하여 Container Cluster를 구성할 수 있게 한다. ECS Cluster 안에는 ECS Container instance가 존재하게 되는데 이것은 EC2 내부에 ECS Container Agent가 설치된 상태로 생성이 된 것이고, 이것은 자동으로 ASG로 묶여서 생성이 되게 되고, 이러한 ECS Container instance 안의 Container들은 Task로 실행이 되고, 이는 Task Definition이라고 하는 설정 값에 의해서 배포가 되게 되고 이러한 Task들은 Service에 의해서 생성이 되고, Service는 ELB와 연동을 해서 외부에서 접근이 가능하도록 연동할 수 있다

    2. Are there any types of ECS Cluster?

    ECS에는 두가지 instance type이 존재한다. 앞에서 설명한 EC2 Type이 첫번째고, 두번째가 Fargate Type이다. Fargate란 인스턴스가 없는 서버리스 서비스이므로 실제로 서비스에선 사용되는 리소스의 양에 대해서만 과금이 되게 된다. 이 둘을 양자택일하는 상황에는 언제나 비용을 최우선으로 생각해야한다. 1대1로 비교하자면 Fargate가 더 비싸지만 트래픽이 일정하지 않고 불규칙한 패턴의 서비스라면 Fargate가 더 Cost Effective하다.

     

    ECR은 Docker hub처럼 Docker Image를 업로드 하는 서비스이고 ECR IAM을 설정해서 Authentication & Authorization을 진행한다.

     

    [Reference]

    https://aws.amazon.com/ko/getting-started/hands-on/deploy-docker-containers/

     

    How to Deploy Docker Containers | AWS

     

    aws.amazon.com