Amazon ECS 작업 배치 제약 조건 예제 - Amazon Elastic Container Service

Amazon ECS 작업 배치 제약 조건 예제

다음은 작업 배치 제약 예제입니다.

이 예제에서는 memberOf 제약 조건을 사용하여 t2 인스턴스에 작업을 배치합니다. 다음 작업 CreateService, UpdateService, RegisterTaskDefinitionRunTask로 지정할 수 있습니다.

"placementConstraints": [ { "expression": "attribute:ecs.instance-type =~ t2.*", "type": "memberOf" } ]

이 예제에서는 memberOf 제약을 사용하여 대몬(daemon) 서비스 daemon-service 작업 그룹의 다른 작업과 함께 인스턴스에 복제본 작업을 배치하고, 함께 지정된 모든 작업 배치 전략도 적용합니다. 이 제약으로 인해 대몬(daemon) 서비스 작업이 복제 서비스 작업보다 먼저 EC2 인스턴스에 배치됩니다.

daemon-service를 대몬(daemon) 서비스 이름으로 바꿉니다.

"placementConstraints": [ { "expression": "task:group == service:daemon-service", "type": "memberOf" } ]

이 예제에서는 memberOf 제약을 사용하여 지정된 모든 작업 배치 전략을 적용한 databases 작업 그룹의 다른 태스크와 함께 인스턴스에 태스크를 배치합니다. 작업 그룹에 대한 자세한 내용은 그룹 관련 Amazon ECS 작업 섹션을 참조하세요. 다음 작업 CreateService, UpdateService, RegisterTaskDefinitionRunTask로 지정할 수 있습니다.

"placementConstraints": [ { "expression": "task:group == databases", "type": "memberOf" } ]

distinctInstance 제약은 그룹의 각 태스크를 서로 다른 인스턴스에 배치합니다. 다음 작업 CreateService, UpdateServiceRunTask로 지정할 수 있습니다.

Amazon ECS는 작업 배치를 위해 원하는 작업 상태를 확인합니다. 예를 들어 기존 작업의 원하는 상태가 STOPPED인 경우(하지만 마지막 상태는 그렇지 않음), distinctInstance 배치 제약에도 불구하고 새로 들어오는 작업을 동일한 인스턴스에 배치할 수 있습니다. 따라서 동일한 인스턴스에 마지막 RUNNING 상태인 작업 2개가 표시될 수 있습니다.

"placementConstraints": [ { "type": "distinctInstance" } ]