Amazon ECS

방지환·2024년 10월 30일

정리

목록 보기
5/5

Amazon ECS에 대해

  • AWS Elastic Container Service는 docker 애플리케이션을 쉽게 배포하고 운영 할 수 있도록 지원하는 완전관리형 Container Orchestration 서비스
  • Kubernetes와 같은 container Orchestration 서비스
  • Kubernetes 보다 사용하기 쉽고, 비용적으로도 저렴하기 때문에 소/중 규모의 프로젝트에 널리 사용하고 있습니다. 또한 serverless로 구성할 수 있는데, 이렇게 하면 인스턴스(가성서버)를 구성하고 관리할 필요도 없어집니다.

Amazon ECS의 구조

  • ECR: Docker image 저장소
  • ECS Cluster: 컨테이너를 실행하기 위한 Cluster로 여러 인스턴스로 이루어집니다. 이 인스턴스에 Docker container가 분산 실행됩니다. Serverless로 할 경우에는 인스턴스도 필요가 없습니다.
  • ECS Server: Docker 애플리케이션의 실행 그룹입니다.
  • ECS Task: ECS Server에 실제로 실행되는 docker container들을 Task 라고 합니다.
  • Task definition ECS의 최소 실행단위는 “Task” 입니다. “Task”가 2개 이상 모인게 “Service” 입니다. Task는 docker 애플리케이션 이므로
    	- 어떤 Docker image로 부터
    	- 몇 개의 container를
    	- 몇 번 port로 실행 할지
    등의 애플리케이션 실행 정보가 필요합니다. 이 실행정보를 저장하고 있는게 “Task definition”입니다.

ECS Application 배포 구성도

  • 인터넷 사용자는 로드밸런서를 통해서 서비스에 접근합니다. AWS는 ELB라고 하는 완전관리형 로드밸런서 서비스를 제공하고 있습니다. ECS는 로드밸런서까지 함께 관리합니다.

  • 사용자의 요청이 80번 포트로 들어오면, ELB는 이 요청을 미리 설정한 target-group에 있는 task로 보내게 됩니다.

0개의 댓글