Amazon Elastic Container Service란 무엇입니까? - Amazon Elastic Container Service

Amazon Elastic Container Service란 무엇입니까?

Amazon Elastic Container Service(Amazon ECS)는 확장성이 뛰어나고 빠른 컨테이너 관리 서비스입니다. 이를 사용하여 클러스터에서 컨테이너를 실행, 중지 및 관리할 수 있습니다. Amazon ECS에서 컨테이너는 서비스 내 개별 태스크나 여러 태스크를 실행하는 데 사용하는 태스크 정의에 정의됩니다. 이 컨텍스트에서 서비스는 클러스터에서 지정된 수의 태스크를 동시에 실행하고 유지하는 데 사용할 수 있는 구성입니다. AWS Fargate에서 관리하는 서버를 사용하지 않는 인프라에서 태스크 및 서비스를 실행할 수 있습니다. 또는 인프라에 대한 더 세부적인 제어를 위해 관리하는 Amazon EC2 인스턴스의 클러스터에서 태스크와 서비스를 실행할 수 있습니다.

Amazon ECS는 다음 기능을 제공합니다.

  • AWS Fargate의 서버리스 옵션. AWS Fargate를 사용하면 서버를 관리하거나, 용량 계획을 처리하거나, 보안을 위해 컨테이너 워크로드를 격리할 필요가 없습니다. Fargate는 워크로드의 인프라 관리 측면을 대신 처리합니다. 리소스 요구 사항, 격리 정책 및 가용성 요구 사항을 기반으로 클러스터에서의 컨테이너 배치를 예약할 수 있습니다

  • AWS Identity and Access Management(IAM)와의 통합. 각 컨테이너에 대해 세분화된 권한을 할당할 수 있습니다. 이를 통해 애플리케이션을 구축할 때 높은 수준의 격리가 가능합니다. 즉, AWS에서 기대하는 보안 및 규정 준수 수준으로 컨테이너를 시작할 수 있습니다.

  • AWS 관리형 컨테이너 오케스트레이션 완전관리형 서비스인 Amazon ECS에는 AWS 구성과 운영 모범 사례가 내장되어 있습니다. 이는 또한 제어 영역, 노드 또는 추가 기능을 관리할 필요가 없음을 의미합니다. AWS와 Amazon Elastic Container Registry, Docker 등의 서드 파티 도구와 통합됩니다. 이러한 통합을 통해 팀은 환경이 아닌 애플리케이션 구축에 더 쉽게 집중할 수 있습니다.

  • 지속적인 통합 및 지속적인 배포(CI/CD). 이는 Docker 컨테이너를 기반으로 하는 마이크로서비스 아키텍처의 일반적인 프로세스입니다. 다음 작업을 수행하는 CI/CD 파이프라인을 생성할 수 있습니다.

    • 소스 코드 리포지토리 변경 사항 모니터링

    • 해당 소스로 새로운 Docker 이미지 빌드

    • Amazon ECR 또는 Docker Hub와 같은 이미지 리포지토리에 이미지 푸시

    • 애플리케이션에서 새로운 이미지를 사용하도록 Amazon ECS 서비스 업데이트

  • 서비스 검색 지원. 대다수 분산 시스템과 서비스 중심 아키텍처의 핵심 구성 요소입니다. 서비스 검색을 사용할 경우 마이크로서비스 구성 요소가 지정된 인프라에서 생성되고 종료되면 자동으로 검색됩니다.

  • CloudWatch Logs로 컨테이너 인스턴스 로그 정보 전송 지원. 이 정보를 Amazon CloudWatch로 전송한 후 편리한 위치에서 컨테이너 인스턴스의 로그를 볼 수 있습니다. 이렇게 하면 컨테이너 로그가 컨테이너 인스턴스의 디스크 공간을 차지하지 않습니다.

AWS 컨테이너 서비스 팀은 GitHub에 대한 퍼블릭 로드맵을 유지 관리합니다. 로드맵에는 팀이 수행하는 작업에 대한 정보가 포함되어 있으며 AWS 고객이 직접 피드백을 제공할 수 있습니다. 자세한 내용은 GitHub 웹 사이트의 AWS 컨테이너 로드맵을 참조하세요.

