태스크 배치 전략(Task placement strategies)
태스크 배치 전략(Task placement strategies)
Amazon ECS 태스크 배치 전략은 EC2 실행 유형을 사용할 때 태스크를 컨테이너 인스턴스에 배치하는 방법을 결정해요. 전략과 제약 조건을 이해하고 태스크 배치를 최적화해요.
출처: 문서
본문
Amazon ECS에서는 태스크 배치 전략과 제약 조건을 사용해 태스크가 어떤 컨테이너 인스턴스에 배치될지 제어할 수 있어요. 이는 EC2 실행 유형을 사용할 때 적용되며 Fargate에는 적용되지 않아요.
태스크 배치 제약 조건(Task placement constraints)
배치 제약 조건은 태스크를 배치할 수 있는 인스턴스를 제한해요:
- distinctInstance – 각 태스크를 서로 다른 인스턴스에 배치.
- memberOf – 특정 쿼리(예: 인스턴스 속성)와 일치하는 인스턴스에만 배치.
태스크 배치 전략(Task placement strategies)
배치 전략은 태스크 배치를 가장 잘 수행할 인스턴스를 선택하는 방법을 정의해요:
- spread – 지정된 필드(예:
attribute:ecs.availability-zone)의 값을 기반으로 태스크를 균등하게 분산. - binpack – CPU나 메모리 같은 지정된 리소스를 기준으로 태스크를 최대한 밀집 배치해 인스턴스 활용도를 높임.
- random – 태스크를 무작위로 배치.
여러 전략을 조합해 사용할 수 있으며, 전략의 순서에 따라 적용 우선순위가 결정돼요.
예시(CLI):
--placement-strategy "type=binpack,field=memory"
태스크 배치 전략을 적절히 사용하면 인스턴스 활용도를 최적화하고 장애 도메인에 걸쳐 워크로드를 분산할 수 있어요.