Amazon Elastic Container Service(Amazon ECS)는 컨테이너 애플리케이션을 쉽게 배포, 관리 및 확대할 수 있도록 도와주는 완전 관리형 컨테이너 오케스트레이션 서비스입니다. 완전 관리형 서비스인 Amazon ECS에는 AWS 구성과 운영 모범 사례가 내장되어 있습니다. Amazon Elastic Container Registry와 같은 AWS 도구 및 Docker와 같은 서드파티 도구와 통합됩니다. 이러한 통합을 통해 환경이 아닌 애플리케이션 구축에 더욱 집중할 수 있습니다. 컨트롤 플레인을 관리하는 복잡한 과정 없이 클라우드의 AWS 리전와 온프레미스에서 컨테이너 워크로드를 실행하고 확장할 수 있습니다.
용어 및 구성 요소
Amazon ECS에는 세 가지 계층이 있습니다.
-
용량 - 컨테이너가 실행되는 인프라입니다.
-
컨트롤러 - 컨테이너에서 실행되는 애플리케이션을 배포하고 관리합니다.
-
프로비저닝 - 스케줄러와 함께 애플리케이션 및 컨테이너를 배포 및 관리하는 데 사용할 수 있는 도구입니다.
다음 다이어그램은 Amazon ECS 계층을 나타냅니다.

용량은 컨테이너가 실행되는 인프라입니다. 다음은 용량 옵션에 대한 개요입니다.
-
AWS 클라우드의 Amazon EC2 인스턴스
인스턴스 유형, 인스턴스 수를 선택하고 용량을 관리합니다.
-
AWS 클라우드의 서버리스(AWS Fargate)
Fargate는 서버리스 종량제 컴퓨팅 엔진입니다. Fargate를 사용하면 서버를 관리하거나, 용량 계획을 처리하거나, 보안을 위해 컨테이너 워크로드를 격리할 필요가 없습니다.
-
온프레미스 가상 머신(VM) 또는 서버
Amazon ECS Anywhere는 외부 인스턴스(예: 온프레미스 서버 또는 가상 머신(VM))을 Amazon ECS 클러스터에 등록하도록 지원합니다.
Amazon ECS 스케줄러는 애플리케이션을 관리하는 소프트웨어입니다.
Features
Amazon ECS는 다음의 대략적인 기능을 제공합니다.
- 태스크 정의
-
애플리케이션의 블루프린트입니다.
- 클러스터
-
애플리케이션이 실행되는 인프라입니다.
- Task
-
작업을 수행한 다음 중지하는 배치 작업 같은 애플리케이션입니다.
- Service
-
장기 실행되는 상태 비저장 애플리케이션입니다.
- 계정 설정
-
기능에 대한 액세스를 허용합니다.
- 클러스터 Auto Scaling
-
Amazon ECS는 클러스터에 등록된 Amazon EC2 인스턴스의 규모 조정을 관리합니다.
- 서비스 오토 스케일링
-
Amazon ECS는 서비스에서 원하는 태스크 수를 자동으로 늘리거나 줄입니다.
프로비저닝
Amazon ECS를 프로비저닝하기 위한 여러 가지 옵션이 있습니다.
-
AWS Management Console - Amazon ECS 리소스 액세스에 사용할 수 있는 웹 인터페이스를 제공합니다.
-
AWS Command Line Interface(AWS CLI) - Amazon ECS를 포함하여 다양한 AWS 서비스에 대한 명령을 제공합니다. Windows, Mac, Linux에서 지원됩니다. 자세한 정보는 AWS Command Line Interface
을 참조하세요. -
AWS SDK - 언어별 API를 제공하고 많은 연결 세부 정보를 처리합니다. 서명 계산, 요청 재시도 처리 및 오류 처리가 여기에 포함됩니다. 자세한 내용은 AWS SDK
를 참조하십시오. -
AWS CDK - 익숙한 프로그래밍 언어를 사용하여 클라우드 애플리케이션 리소스를 모델링하고 프로비저닝하는 데 사용할 수 있는 오픈 소스 소프트웨어 개발 프레임워크를 제공합니다. AWS CDK는 AWS CloudFormation을 통해 안전하고 반복 가능한 방식으로 리소스를 프로비저닝합니다.
관련 서비스
Amazon ECS와 함께 사용할 서비스
다른 AWS 서비스를 사용하여 Amazon ECS에 태스크 및 서비스를 배포할 수 있습니다.
- Amazon EC2 Auto Scaling
-
애플리케이션의 로드를 처리할 수 있는 정확한 수의 Amazon EC2 인스턴스를 유지하는 데 도움이 됩니다.
- Amazon CloudWatch
-
서비스 및 태스크를 모니터링합니다.
- Amazon Elastic 컨테이너 레지스트리
-
컨테이너 이미지를 저장하고 관리합니다.
- Elastic Load Balancing
-
수신 서비스 트래픽을 자동으로 분산합니다.
- Amazon GuardDuty
-
컨테이너 인스턴스 및 워크로드의 잠재적 무단 사용 또는 악의적 사용을 탐지합니다.