Amazon ECS 관리형 인스턴스 오토 스케일링 및 태스크 배치
Amazon ECS 관리형 인스턴스는 지능형 알고리즘을 사용하여 클러스터 용량을 자동으로 조정하고 인프라 전체에서 태스크를 효율적으로 배치합니다. 이러한 알고리즘의 작동 방식을 이해하면 서비스 구성을 최적화하고 배치 동작 문제를 해결하는 데 도움이 됩니다.
태스크 배치 알고리즘
Amazon ECS 관리형 인스턴스는 태스크 예약 시 가용성, 리소스 사용률 및 네트워크 요구 사항의 균형을 맞추는 정교한 배치 알고리즘을 사용합니다.
가용 영역 분산
기본적으로 Amazon ECS 관리형 인스턴스는 여러 가용 영역에 작업을 분산하여 가용성을 우선합니다.
-
여러 태스크가 있는 서비스의 경우 Amazon ECS 관리형 인스턴스는 가능한 경우 서로 다른 가용 영역에 있는 최소 3개의 인스턴스에 분산되도록 합니다.
-
이 동작은 내결함성을 제공하지만 인스턴스당 리소스 사용률이 낮아질 수 있습니다.
-
가용 영역 분산이 빈 패킹 최적화보다 우선합니다.
빈 패킹 동작
Amazon ECS 관리형 인스턴스는 빈 패킹을 수행하여 리소스 사용률을 극대화할 수 있지만 이 동작은 네트워크 구성의 영향을 받습니다.
-
빈 패킹을 수행하려면 단일 서브넷을 사용하도록 서비스를 구성합니다.
-
다중 서브넷 구성은 리소스 밀도보다 가용 영역 분산을 우선합니다.
-
빈 패킹은 조정 이벤트보다 초기 서비스 시작 중에 발생할 가능성이 더 큽니다.
ENI 밀도 고려 사항
awsvpc 네트워크 모드를 사용하는 서비스의 경우 Amazon ECS 관리형 인스턴스는 배치 결정을 내릴 때 탄력적 네트워크 인터페이스(ENI) 밀도를 고려합니다.
-
awsvpc모드의 각 태스크에는 전용 ENI가 필요합니다. -
인스턴스 유형에는 태스크 밀도에 영향을 미치는 다양한 ENI 제한이 있습니다.
-
Amazon ECS 관리형 인스턴스는 대상 인스턴스를 선택할 때 ENI 가용성을 고려합니다.
참고
배치 결정을 최적화하기 위해 ENI 밀도 계산은 지속적으로 개선됩니다.
용량 공급자 결정 로직
Amazon ECS 관리형 인스턴스 용량 공급자는 여러 요인에 따라 조정 및 배치 결정을 내립니다.
- 리소스 요구 사항
-
보류 중인 태스크의 CPU, 메모리 및 네트워크 요구 사항
- 인스턴스 가용성
-
기존 인스턴스에서 현재 용량 및 사용률
- 네트워킹 제약 조건
-
서브넷 구성 및 ENI 가용성
- 가용 영역 배포
-
여러 가용 영역에서 내결함성 유지 관리
구성 옵션
서브넷 선택 전략
서브넷 구성은 태스크 배치 동작에 상당한 영향을 미칩니다.
- 다중 서브넷(기본값)
-
고가용성을 위해 가용 영역 분산 우선순위 지정
인스턴스당 리소스 사용률이 낮아질 수 있음
내결함성이 필요한 프로덕션 워크로드에 권장됨
- 단일 서브넷
-
리소스 사용률을 높이기 위해 빈 패킹 활성화
하나의 가용 영역에 태스크를 집중시켜 내결함성 감소
개발 또는 비용 최적화 워크로드에 적합
네트워크 모드 고려 사항
선택한 네트워크 모드는 배치 결정에 영향을 미칩니다.
-
awsvpc모드 - 각 태스크에는 인스턴스당 태스크 밀도를 제한하는 전용 ENI가 필요합니다. -
host모드 - 태스크에서는 호스트의 네트워크를 직접 사용하며, 배치는 주로 리소스 가용성에 따라 결정됩니다.
CPU 아키텍처 고려 사항
태스크 정의에서 지정하는 cpuArchitecture는 특정 아키텍처에 작업을 배치하는 데 사용됩니다. cpuArchitecture를 지정하지 않으면 Amazon ECS는 용량 공급자 구성을 기반으로 사용 가능한 CPU 아키텍처에 태스크를 배치하려고 시도합니다. X86_64 또는 ARM64를 지정할 수 있습니다.
태스크 배치 문제 해결
일반적인 배치 패턴
예상 배치 패턴을 이해하면 정상적인 동작을 잠재적 문제와 구별하는 데 도움이 됩니다.
- 분산 배포
-
부분 사용률로 여러 인스턴스에 분산된 태스크
다중 서브넷 사용 시 정상 동작
리소스 효율성보다 가용성을 우선함을 표시함
- 집중 배치
-
사용률이 더 높고 더 적은 인스턴스에 배치된 여러 태스크
단일 서브넷 구성을 사용할 때 예상됨
초기 서비스 시작 중에 발생할 수 있음
- 고르지 않은 분포
-
일부 인스턴스는 활용도가 높고 다른 인스턴스는 활용도가 낮음
ENI 제한 또는 리소스 제약 조건을 나타낼 수 있음
인스턴스 유형 및 네트워크 구성 검토 고려
배치 동작 최적화
특정 요구 사항에 맞게 태스크 배치를 최적화하는 방법:
-
가용성 요구 사항과 비용 최적화 요구 사항 평가
-
우선순위에 따라 적절한 서브넷 구성 선택
-
네트워크 모드에 적합한 ENI 용량의 인스턴스 유형 선택
-
배치 패턴 모니터링 및 필요에 따라 구성 조정
모범 사례
-
프로덕션 워크로드의 경우 - 여러 가용 영역에 걸쳐 여러 서브넷을 사용하여 고가용성을 보장하고 리소스 사용률의 절충 허용
-
개발 또는 테스트의 경우 - 리소스 사용률을 극대화하고 비용을 절감하려면 단일 서브넷 구 고려
-
awsvpc모드의 경우 - 배치 제약 조건을 피하기 위해 충분한 ENI 용량이 있는 인스턴스 유형 선택 -
비용 최적화 - 사용률 패턴을 모니터링하고 서비스 구성을 조정하여 가용성과 효율성의 균형 조정
-
문제 해결 - 예상치 못한 배치 패턴을 조사할 때 서브넷 구성 및 네트워크 모드 검토