Amazon ECS 클러스터 - Amazon Elastic Container Service

Amazon ECS 클러스터

Amazon ECS 클러스터는 컨테이너화된 애플리케이션에 인프라 용량을 제공하는 태스크 또는 서비스의 논리적 그룹입니다. 클러스터를 생성할 때 각기 다른 사용 사례 및 운영 요구 사항에 맞게 최적화된 세 가지 기본 인프라 유형 중에서 선택합니다.

올바른 클러스터 유형 선택

Amazon ECS는 클러스터에 세 가지 인프라 유형을 제공합니다. 워크로드 요구 사항, 운영 기본 설정 및 비용 최적화 목표에 가장 적합한 유형을 선택합니다.

Amazon ECS 관리형 인스턴스(권장)

대부분의 워크로드에 가장 적합 - AWS는 프로비저닝, 패치 적용 및 규모 조정을 포함하여 기본 Amazon EC2 인스턴스를 완전히 관리합니다. 이 옵션은 성능, 비용 효율성 및 운영 단순성의 최적의 균형을 제공합니다.

사용 상황

  • AWS를 통해 인프라 관리를 처리하려는 경우

  • 자동 최적화를 통한 비용 효율적인 컴퓨팅이 필요한 경우

  • 인프라가 아닌 애플리케이션에 집중하려는 경우

  • 유연한 조정을 통해 예측 가능한 성능이 필요한 경우

Fargate

서버리스 컴퓨팅 - 인프라 관리 없이 태스크가 사용하는 리소스에 대해서만 비용을 지불합니다. 가변 워크로드 및 빠른 시작에 적합합니다.

사용 상황

  • 완전한 서버리스 작업을 원하는 경우

  • 예측할 수 없거나 가변적인 워크로드가 있는 경우

  • 운영 오버헤드를 최소화하려는 경우

  • 빠른 배포 및 확장이 필요한 경우

Amazon EC2 인스턴스

전체 제어 - 인스턴스 선택, 구성 및 유지 관리를 포함하여 기본 Amazon EC2 인스턴스를 직접 관리합니다.

사용 상황

  • 특정 인스턴스 유형 또는 구성이 필요한 경우

  • 활용할 기존 Amazon EC2 인프라가 있는 경우

  • 사용자 지정 AMI 또는 특수 소프트웨어가 필요한 경우

  • 기본 인프라를 최대한 제어해야 하는 경우

참고

Amazon ECS 관리형 인스턴스는 AWS에서 인프라 관리 태스크를 처리할 수 있도록 하면서 성능, 비용 최적화 및 운영 단순성에 대한 최상의 조합을 제공하므로 대부분의 새 워크로드에 권장되는 선택입니다.

클러스터 구성 요소

인프라 용량 외에도 클러스터는 다음 리소스로 구성됩니다.

  • 작업과 서비스가 실행되는 네트워크(VPC 및 서브넷)

    용량으로 Amazon ECS 관리형 인스턴스 또는 Amazon EC2 인스턴스를 사용하는 경우 서브넷은 가용 영역, 로컬 영역, Wavelength 영역 또는 AWS Outposts에 있을 수 있습니다.

  • 선택적 네임스페이스

    네임스페이스는 Service Connect와의 서비스 간 통신에 사용됩니다.

  • 모니터링 옵션

    CloudWatch Container Insights는 추가 비용이 발생하며 완전 관리형 서비스입니다. 이 서비스는 Amazon ECS 지표 및 로그를 자동으로 수집, 집계 및 요약합니다.

클러스터 개념

다음은 Amazon ECS 클러스터에 관한 일반 개념입니다.

  • 클러스터를 생성하여 리소스를 분리합니다.

  • 클러스터는 AWS 리전별로 고유합니다.

  • 클러스터는 다음 상태 중 하나일 수 있습니다.

    ACTIVE

    클러스터는 해당하는 태스크에 적용될 준비가 되었으며, 클러스터로 컨테이너 인스턴스를 등록할 수 있습니다.

    PROVISIONING

    클러스터에 연결된 용량 공급자가 있으며 용량 공급자에게 필요한 리소스가 생성 중입니다.

    DEPROVISIONING

    클러스터에 연결된 용량 공급자가 있으며 용량 공급자에게 필요한 리소스를 삭제 중입니다.

    FAILED

    클러스터에 연결된 용량 공급자가 있으며 용량 공급자에게 필요한 리소스를 생성하는 데 실패했습니다.

    INACTIVE

    클러스터가 삭제되었습니다. INACTIVE 상태인 클러스터는 일정 기간 동안 계정에서 검색 가능한 상태로 유지될 수 있습니다. 이 동작은 향후 변경될 수 있으므로 INACTIVE 클러스터가 지속되는 상태에 의존해서는 안 됩니다.

  • 클러스터에는 Amazon ECS 관리형 인스턴스, AWS Fargate, Amazon EC2 인스턴스 또는 외부 인스턴스에서 호스팅되는 태스크가 혼합되어 포함될 수 있습니다. 태스크는 시작 유형 또는 용량 공급자 전략으로 Amazon ECS 관리형 인스턴스, Fargate 또는 EC2 인프라에서 실행될 수 있습니다. EC2 용량 공급자를 사용하는 경우 Amazon ECS는 Amazon EC2 Auto Scaling 그룹의 용량을 추적하거나 규모를 조정하지 않습니다.

  • 클러스터에는 Amazon ECS 관리형 인스턴스 용량 공급자, Amazon EC2 Auto Scaling 그룹 용량 공급자 및 Fargate 용량 공급자가 혼합되어 포함될 수 있습니다. 용량 공급자 전략에는 Amazon ECS 관리형 인스턴스 용량 공급자, Amazon EC2 Auto Scaling 그룹 용량 공급자 또는 Fargate 용량 공급자만 포함될 수 있습니다.

  • Amazon ECS 관리형 인스턴스 및 EC2 또는 Amazon EC2 Auto Scaling 그룹 용량 공급자에 대해 여러 인스턴스 유형을 사용할 수 있습니다. 인스턴스는 한 번에 하나의 클러스터에만 등록할 수 있습니다.

  • 사용자 지정 IAM 정책을 생성하여 클러스터에 대한 액세스를 제한할 수 있습니다. 자세한 정보는 Amazon Elastic Container Service의 자격 증명 기반 정책 예Amazon ECS 클러스터 예제 섹션을 참조하세요.

  • Service Auto Scaling을 사용하여 Fargate 태스크의 규모를 조정할 수 있습니다. 자세한 내용은 Amazon ECS 서비스 자동 조정 섹션을 참조하세요.

  • 클러스터에 대한 기본 Service Connect 네임스페이스를 구성할 수 있습니다. 기본 Service Connect 네임스페이스를 설정한 후 Service Connect를 켜서 네임스페이스의 클라이언트 서비스로 클러스터에 생성된 모든 새 서비스를 추가할 수 있습니다. 추가 구성은 필요하지 않습니다. 자세한 내용은 Service Connect를 사용하여 짧은 이름으로 Amazon ECS 서비스 연결 섹션을 참조하세요.

