Amazon ECS 시작 유형(launch types)과 용량 공급자(capacity providers)

Amazon ECS 시작 유형(launch types)과 용량 공급자(capacity providers)

Amazon ECS에는 워크로드 용량을 구성하는 두 가지 방식이 있어요. 시작 유형(launch types)과 용량 공급자(capacity providers)가 그것이에요. 용량 공급자는 용량 관리에 더 뛰어난 유연성과 고급 기능을 제공하므로, 전통적인 시작 유형보다 권장되는 방식이에요.

출처: 문서

본문

Amazon ECS는 워크로드의 용량을 구성하는 두 가지 방법을 제공합니다. 시작 유형(launch types) 또는 용량 공급자(capacity providers)를 사용할 수 있습니다. 시작 유형에는 EC2, Fargate, External이 포함됩니다. 용량 공급자는 용량 관리에 향상된 유연성과 고급 기능을 제공합니다. Fargate와 Fargate Spot 용량 공급자를 사용해 서버리스 컴퓨팅에서 워크로드를 실행하거나, Auto Scaling 그룹 용량 공급자를 사용해 자체 관리형 EC2 인스턴스에서 실행하거나, Fargate의 단순함과 EC2 컴퓨팅의 유연성을 결합한 Amazon ECS Managed Instances 용량 공급자를 사용해 완전 관리형 컴퓨팅에서 실행할 수 있습니다. 용량 공급자는 리소스 할당을 더 잘 제어할 수 있고 성능과 비용을 모두 최적화하는 데 도움이 됩니다. 용량 공급자는 전통적인 시작 유형보다 워크로드 용량을 구성하는 권장 방법입니다. 다음 내용으로 용량 공급자와 시작 유형의 차이를 이해해 보세요.

모범 사례

다음은 모범 사례입니다.

시작 유형을 사용해 인프라 호환성 정의하기

시작 유형은 작업과 서비스가 실행되는 인프라를 정의합니다. 작업을 정의할 때 RequiresCompatibilities에 작업과 호환되는 시작 유형을 하나 이상 포함하세요. EC2, Fargate, External, Amazon ECS Managed Instances 시작 유형을 사용할 수 있습니다. 시작 유형을 사용해 작업이나 서비스를 실행할 수도 있지만, 시작 유형은 작업 정의에서 호환성을 정의하는 용도로만 사용하고 작업이나 서비스를 실행할 때는 용량 공급자를 사용할 것을 권장합니다. 작업의 호환성을 정의하려면 하나 이상의 시작 유형을 선택할 수 있습니다.

용량 공급자를 사용해 컴퓨팅 용량 구성하기

작업이나 서비스를 실행할 때는 용량 공급자 전략(capacity provider strategy)을 구성하세요. Amazon ECS는 다음 용량 공급자를 지원합니다: Fargate와 FARGATE_SPOT, 자체 관리형 EC2 인스턴스용 Auto Scaling 그룹, Amazon ECS Managed Instances. Spot Fleet은 시작 유형이 아닌 용량 공급자로만 사용할 수 있습니다. 클러스터에 하나 이상의 Amazon ECS Managed Instances 또는 Auto Scaling 그룹 용량 공급자를 만들 수 있습니다. Fargate와 Fargate Spot 용량 공급자는 모든 클러스터에서 Amazon ECS가 생성하고 관리하므로 직접 만들 필요가 없습니다. 클러스터에는 모든 유형의 용량 공급자를 섞어 둘 수 있지만, 용량 공급자 전략에는 서로 다른 유형의 용량 공급자를 섞을 수 없습니다.

서비스 용량 업데이트하기

서비스의 용량 공급자 전략만 업데이트하면 하나의 컴퓨팅 유형에서 다른 유형으로 이동할 수 있습니다.

서비스 변경 가능성(Service mutability)

