이 모듈에서는 Amazon Elastic Container Service(Amazon ECS)를 사용하여 EC2 컴퓨팅 인스턴스의 관리형 클러스터를 인스턴스화하고 클러스터에서 실행되는 컨테이너로서 이미지를 배포합니다. 구축 시작

a. 클라이언트
클라이언트가 포트 80을 통해 로드 밸런서로 요청을 보냅니다.
b. 로드 밸런서
로드 밸런서가 사용 가능한 모든 포트로 요청을 분산합니다.
c. 대상 그룹
애플리케이션의 대상 그룹에 인스턴스가 등록됩니다.
d. 컨테이너 포트
각 컨테이너에서 node.js 클러스터 상위 항목을 네임스페이스의 포트 80에 바인딩하는 단일 애플리케이션 프로세스를 실행합니다.
e. 컨테이너식 node.js Monolith
node.js 클러스터 상위 항목은 모놀리식 애플리케이션 내의 여러 작업자로 트래픽을 분산하는 역할을 합니다. 이 아키텍처는 컨테이너화되어 있지만 각 컨테이너에 나머지 컨테이너와 동일한 기능이 모두 있다는 점에서 모놀리식이기도 합니다.
Amazon Elastic Container Service(Amazon ECS)는 확장성과 성능이 뛰어나며 Docker 컨테이너를 지원하는 컨테이너 관리 서비스로서, 이 서비스를 사용하여 Amazon EC2 인스턴스의 관리형 클러스터에서 애플리케이션을 손쉽게 실행할 수 있습니다. 간단한 API 호출로 Docker 지원 애플리케이션을 시작 및 중단하고, 클러스터의 전체 상태를 쿼리하며, 보안 그룹, Elastic Load Balancing, EBS 볼륨, IAM 역할 등 여러 익숙한 기능에 액세스할 수 있습니다.
리소스 필요 사항과 가용성 요구 사항에 따라 클러스터 전체에 컨테이너를 배치할 일정을 수립하는 데에도 Amazon ECS를 사용할 수 있습니다. 또는 비즈니스나 애플리케이션의 특정 요구 사항에 맞도록 자체 스케줄러나 서드파티 스케줄러를 통합할 수 있습니다.
Amazon ECS 사용에 따른 추가 요금은 없습니다. 애플리케이션을 저장하고 실행하기 위해 생성한 AWS 리소스(예: EC2 인스턴스 또는 EBS 볼륨)에 대한 비용만 지불하면 됩니다.