0

인스턴스 유형이 A 인 컨테이너 인스턴스로 구성된 ECS 클러스터가 있는데 그 인스턴스는 t2.small입니다. 클러스터는 여러 서비스를 실행하는 여러 시스템으로 구성됩니다. 이제, 나는 다른 서비스/태스크보다 훨씬 더 많은 CPU/메모리를 필요로하는 새로운 서비스/태스크 ("GreatRequirements"라고 부를 수 있음)를 갖게 될 것입니다. 나는 하나의 커다란 머신을 부팅 할 수 있기를 원한다. (클러스터를 "LargeMachine"이라 부름) 다른 태스크는 결코 배치되지 않는다. 그래서 클러스터의이 머신은 항상 나의 "GreatRequirements"서비스에 사용 가능하다.특정 컨테이너 인스턴스에서 작업 시작을 방지하는 방법

다른 서비스/작업을 "GreatRequirements"가 아닌 해당 컴퓨터에서 예약하지 못하게하는 방법이 있습니까? 그렇다면 다른 서비스/작업에 대해 palcement 제약 조건을 적용하는 방법이 있습니까? ECS 양식은 "LargeMachine"에 다른 서비스/작업을 배치하므로 소규모 서비스/작업으로 인해 "GreatRequirements"서비스가 작업을 시작할 수 없게되는 상황에 처하게됩니다. 왜냐하면 충분한 CPU/메모리.

감사합니다.

답변

0

작업의 배치 전략/제약 조건을 사용할 수 있습니다.

예를 들어가 내장 같은 속성 :

  1. ecs.availability 존 (예를 들어 유럽 연합 (EU) - 서-1A)
  2. ecs.instance 형 (예 : t2.small)
  3. 을 : ecs.ami-ID (AMI-XXXXXX)
  4. ecs.os 형 (예를 들어, 리눅스) 당신의 작업 정의 (작업 배치 섹션)에서

당신과 같은 제약 조건이 있습니다이 작업은 항상 t2.medium에서 실행됩니다.

내 ECS 컨테이너 인스턴스에서 사용자 정의 태그를 사용하고 싶습니다. (클러스터 -> ECS 인스턴스 선택 -> EC2 -> 작업 클릭 - 속성보기/편집을 클릭하고 Name = SomeName, Value = GreatRequirements와 같은 사용자 정의 속성을 추가하십시오. "

그리고 제한 사항으로 작업 정의에서 다음을 가질 수 있습니다 : attribute:SomeName == GreatRequirements 및 그 커스텀 애트리뷰트는 항상 사용자 정의 애트리뷰트 ``attribute : SomeName! = GreatRequirements`을 가지고 ec2에서 실행되며, 해당 커스텀 애트리뷰트를 가진 ec2 인스턴스에서는 결코 실행되지 않을 것입니다.

그리고 그 속성에 대해 더 많은 작업을하려면 이것을 확인하십시오. Operation on attributes

희망이 도움말.

+0

하지만 "LargeMachine"에서 다른 작업을 실행하도록 예약하지는 못하며, 해당 컴퓨터에서 사용 가능한 충분한 CPU/메모리가없는 경우가 발생할 수 있습니다. –

+0

다른 작업을 막을 수있는 해결책 : 다른 모든 작업에 제약 조건 (예 : attribute : ecs.instance-type == t2)이있을 수 있습니다.작은 "을 사용하면 대형 시스템에서 실행되지 않거나 클러스터를 2 개의 클러스터 (보통 태스크 용과 GreatRequirements 용)로 나눌 수 있습니다. 새 클러스터에서는 대규모 시스템을 가지고 작업 (GreatRequirements)이 해당 시스템에서 실행되도록 예약합니다. – Gigapalmer

+0

이 경우에는 생략해야하는 모든 다른 서비스/태스크에 대한 제약 조건을 설정해야합니다. 나는 모든 인스턴스에 대한 인스턴스 유형을 "GreatRequirements"로 서비스를 처리 할 수있는 유형으로 변경하는 것 이외에 실제로 좋은 해결책이 없다고 생각합니다. 서비스가 불충분하기 때문에 작업을 예약 할 수 없을 때 어떻게 든 감지합니다. cpu/memory에 저장하고 추가 인스턴스를이를 기반으로 클러스터에 확장 할 수 있습니다. 어쨌든 도움을 주셔서 감사합니다 Gigapalmer :-) –

0

"GreatRequirements"로 서비스를 처리 할 수있는 유형으로 모든 인스턴스의 인스턴스 유형을 변경하는 것 외에 다른 좋은 해결책이 없다고 생각합니다. 서비스가 CPU/메모리가 충분하지 않기 때문에 작업을 수행하고이를 기반으로 클러스터에 추가 인스턴스를 확장 할 수 있습니다.