Amazon ECS 클러스터 예약 지표 - Amazon Elastic Container Service

Amazon ECS 클러스터 예약 지표

클러스터 예약 지표는 클러스터의 각 활성 컨테이너 인스턴스에 대해 등록된 전체 CPU, 메모리 및 GPU를 기준으로 클러스터의 모든 Amazon ECS 작업에 의해 예약된 CPU, 메모리 및 GPU의 백분율로 측정됩니다. ACTIVE 또는 DRAINING 상태의 컨테이너 인스턴스만 클러스터 예약 지표에 영향을 줍니다. 이 지표는 EC2 인스턴스에서 호스팅된 작업 또는 서비스가 있는 클러스터에서만 사용됩니다. AWS Fargate에 작업이 호스팅된 클러스터에서는 지원되지 않습니다.

(Total CPU units reserved by tasks in cluster) x 100 Cluster CPU reservation = -------------------------------------------------------------- (Total CPU units registered by container instances in cluster)
(Total MiB of memory reserved by tasks in cluster x 100) Cluster memory reservation = ------------------------------------------------------------------ (Total MiB of memory registered by container instances in cluster)
(Total GPUs reserved by tasks in cluster x 100) Cluster GPU reservation = ------------------------------------------------------------------ (Total GPUs registered by container instances in cluster)

클러스터에서 태스크를 실행하면 Amazon ECS가 해당 태스크 정의를 구문 분석하고 컨테이너 정의에서 지정된 전체 CPU 단위, 메모리(MiB) 및 GPU를 예약합니다. 1분 단위로 Amazon ECS가 현재 클러스터에서 실행 중인 각 작업에 대해 예약된 CPU 단위, 메모리 MiB 및 GPU를 계산합니다. 클러스터에서 실행 중인 모든 작업에 대해 예약된 전체 CPU, 메모리 및 GPU가 계산되며, 해당 수치는 클러스터의 전체 등록 리소스에 대한 백분율로 CloudWatch에 보고됩니다. 작업 정의에서 소프트 제한(memoryReservation)을 지정하면 이는 예약된 메모리의 양을 계산하는 데 사용됩니다. 그렇지 않으면 하드 제한(memory)이 사용됩니다. 클러스터의 작업에 의해 예약된 총 메모리 MiB에는 임시 파일 시스템(tmpfs) 볼륨 크기 및 sharedMemorySize(작업 정의에 정의된 경우)도 포함됩니다. 하드 및 소프트 제한, 공유 메모리 크기 및 tmpfs 볼륨 크기에 대한 자세한 정보는 Task Definition Parameters를 참조하세요.

예를 들어 클러스터에 2개의 활성 컨테이너 인스턴스 c4.4xlarge 인스턴스 및 c4.large 인스턴스가 등록되어 있습니다. c4.4xlarge 인스턴스는 16,384개 CPU 단위와 30,158MiB 및 메모리로 클러스터에 등록되어 있습니다. c4.large 인스턴스는 2,048개 CPU 단위와 3,768MiB 메모리로 등록되어 있습니다. 이 클러스터의 전체 리소스는 18,432개 CPU 단위와 33,926MiB 메모리입니다.

태스크 정의가 1,024개 CPU 단위와 2,048MiB 메모리를 예약하고 이 클러스터에서 이 태스크 정의로 10개의 작업이 시작될 경우(현재 실행 중인 다른 태스크는 없음) 총 10,240개의 CPU 단위와 20,480MiB의 메모리가 예약되며 이러한 수치는 클러스터에 대한 55% CPU 예약 및 60% 메모리 예약으로 CloudWatch에 보고됩니다.

다음 그림은 클러스터의 총 등록 CPU 단위와 CPU 단위 예약 및 사용이 기존 태스크와 새 작업 배치에 어떤 의미를 갖는지 보여줍니다. 하단(예약됨, 사용됨) 및 중간(예약됨, 사용되지 않음) 블록은 클러스터에서 실행 중인 기존 작업에 대해 예약된 전체 CPU 단위, 즉 CPUReservation CloudWatch 지표를 나타냅니다. 하단 블록은 클러스터에서 실행 작업이 실제로 사용 중인 예약된 CPU 단위, 즉 CPUUtilization CloudWatch 지표를 나타냅니다. 상단 블록은 기존 작업에 의해 예약되지 않은 CPU 단위를 나타내며, 새 작업 배치에 이들 CPU 단위를 사용할 수 있습니다. 기존 작업도 CPU 리소스 수요가 증가할 경우, 예약되지 않은 CPU 단위를 사용할 수 있습니다. 자세한 정보는 cpu 태스크 정의 파라미터 설명서를 참조하세요.

클러스터 CPU 예약 및 사용