용량 공급자

Amazon ECS 용량 공급자는 클러스터의 작업에 대한 인프라의 조정을 관리할 수 있습니다. 각 클러스터에는 하나 이상의 용량 공급자와 하나의 선택적 용량 공급자 전략이 있을 수 있습니다. 클러스터에 기본 용량 공급자 전략을 할당할 수 있습니다. 용량 공급자 전략은 태스크가 클러스터의 용량 공급자에 분배되는 방식을 결정합니다. 표준 실행 작업을 실행하거나 서비스를 생성할 때 클러스터의 기본 용량 공급자 전략 또는 기본 전략을 재정의하는 용량 공급자 전략을 사용할 수 있습니다. 클러스터의 기본 용량 공급자 전략은 태스크 또는 서비스에 대한 시작 유형 또는 용량 공급자 전략을 지정하지 않은 경우에만 적용됩니다. 이러한 파라미터 중 하나를 제공하면 기본 전략이 사용되지 않습니다.

Amazon ECS는 클러스터에 대해 세 가지 유형의 용량 공급자를 제공합니다.

Amazon ECS 관리형 인스턴스 용량 공급자

AWS는 프로비저닝, 패치 적용, 규모 조정 및 수명 주기 관리를 포함하여 기본 Amazon EC2 인스턴스를 완전히 관리합니다. 이를 통해 성능, 비용 효율성 및 운영 단순성에서 최적의 균형을 확보할 수 있습니다. Amazon ECS 관리형 인스턴스 용량 공급자는 워크로드 요구 사항에 따라 인스턴스 선택 및 규모 조정을 자동으로 최적화합니다.

Amazon ECS 관리형 인스턴스를 사용하면 다음과 같은 이점을 얻을 수 있습니다.

  • 자동 인스턴스 프로비저닝 및 조정

  • 관리형 패치 적용 및 보안 업데이트

  • 지능형 인스턴스 선택을 통한 비용 최적화

  • 운영 오버헤드 감소

Fargate 용량 공급자

인프라 관리 없이 태스크가 사용하는 리소스에 대해서만 비용을 지불하는 서버리스 컴퓨팅. 사전 정의된 용량 공급자(Fargate 및 Fargate 스팟)를 클러스터에 연결하기만 하면 됩니다.

Amazon EC2 Auto Scaling 그룹 용량 공급자

용량으로 Amazon EC2 인스턴스를 사용하는 경우 Amazon EC2 Auto Scaling 그룹을 사용하여 Amazon EC2 인스턴스를 관리합니다. Amazon EC2 Auto Scaling은 애플리케이션 로드를 처리하는 데 사용할 수 있는 Amazon EC2 인스턴스의 정확한 수를 확보하는 데 도움이 됩니다. 기본 인프라를 완전히 제어할 수 있습니다.

클러스터에는 Amazon ECS 관리형 인스턴스, AWS Fargate, Amazon EC2 인스턴스 또는 외부 인스턴스에서 호스팅되는 태스크가 혼합되어 포함될 수 있습니다. 태스크는 시작 유형 또는 용량 공급자 전략으로 Amazon ECS 관리형 인스턴스, Fargate 또는 EC2 인프라에서 실행될 수 있습니다. EC2를 시작 유형으로 사용하는 경우 Amazon ECS는 Amazon EC2 Auto Scaling 그룹의 용량을 추적하거나 규모를 조정하지 않습니다.

클러스터에는 Amazon ECS 관리형 인스턴스 용량 공급자, Amazon EC2 Auto Scaling 그룹 용량 공급자 및 Fargate 용량 공급자가 혼합되어 포함될 수 있습니다. 용량 공급자 전략에는 Amazon ECS 관리형 인스턴스 용량 공급자, Amazon EC2 Auto Scaling 그룹 용량 공급자 또는 Fargate 용량 공급자만 포함될 수 있습니다.