Amazon ECS가 컨테이너 인스턴스에 작업을 배치하는 방법 - Amazon Elastic Container Service

Amazon ECS가 컨테이너 인스턴스에 작업을 배치하는 방법

작업 배치를 사용하여 특정 기준(예: 가용 영역 또는 인스턴스 유형)을 충족하는 컨테이너 인스턴스에 작업을 배치하도록 Amazon ECS를 구성할 수 있습니다.

다음은 작업 배치 구성 요소입니다.

  • 작업 배치 전략 - 작업을 배치할 컨테이너 인스턴스 또는 종료할 작업을 선택하는 알고리즘입니다. 예를 들어 Amazon ECS는 무작위로 컨테이너 인스턴스를 선택하거나 인스턴스 그룹에 작업이 균등하게 배분되도록 컨테이너 인스턴스를 선택할 수 있습니다.

  • 작업 그룹 - 관련 작업 그룹(예: 데이터베이스 작업)입니다.

  • 작업 배치 제약 조건 - 컨테이너 인스턴스에 작업을 배치하기 위해 충족해야 하는 규칙입니다. 제약 조건이 충족되지 않으면 작업이 배치되지 않고 PENDING 상태로 유지됩니다. 예를 들어 제약 조건을 사용하여 특정 인스턴스 유형에만 작업을 배치할 수 있습니다.

Amazon ECS는 시작 유형에 따라 여러 알고리즘을 사용합니다.

EC2 시작 유형

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. 작업 배치를 위해 컨테이너 인스턴스를 선택합니다.

Fargate 시작 유형

Fargate 시작 유형을 사용하는 태스크에 대해서는 작업 배치 전략 및 제약이 지원되지 않습니다. Fargate는 액세스 가능한 가용 영역 전체에 작업을 분산시키기 위해 최선을 다합니다. 용량 공급자에 Fargate와 Fargate 스팟이 모두 포함되는 경우 분산 동작은 용량 공급자마다 독립적입니다.