전략을 사용하여 Amazon ECS 작업 배치 정의 - Amazon Elastic Container Service

전략을 사용하여 Amazon ECS 작업 배치 정의

EC2 시작 유형을 사용하는 작업의 경우 Amazon ECS는 CPU와 메모리 등 작업 정의에 지정된 요구 사항에 따라 작업 배치 위치를 결정해야 합니다. 마찬가지로 작업 수를 축소하는 경우, Amazon ECS는 어떤 태스크를 종료할지 결정해야 합니다. 작업 배치 전략과 제약을 적용하여 Amazon ECS가 태스크를 배치하고 종료하는 방법을 사용자 지정할 수 있습니다.

기본 작업 배치 전략은 작업을 수동으로 실행하는지 아니면 서비스 내에서 실행하는지에 따라 달라집니다. Amazon ECS 서비스의 일부로 실행되는 작업의 경우 기본 작업 배치 전략은 attribute:ecs.availability-zone을 사용하는 spread입니다. 서비스의 작업에는 기본 작업 배치 제약이 없습니다. 자세한 내용은 Amazon ECS에서 컨테이너 예약 단원을 참조하십시오.

참고

작업 배치 전략은 최선의 노력입니다. Amazon ECS는 가장 최적의 배치 옵션을 사용할 수 없을 경우에도 작업 배치를 계속 시도합니다. 하지만 작업 배치 제약이 적용되므로 작업 배치를 막을 수 있습니다.

작업 배치 전략과 제약을 함께 사용할 수 있습니다. 예를 들어 작업 배치 전략과 작업 배치 제약을 사용하여 가용 영역과 각 가용 영역 내의 메모리를 기반으로 하는 휴지통 팩 작업에 태스크를 분산할 수 있으나, 이는 G2 인스턴스에만 해당됩니다.

Amazon ECS는 태스크를 배치할 때 다음 프로세스를 사용하여 컨테이너 인스턴스를 선택합니다.

  1. 작업 정의의 CPU, GPU, 메모리, 포트 요구 사항을 충족하는 컨테이너 인스턴스를 식별합니다.

  2. 작업 배치 제약 조건을 충족하는 컨테이너 인스턴스를 식별합니다.

  3. 작업 배치 전략을 충족하는 컨테이너 인스턴스를 식별합니다.

  4. 작업 배치를 위해 컨테이너 인스턴스를 선택합니다.

서비스 정의에서 작업 배치 전략을 지정하거나 placementStrategy 파라미터를 사용하여 작업 정의에서 지정합니다.

"placementStrategy": [ { "field": "The field to apply the placement strategy against", "type": "The placement strategy to use" } ]

작업을 실행할 때(RunTask), 새 서비스를 생성할 때(CreateService), 또는 기존 서비스를 업데이트할 때(UpdateService) 전략을 지정할 수 있습니다.

다음 테이블에서는 사용 가능한 유형 및 필드를 설명합니다.

type 유효한 필드 값
binpack

태스크는 사용되지 않는 CPU 또는 메모리를 최소한으로 남겨둘 수 있도록 컨테이너 인스턴스에 배치됩니다. 이 전략은 사용 중인 컨테이너 인스턴스의 수를 최소화합니다.

이 전략을 사용하고 축소 작업을 수행하면 Amazon ECS가 태스크를 종료합니다. 이는 태스크가 종료된 후 컨테이너 인스턴스에 남아 있는 리소스의 양을 기준으로 합니다. 태스크 종료 후 사용 가능한 리소스가 가장 많이 남은 컨테이너 인스턴스가 해당 태스크를 종료합니다.

  • cpu

  • 메모리

random

태스크가 무작위로 배치됩니다.

사용되지 않습니다
spread

태스크가 지정된 값에 따라 균등하게 배치됩니다.

서비스 태스크는 해당 서비스의 태스크를 기준으로 분산됩니다. 독립 실행형 태스크는 동일한 작업 그룹의 태스크를 기준으로 분산됩니다. 작업 그룹에 대한 자세한 정보는 그룹 관련 Amazon ECS 작업 섹션을 참조하세요.

spread 전략이 사용되고 축소 작업이 수행되면 Amazon ECS가 가용 영역 간에 균형을 유지하도록 종료할 태스크를 선택합니다. 가용 영역 내에서 태스크가 무작위로 선택됩니다.

  • instanceId(또는 host, 효과가 동일함)

  • 컨테이너 인스턴스에 적용되는 모든 플랫폼 또는 사용자 지정 속성(예: attribute:ecs.availability-zone)

기존 서비스에 대해서도 작업 배치 전략을 업데이트할 수 있습니다. 자세한 내용은 Amazon ECS가 컨테이너 인스턴스에 작업을 배치하는 방법 단원을 참조하십시오.

전략을 수행할 순서대로 전략 배열을 생성하여 여러 전략을 사용하는 작업 배치 전략을 생성할 수 있습니다. 예를 들어 가용 영역에 작업을 분산한 다음 각 가용 영역 내의 메모리를 기반으로 하는 작업을 빈팩하려면 가용 영역 전략과 메모리 전략을 차례로 지정합니다. 예제 전략은 Amazon ECS 작업 배치 전략 예제를 참조하세요.