시작 유형

컨테이너를 실행하는 데 사용할 수 있는 두 가지 모델이 있습니다.

  • Fargate 시작 유형 - 서버리스 종량제 옵션입니다. 인프라를 관리할 필요 없이 컨테이너를 실행할 수 있습니다.

  • EC2 시작 유형 - 클러스터에서 EC2 인스턴스를 구성하고 배포하여 컨테이너를 실행합니다.

Fargate 시작 유형은 다음 워크로드에 적합합니다.

  • 낮은 오버헤드를 위해 최적화해야 하는 대규모 워크로드

  • 가끔 버스트가 발생하는 소규모 워크로드

  • 작은 워크로드

  • 배치 워크로드

EC2 시작 유형은 다음 워크로드에 적합합니다.

  • 지속적으로 높은 CPU 코어 및 메모리 사용량이 필요한 워크로드

  • 가격에 최적화되어야 하는 대규모 워크로드

  • 애플리케이션이 영구 스토리지에 액세스해야 함

  • 인프라를 직접 관리해야 함

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 Copilot - 개발자가 Amazon ECS에서 프로덕션 지원 컨테이너식 애플리케이션을 구축, 릴리스 및 운영할 수 있는 오픈 소스 도구를 제공합니다. 자세한 내용은 GitHub 웹 사이트의 AWS Copilot을 참조하세요.

  • Amazon ECS CLI - Docker Compose 파일 형식을 사용하여 Amazon ECS 및 AWS Fargate에서 애플리케이션을 실행할 수 있는 명령줄 인터페이스를 제공합니다. 리소스를 빠르게 프로비저닝하고, Amazon Elastic Container Registry를 사용해서 이미지를 풀, 푸시하고, Amazon ECS 또는 Fargate에서 실행되는 애플리케이션을 모니터링할 수 있습니다. CLI 내에서 클라우드의 컨테이너, 로컬에서 실행되는 컨테이너도 테스트할 수 있습니다. 자세한 내용은 GitHub 웹 사이트의 Amazon ECS CLI을 참조하세요.

  • AWS CDK - 익숙한 프로그래밍 언어를 사용하여 클라우드 애플리케이션 리소스를 모델링하고 프로비저닝하는 데 사용할 수 있는 오픈 소스 소프트웨어 개발 프레임워크를 제공합니다. AWS CDK는 AWS CloudFormation을 통해 안전하고 반복 가능한 방식으로 리소스를 프로비저닝합니다. 자세한 정보는 AWS CDK를 사용하여 Amazon ECS 시작하기을 참조하세요.

요금

Amazon ECS 요금은 AWS Fargate 또는 컨테이너식 워크로드를 호스팅하는 Amazon EC2 인프라의 사용 여부에 따라 달라집니다. AWS Outposts에서 Amazon ECS를 사용하는 경우 요금은 Amazon EC2를 직접 사용할 때와 동일한 모델을 따릅니다. 자세한 내용은 Amazon ECS 요금을 참조하세요.

또한 Amazon ECS와 Fargate는 AWS 사용량을 기반으로 상당한 비용 절감을 제공하는 Savings Plans를 제공합니다. 자세한 내용은 Savings Plans User Guide(Savings Plans 사용 설명서)를 참조하세요.

청구 요금은 AWS Billing and Cost Management 콘솔결제 및 비용 관리 대시보드에서 확인할 수 있습니다. 청구서에는 요금 내역을 더 자세하게 확인할 수 있는 사용 보고서 링크가 포함됩니다. AWS 계정 결제에 대한 자세한 내용은 AWS 계정 결제 섹션을 참조하세요.

AWS 결제, 계정 및 이벤트에 관련된 질문은 AWS Support에 문의하세요.

Trusted Advisor는 AWS 환경의 비용, 보안 및 성능을 최적화하는 데 도움이 될 수 있는 서비스입니다. Trusted Advisor에 대한 자세한 내용은 AWS Trusted Advisor를 참조하세요.