Amazon ECS는 서로 다른 용량 공급자 사이에서 서비스를 업데이트하는 것을 지원합니다. 이를 통해 다음이 가능합니다.

  • 시작 유형에서 용량 공급자로의 원활한 업데이트
  • 서로 다른 용량 공급자 유형 간의 전환
  • 서비스를 다시 만들지 않고 다양한 컴퓨팅 옵션 테스트

다음은 이 프로세스의 개괄입니다.

  1. 작업 정의 업데이트 – requiresCompatibilities에 대상 용량 공급자(예: MANAGED_INSTANCES)가 포함되도록 하세요.
    • 참고: 작업 정의는 대상 용량 공급자에 대한 호환성 검증을 통과해야 합니다. 작업 정의 버전에 대해 requiresCompatibilities 검사가 실패하면 UpdateService 호출이 실패합니다.
  2. 용량 공급자 만들기 – 사용자 지정 Amazon EC2 Auto Scaling 그룹을 사용한다면 용량 공급자를 만드세요.
  3. 서비스 업데이트하기 – 시작 유형 대신 용량 공급자 전략을 사용하도록 서비스를 수정하세요.
  4. 배포 검증하기 – 작업이 성공적으로 배포되는지 확인하세요.
  5. 모니터링하고 최적화하기 – 필요에 따라 용량 공급자 설정을 조정하세요.

용량 공급자에서 용량 공급자로

모든 용량 공급자 간 업데이트가 지원됩니다.

  • Amazon EC2 Auto Scaling 그룹 용량 공급자에서 Amazon ECS Managed Instances로
  • Fargate 용량 공급자에서 Amazon ECS Managed Instances로
  • Amazon EC2 Auto Scaling 그룹 용량 공급자에서 Fargate 용량 공급자로
  • Amazon ECS Managed Instances에서 Fargate 용량 공급자로
  • Fargate 용량 공급자에서 Amazon EC2 Auto Scaling 그룹 용량 공급자로
  • Amazon ECS Managed Instances에서 Amazon EC2 Auto Scaling 그룹 용량 공급자로

시작 유형에서 용량 공급자로

모든 시작 유형에서 용량 공급자로의 업데이트가 지원됩니다.

  • EC2 시작 유형에서 Amazon ECS Managed Instances로
  • Fargate 시작 유형에서 Amazon ECS Managed Instances로
  • EC2 시작 유형에서 Fargate 용량 공급자로
  • EC2 시작 유형에서 EC2 Auto Scaling 그룹 용량 공급자로
  • Fargate 시작 유형에서 Amazon EC2 Auto Scaling 그룹 용량 공급자로
  • Fargate 시작 유형에서 Fargate 용량 공급자로
  • External 시작 유형에서 Amazon ECS Managed Instances로
  • External 시작 유형에서 Fargate 용량 공급자로
  • External 시작 유형에서 Amazon EC2 Auto Scaling 그룹 용량 공급자로

시작 유형에서 시작 유형으로

시작 유형 간 업데이트는 지원되지 않습니다.

  • EC2 시작 유형에서 Fargate 시작 유형으로(대신 Fargate 용량 공급자를 사용하세요)
  • Fargate 시작 유형에서 EC2 시작 유형으로(대신 Amazon EC2 Auto Scaling 그룹 용량 공급자를 사용하세요)

시작 유형 간에 마이그레이션하는 대신, 향상된 기능과 향후 호환성을 위해 동등한 용량 공급자로 마이그레이션하세요.

용량 공급자에서 시작 유형으로

용량 공급자에서 시작 유형으로의 업데이트는 지원되지 않습니다. 처음에 시작 유형으로 서비스를 만들었다가 나중에 용량 공급자를 사용하도록 서비스를 업데이트했다면, 서비스를 원래 시작 유형으로 되돌릴 수 있습니다. 되돌리려면 UpdateService를 호출할 때 capacityProviderStrategy에 빈 목록을 전달하세요.

  • 참고: 이 방식은 서비스가 처음 생성될 때 지정된 시작 유형으로만 되돌립니다. 이 방법으로 서비스를 다른 시작 유형으로 전환할 수는 없습니다.

더 알아보기 (Learn more)