Amazon ECS 관리형 인스턴스 오토 스케일링 및 태스크 배치 - Amazon Elastic Container Service

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 제한 또는 리소스 제약 조건을 나타낼 수 있음

인스턴스 유형 및 네트워크 구성 검토 고려

배치 동작 최적화

특정 요구 사항에 맞게 태스크 배치를 최적화하는 방법:

  1. 가용성 요구 사항과 비용 최적화 요구 사항 평가

  2. 우선순위에 따라 적절한 서브넷 구성 선택

  3. 네트워크 모드에 적합한 ENI 용량의 인스턴스 유형 선택

  4. 배치 패턴 모니터링 및 필요에 따라 구성 조정

모범 사례

  • 프로덕션 워크로드의 경우 - 여러 가용 영역에 걸쳐 여러 서브넷을 사용하여 고가용성을 보장하고 리소스 사용률의 절충 허용

  • 개발 또는 테스트의 경우 - 리소스 사용률을 극대화하고 비용을 절감하려면 단일 서브넷 구 고려

  • awsvpc 모드의 경우 - 배치 제약 조건을 피하기 위해 충분한 ENI 용량이 있는 인스턴스 유형 선택

  • 비용 최적화 - 사용률 패턴을 모니터링하고 서비스 구성을 조정하여 가용성과 효율성의 균형 조정

  • 문제 해결 - 예상치 못한 배치 패턴을 조사할 때 서브넷 구성 및 네트워크 모드 검토