devops

마이크로 아키텍처, Amazon ECS(EC2 Container Service) 본문

DevOps/AWS

마이크로 아키텍처, Amazon ECS(EC2 Container Service)

vata500 2022. 5. 26. 22:41
반응형

마이크로서비스 아키텍처

  • 빠른개발속도 : 개발 언어 선택의 자유로움, 서비스팀의 역량으로 가능
  • 빠른 배포 속도와 병렬 배포 : 마이크로서비스간 독립적 배포 (CI/CD)
  • DevOps팀과 통합된 운영 : 서비스에 대한 오너쉽
  • 확장성과 가용성 : 
  • 비즈니스 도메인과 밀접하게 연결 : Lean 사이클

EC2 (Amazon Ec2 Container Service)

별도의 어플리케이션이 필요없는 컨테이너 운영 매니지먼트

  • 모든 규모의 컨텡너 관리
  • 유연한 컨테이너 배치
  • AWS 플랫폼과 통합

ECS 구성요소

  • 클러스터 : 작업이 실행되는 EC2 인스턴스의 함대
  • 클러스터 관리 엔진 : 클러스터 리소스 및 작업 상태 관리
  • 작업 정의 : 작업에 대한 컨테이너 및 환경의 정의
  • 스케쥴러 : 클러스터 상태를 고려한 작업 배치
  • 작업 : 인스턴스에서 실행되는 실제 컨테이너 작업
  • 에이전트 : EC2 인스턴스 및 매니저와 통신

클러스터 관리 엔진

Amazon ECS 아키텍처

ECS의 작업(Task)

  • ECS 클러스터에서 업무를 수행하는 단위
  • 관련 있는 하나 혹은 하나 이상의 컨테이너들의 모임
  • ECS 클러스터에 속하는 인스턴스에 배포

ECS의 서비스(Service)

  • 작업 정의와 작업 개수를 기반으로 클러스터 내 서비스 생성
  • 설정한 작업 개수로 컨테이너 이상 시 자동 복구
  • Elastic Load Balancing을 통해 컨테이너 부하 분산 설정
  • Auto Scaling 설정

ECS 스케줄링 - 컨테이너 배치 전략

  • Binpacking : 자원을 압축해서 최대한 절약
  • Spread : 가용성을 극대화
  • Affinity : 유연하게 운영
  • Distinct Instance : 인스턴스별로 구분지어 사용

 

반응형

'DevOps > AWS' 카테고리의 다른 글

배포 자동화와 AWS 개발자 도구  (0) 2022.06.06
YAML vs JSON vs XML  (0) 2022.05.27
AWS - Certificate Manager, IAM  (0) 2022.05.23
220520 - RDS  (0) 2022.05.20
VPC(Virtual Private Cloud), Subnet(Sub Network)  (0) 2022.05.20
Comments