Amazon ECS 서비스 사용률 지표 - Amazon Elastic Container Service

Amazon ECS 서비스 사용률 지표

CPU, 메모리, 그리고 작업에 EBS 볼륨이 연결된 경우 EBS 파일 시스템 사용률에 대한 서비스 사용률 지표를 사용할 수 있습니다. 서비스 수준 지표는 Amazon EC2 인스턴스 및 Fargate에 호스팅된 작업이 있는 서비스에서 지원됩니다.

서비스 수준 CPU 및 메모리 사용률

CPU 및 메모리 사용률 지표는 서비스의 작업 정의에 지정된 CPU 및 메모리를 기준으로 클러스터의 특정 서비스에 속하는 Amazon ECS 작업이 사용하는 CPU 및 메모리의 비율로 측정됩니다.

(Total CPU units used by tasks in service) x 100 Service CPU utilization = ---------------------------------------------------------------------------- (Total CPU units specified in task definition) x (number of tasks in service)
(Total MiB of memory used by tasks in service) x 100 Service memory utilization = -------------------------------------------------------------------------------- (Total MiB of memory specified in task definition) x (number of tasks in service)

1분 단위로 Amazon ECS 컨테이너 에이전트가 서비스가 소유한 각 작업에 대해 현재 사용 중인 CPU 단위 수 및 메모리(MiB) 크기를 계산합니다. 이 정보는 Amazon ECS에 다시 보고됩니다. 클러스터에서 실행 중인 서비스가 소유한 모든 작업이 사용하는 전체 CPU 및 메모리가 계산되며, 이 수치는 서비스의 태스크 정의에서 해당 서비스에 대해 지정된 전체 리소스의 백분율로 CloudWatch에 보고됩니다. 소프트 제한(memoryReservation)을 지정하면 이는 예약된 메모리의 양을 계산하는 데 사용됩니다. 그렇지 않으면 하드 제한(memory)이 사용됩니다. 하드 한도 및 소프트 한도에 대한 자세한 내용은 태스크 크기 섹션을 참조하세요.

예를 들어 서비스의 태스크 정의는 모든 컨테이너에 대해 총 512개 CPU 단위 및 1,024MiB 메모리(하드 제한 memory 파라미터 사용)를 지정합니다. 이 서비스의 원하는 실행 작업 수는 1이고, 서비스는 1개의 c4.large 컨테이너 인스턴스(2,048개 CPU 단위와 총 메모리 3,768MiB )에서 실행되며, 클러스터에서 실행되는 다른 태스크는 없습니다. 작업에서 512개 CPU 단위를 지정하더라도 2,048개 CPU 유닛이 있는 컨테이너 인스턴스에서 실행 중인 작업이기 때문에 지정된 수(2,048 / 512)의 4배까지 사용할 수 있습니다. 그러니 지정된 1,024 MiB의 메모리는 하드 제한이라 초과할 수 없기 때문에 서비스 메모리 사용이 100%를 초과할 수 없습니다.

앞의 예제에서 하드 제한 memoryReservation 파라미터 대신 소프트 제한 memory을 사용한 경우, 필요하다면 서비스 태스크는 지정된 1,024MiB 메모리보다 더 많은 메모리를 사용할 수 있습니다. 이 경우 서비스의 메모리 사용률은 100%를 초과할 수 있습니다.

애플리케이션에서 짧은 시간 동안 메모리 사용률이 갑자기 급증하는 경우 Amazon ECS가 1분마다 여러 데이터 포인트를 수집한 다음 CloudWatch로 전송되는 하나의 데이터 포인트로 집계하기 때문에 서비스 메모리 사용률이 증가하는 것을 볼 수 없습니다.

작업이 일정 기간 동안 CPU 집약적 태스크를 수행하여 가용 CPU 단위 2,048개를 모두 사용하고 메모리 512MiB를 사용하는 경우 서비스가 CPU 사용률 400%와 메모리 사용률 50%를 보고합니다. 작업이 유휴 상태이고 128개 CPU 단위와 128MiB 메모리를 사용하는 경우 서비스가 CPU 사용률 25%와 메모리 사용률 12.5%를 보고합니다.

참고

이 예에서 CPU 사용률은 CPU 단위가 컨테이너 수준에서 정의된 경우에만 100%를 초과합니다. 작업 수준에서 CPU 단위를 정의하면 사용률이 정의된 작업 수준 제한을 초과하지 않습니다.

서비스 수준 EBS 파일 시스템 사용률

서비스 수준 EBS 파일 시스템 사용률은 서비스에 속하는 작업이 사용 중인 EBS 파일 시스템 총 크기를 서비스에 속하는 모든 작업에 할당된 EBS 파일 시스템 스토리지의 총 크기로 나눈 값으로 측정됩니다.

(Total GB of EBS filesystem used by tasks in the service x 100) Service EBS filesystem utilization = ----------------------------------------------------------------- (Total GB of EBS filesystem allocated to tasks in the service)

서비스 RUNNING 작업 수

CloudWatch 지표를 사용하여 서비스에서 RUNNING 상태인 작업 수를 확인할 수 있습니다. 예를 들어 서비스 내 실행 작업 수가 지정된 값을 하회하면 경보를 작동하도록 이 지표에 CloudWatch 경보를 설정할 수 있습니다.

Amazon ECS CloudWatch Container Insights의 서비스 RUNNING 태스크 수

'실행 중인 태스크 수'(RunningTaskCount) 지표는 Amazon ECS CloudWatch Container Insights를 사용하는 경우 클러스터별 및 서비스별로 사용할 수 있습니다. Container Insights는 containerInsights 계정 설정을 옵트인하여 생성한 모든 새 클러스터에 사용할 수 있으며, 클러스터 생성 중 클러스터 설정을 켜서 개별 클러스터에 사용하거나 UpdateClusterSettings API를 사용하여 기존 클러스터에 사용할 수 있습니다. CloudWatch Container Insights에서 수집된 지표는 사용자 지정 지표로 청구됩니다. CloudWatch 요금에 대한 자세한 정보는 CloudWatch 요금을 참조하세요.

이 지표를 보려면 Amazon CloudWatch 사용 설명서Amazon ECS Container Insights 지표를 참조하세요.