Amazon ECS CloudWatch 메트릭
Amazon ECS CloudWatch 메트릭
CloudWatch 사용 메트릭을 사용해 계정의 리소스 사용에 대한 가시성을 확보할 수 있어요. 이러한 메트릭을 사용해 CloudWatch 그래프와 대시보드에서 현재 서비스 사용량을 시각화해 보아요.
출처: 문서
본문
Amazon ECS는 1분 간격으로 CloudWatch에 메트릭을 보내요. 이러한 메트릭은 RUNNING 상태의 태스크가 있는 리소스에 대해 수집돼요. 클러스터, 서비스 또는 다른 리소스에 실행 중인 태스크가 없으면 해당 기간 동안 해당 리소스에 대한 메트릭이 보고되지 않아요. 예를 들어 서비스가 하나 있는 클러스터가 있는데 해당 서비스에 RUNNING 상태의 태스크가 없다면 CloudWatch로 보내지는 메트릭이 없어요. 마찬가지로 서비스가 두 개 있고 하나는 실행 중인 태스크가 있고 다른 하나는 없다면 실행 중인 태스크가 있는 서비스의 메트릭만 전송돼요.
| 메트릭(Metric) | 설명(Description) | 유효한 차원(Valid Dimension) | 유용한 통계(Useful Statistics) | 단위(Unit) |
|---|---|---|---|---|
CPUReservation |
클러스터 또는 서비스에 예약된 CPU 단위의 백분율. CPU 예약(ClusterName 으로 필터링)은 클러스터의 Amazon ECS 태스크가 예약한 총 CPU 단위를 클러스터에 등록된 모든 Amazon EC2 인스턴스의 총 CPU 단위로 나눈 값으로 측정돼요. ACTIVE 또는 DRAINING 상태의 Amazon EC2 인스턴스만 CPU 예약 메트릭에 영향을 줘요. 이 메트릭은 Amazon EC2 인스턴스에서 호스팅되는 태스크에만 지원돼요. |
ClusterName. |
Average, Minimum, Maximum | Percent |
CPUUtilization |
클러스터 또는 서비스 또는 Managed Daemon이 사용하는 CPU 단위의 백분율. 클러스터 수준 CPU 사용률(ClusterName 으로 필터링)은 클러스터의 Amazon ECS 태스크가 사용 중인 총 CPU 단위를 클러스터에 등록된 모든 Amazon EC2 인스턴스의 총 CPU 단위로 나눈 값으로 측정돼요. ACTIVE 또는 DRAINING 상태의 Amazon EC2 인스턴스만 CPU 예약 메트릭에 영향을 줘요. 클러스터 수준 메트릭은 Amazon EC2 인스턴스에서 호스팅되는 태스크에만 지원돼요. 서비스 수준 CPU 사용률(ClusterName, ServiceName 으로 필터링)은 서비스에 속한 태스크가 사용 중인 총 CPU 단위를 서비스에 속한 태스크에 예약된 총 CPU 단위 수로 나눈 값으로 측정돼요. 서비스 수준 메트릭은 Amazon EC2 인스턴스와 Fargate에서 호스팅되는 태스크를 지원해요. 데몬 수준 CPU 사용률(ClusterName, ServiceName 으로 필터링)은 Managed Daemon에 속한 태스크가 사용 중인 총 CPU 단위를 Managed Daemon에 속한 태스크에 예약된 총 CPU 단위 수로 나눈 값으로 측정돼요. |
ClusterName, ServiceName |
Average, Minimum, Maximum | Percent |
MemoryReservation |
클러스터에서 실행 중인 태스크가 예약한 메모리의 백분율. 클러스터 메모리 예약은 클러스터의 Amazon ECS 태스크가 예약한 총 메모리를 클러스터에 등록된 모든 Amazon EC2 인스턴스의 총 메모리로 나눈 값으로 측정돼요. 이 메트릭은 ClusterName 으로만 필터링할 수 있어요. ACTIVE 또는 DRAINING 상태의 Amazon EC2 인스턴스만 메모리 예약 메트릭에 영향을 줘요. 클러스터 수준 메모리 예약 메트릭은 Amazon EC2 인스턴스에서 호스팅되는 태스크에만 지원돼요. 참고: 메모리 사용률을 계산할 때 MemoryReservation 이 지정되면 총 메모리 대신 계산에 사용돼요. |
ClusterName. |
Average, Minimum, Maximum | Percent |
MemoryUtilization |
클러스터 또는 서비스 또는 Managed Daemon이 사용 중인 메모리의 백분율. 클러스터 수준 메모리 사용률(ClusterName 으로 필터링)은 클러스터의 Amazon ECS 태스크가 사용 중인 총 메모리를 클러스터에 등록된 모든 Amazon EC2 인스턴스의 총 메모리로 나눈 값으로 측정돼요. ACTIVE 또는 DRAINING 상태의 Amazon EC2 인스턴스만 메모리 사용률 메트릭에 영향을 줘요. 클러스터 수준 메트릭은 Amazon EC2 인스턴스에서 호스팅되는 태스크에만 지원돼요. 서비스 수준 메모리 사용률(ClusterName, ServiceName 으로 필터링)은 서비스에 속한 태스크가 사용 중인 총 메모리를 서비스에 속한 태스크에 예약된 총 메모리로 나눈 값으로 측정돼요. 서비스 수준 메트릭은 Amazon EC2 인스턴스와 Fargate에서 호스팅되는 태스크를 지원해요. 데몬 수준 메모리 사용률(ClusterName, ServiceName 으로 필터링)은 Managed Daemon에 속한 태스크가 사용 중인 총 메모리를 Managed Daemon에 속한 태스크에 예약된 총 메모리로 나눈 값으로 측정돼요. |
ClusterName, ServiceName |
Average, Minimum, Maximum | Percent |
EBSFilesystemUtilization |
서비스의 태스크가 사용하는 Amazon EBS 파일 시스템의 백분율. 서비스 수준 EBS 파일 시스템 사용률 메트릭(ClusterName, ServiceName 으로 필터링)은 서비스에 속한 태스크가 사용 중인 EBS 파일 시스템의 총량을 서비스에 속한 모든 태스크에 할당된 EBS 파일 시스템 스토리지의 총량으로 나눈 값으로 측정돼요. 서비스 수준 EBS 파일 시스템 사용률 메트릭은 EBS 볼륨이 연결된 Amazon EC2 인스턴스(컨테이너 에이전트 버전 1.79.0 사용)와 Fargate(플랫폼 버전 1.4.0 사용)에서 호스팅되는 태스크에서만 사용할 수 있어요. 참고: Fargate에서 호스팅되는 태스크의 경우 Fargate만 사용하는 디스크 공간이 있어요. Fargate가 사용하는 공간에는 비용이 없지만 df 같은 도구를 사용하면 이 추가 스토리지가 보여요. |
ClusterName, ServiceName |
Average, Minimum, Maximum | Percent |
GPUReservation |
클러스터에서 실행 중인 태스크가 예약한 총 사용 가능한 GPU의 백분율. 클러스터 수준 GPU 예약 메트릭은 클러스터의 Amazon ECS 태스크가 예약한 GPU 수를 클러스터에 등록된 GPU가 있는 모든 Amazon EC2 인스턴스에서 사용 가능한 총 GPU 수로 나눈 값으로 측정돼요. ACTIVE 또는 DRAINING 상태의 Amazon EC2 인스턴스만 GPU 예약 메트릭에 영향을 줘요. |
ClusterName |
Average, Minimum, Maximum | Percent |
ActiveConnectionCount |
선택한 DiscoveryName 을 공유하는 태스크에서 실행되는 Amazon ECS Service Connect 프록시에 대한 클라이언트의 활성 동시 연결 총 수. 이 메트릭은 Amazon ECS Service Connect를 구성한 경우에만 사용할 수 있어요. 유효한 차원: DiscoveryName 및 DiscoveryName, ServiceName, ClusterName. |
DiscoveryName 및 DiscoveryName, ServiceName, ClusterName |
Average, Minimum, Maximum, Sum | Count |
NewConnectionCount |
선택한 DiscoveryName 을 공유하는 태스크에서 실행되는 Amazon ECS Service Connect 프록시에 클라이언트가 설정한 새 연결의 총 수. 이 메트릭은 Amazon ECS Service Connect를 구성한 경우에만 사용할 수 있어요. |
DiscoveryName 및 DiscoveryName, ServiceName, ClusterName |
Average, Minimum, Maximum, Sum | Count |
ProcessedBytes |
Service Connect 프록시가 처리한 인바운드 트래픽 바이트의 총 수. 이 메트릭은 Amazon ECS Service Connect를 구성한 경우에만 사용할 수 있어요. | DiscoveryName 및 DiscoveryName, ServiceName, ClusterName |
Average, Minimum, Maximum, Sum | Bytes |
RequestCount |
Service Connect 프록시가 처리한 인바운드 트래픽 요청 수. 이 메트릭은 Amazon ECS Service Connect를 구성한 경우에만 사용할 수 있어요. 또한 태스크 정의의 포트 매핑에 appProtocol 을 구성해야 해요. |
DiscoveryName 및 DiscoveryName, ServiceName, ClusterName |
Average, Minimum, Maximum, Sum | Count |
GrpcRequestCount |
Service Connect 프록시가 처리한 gRPC 인바운드 트래픽 요청 수. 이 메트릭은 Amazon ECS Service Connect를 구성하고 태스크 정의의 포트 매핑에서 appProtocol 이 GRPC 인 경우에만 사용할 수 있어요. |
DiscoveryName 및 DiscoveryName, ServiceName, ClusterName |
Average, Minimum, Maximum, Sum | Count |
HTTPCode_Target_2XX_Count |
이 태스크의 애플리케이션이 생성한 200~299 번호의 HTTP 응답 코드 수. 이 태스크는 대상이에요. 이 메트릭은 이 태스크의 애플리케이션이 Service Connect 프록시로 보낸 응답만 계산하며 직접 보낸 응답은 계산하지 않아요. 이 메트릭은 Amazon ECS Service Connect를 구성하고 태스크 정의의 포트 매핑에서 appProtocol 이 HTTP 또는 HTTP2 인 경우에만 사용할 수 있어요. |
TargetDiscoveryName 및 TargetDiscoveryName, ServiceName, ClusterName |
Average, Minimum, Maximum, Sum | Count |
HTTPCode_Target_3XX_Count |
이 태스크의 애플리케이션이 생성한 300~399 번호의 HTTP 응답 코드 수. 이 태스크는 대상이에요. 이 메트릭은 이 태스크의 애플리케이션이 Service Connect 프록시로 보낸 응답만 계산하며 직접 보낸 응답은 계산하지 않아요. 이 메트릭은 Amazon ECS Service Connect를 구성하고 태스크 정의의 포트 매핑에서 appProtocol 이 HTTP 또는 HTTP2 인 경우에만 사용할 수 있어요. |
TargetDiscoveryName 및 TargetDiscoveryName, ServiceName, ClusterName |
Average, Minimum, Maximum, Sum | Count |
HTTPCode_Target_4XX_Count |
이 태스크의 애플리케이션이 생성한 400~499 번호의 HTTP 응답 코드 수. 이 태스크는 대상이에요. 이 메트릭은 이 태스크의 애플리케이션이 Service Connect 프록시로 보낸 응답만 계산하며 직접 보낸 응답은 계산하지 않아요. 이 메트릭은 Amazon ECS Service Connect를 구성하고 태스크 정의의 포트 매핑에서 appProtocol 이 HTTP 또는 HTTP2 인 경우에만 사용할 수 있어요. |
TargetDiscoveryName 및 TargetDiscoveryName, ServiceName, ClusterName |
Average, Minimum, Maximum, Sum | Count |
HTTPCode_Target_5XX_Count |
이 태스크의 애플리케이션이 생성한 500~599 번호의 HTTP 응답 코드 수. 이 태스크는 대상이에요. 이 메트릭은 이 태스크의 애플리케이션이 Service Connect 프록시로 보낸 응답만 계산하며 직접 보낸 응답은 계산하지 않아요. 이 메트릭은 Amazon ECS Service Connect를 구성하고 태스크 정의의 포트 매핑에서 appProtocol 이 HTTP 또는 HTTP2 인 경우에만 사용할 수 있어요. |
TargetDiscoveryName 및 TargetDiscoveryName, ServiceName, ClusterName |
Average, Minimum, Maximum, Sum | Count |
RequestCountPerTarget |
선택한 DiscoveryName 을 공유하는 각 대상이 받은 평균 요청 수. 이 메트릭은 Amazon ECS Service Connect를 구성한 경우에만 사용할 수 있어요. |
TargetDiscoveryName 및 TargetDiscoveryName, ServiceName, ClusterName |
Average | Count |
TargetProcessedBytes |
Service Connect 프록시가 처리한 총 바이트 수. 이 메트릭은 Amazon ECS Service Connect를 구성한 경우에만 사용할 수 있어요. | TargetDiscoveryName 및 TargetDiscoveryName, ServiceName, ClusterName |
Average, Minimum, Maximum, Sum | Bytes |
TargetResponseTime |
애플리케이션 요청 처리의 지연 시간. 요청이 대상 태스크의 Service Connect 프록시에 도달한 후 대상 애플리케이션의 응답이 프록시로 다시 수신될 때까지 경과된 시간(밀리초). 이 메트릭은 Amazon ECS Service Connect를 구성한 경우에만 사용할 수 있어요. | TargetDiscoveryName 및 TargetDiscoveryName, ServiceName, ClusterName |
Average, Minimum, Maximum | Milliseconds |
ClientTLSNegotiationErrorCount |
TLS 연결이 실패한 총 횟수. 이 메트릭은 TLS가 활성화된 경우에만 사용돼요. 이 메트릭은 Amazon ECS Service Connect를 구성한 경우에만 사용할 수 있어요. | DiscoveryName 및 DiscoveryName, ServiceName, ClusterName |
Average, Minimum, Maximum, Sum | Count |
TargetTLSNegotiationErrorCount |
누락된 클라이언트 인증서, 실패한 AWS Private CA 검증 또는 실패한 SAN 검증으로 인해 TLS 연결이 실패한 총 횟수. 이 메트릭은 TLS가 활성화된 경우에만 사용돼요. 이 메트릭은 Amazon ECS Service Connect를 구성한 경우에만 사용할 수 있어요. | ServiceName, ClusterName, TargetDiscoveryName 및 TargetDiscoveryName |
Average, Minimum, Maximum, Sum | Count |
LiveTaskCount |
서비스에 대해 현재 ACTIVATING , RUNNING , DEACTIVATING 수명 주기 상태에 있는 태스크 수. ACTIVATING 상태의 태스크는 트래픽을 제공할 준비를 하고 있어요(예: 로드 밸런서 대상 그룹 및 서비스 검색에 등록). RUNNING 상태의 태스크는 실행 중이며 트래픽을 받고 요청을 처리할 수 있어요. DEACTIVATING 상태의 태스크는 연결을 드레이닝하고 중지되기 전에 트래픽 제공 리소스에서 등록을 해제하고 있어요. |
ClusterName, ServiceName |
Average, Minimum, Maximum | Count |
Amazon ECS 메트릭용 차원
Amazon ECS 메트릭은 AWS/ECS 네임스페이스를 사용하며 다음 차원에 대한 메트릭을 제공해요. Amazon ECS는 RUNNING 상태의 태스크가 있는 리소스에 대해서만 메트릭을 보내요. 예를 들어 서비스가 하나 있는 클러스터가 있는데 해당 서비스에 RUNNING 상태의 태스크가 없다면 CloudWatch로 보내지는 메트릭이 없어요. 서비스가 두 개 있고 하나는 실행 중인 태스크가 있고 다른 하나는 없다면 실행 중인 태스크가 있는 서비스의 메트릭만 전송돼요.
| 차원(Dimension) | 정의(Definition) |
|---|---|
ClusterName |
이 차원은 지정된 클러스터의 모든 리소스에 대해 요청하는 데이터를 필터링해요. 모든 Amazon ECS 메트릭은 ClusterName 으로 필터링돼요. |
ServiceName |
이 차원은 지정된 클러스터 내 특정 서비스 또는 데몬의 모든 리소스에 대해 요청하는 데이터를 필터링해요. 데몬 메트릭의 경우 ServiceName 차원 값은 daemon: 접두사에 데몬 이름이 붙은 형식이에요. 예를 들어 my-daemon 이라는 데몬은 ServiceName 차원 값이 daemon:my-daemon 이에요. |
DiscoveryName |
이 차원은 모든 Amazon ECS 클러스터에서 지정된 Service Connect 검색 이름에 대한 트래픽 메트릭으로 요청하는 데이터를 필터링해요. 실행 중인 컨테이너의 특정 포트는 여러 검색 이름을 가질 수 있다는 점을 기억해 주세요. |
DiscoveryName, ServiceName, ClusterName |
이 차원은 이 클러스터에서 이 서비스가 만든, 이 검색 이름이 있는 태스크에 대해 지정된 Service Connect 검색 이름에 대한 트래픽 메트릭으로 요청하는 데이터를 필터링해요. 서로 다른 네임스페이스의 여러 서비스에서 동일한 검색 이름을 재사용했다면 이 차원을 사용해 특정 서비스의 인바운드 트래픽 메트릭을 볼 수 있어요. 실행 중인 컨테이너의 특정 포트는 여러 검색 이름을 가질 수 있다는 점을 기억해 주세요. |
TargetDiscoveryName |
이 차원은 모든 Amazon ECS 클러스터에서 지정된 Service Connect 검색 이름에 대한 트래픽 메트릭으로 요청하는 데이터를 필터링해요. DiscoveryName 과 달리 이러한 트래픽 메트릭은 이 네임스페이스에 Service Connect 구성이 있는 다른 Amazon ECS 태스크에서 이 DiscoveryName 으로 들어오는 인바운드 트래픽만 측정해요. 여기에는 클라이언트 전용 또는 클라이언트-서버 Service Connect 구성이 있는 서비스가 만든 태스크가 포함돼요. 실행 중인 컨테이너의 특정 포트는 여러 검색 이름을 가질 수 있다는 점을 기억해 주세요. |
TargetDiscoveryName, ServiceName, ClusterName |
이 차원은 지정된 Service Connect 검색 이름에 대한 트래픽 메트릭으로 요청하는 데이터를 필터링하지만, 이 클러스터에서 이 서비스가 만든 태스크의 트래픽만 계산해요. 다른 서비스의 특정 클라이언트에서 오는 인바운드 트래픽 메트릭을 보려면 이 차원을 사용해 주세요. DiscoveryName, ServiceName, ClusterName 과 달리 이러한 트래픽 메트릭은 이 네임스페이스에 Service Connect 구성이 있는 다른 Amazon ECS 태스크에서 이 DiscoveryName 으로 들어오는 인바운드 트래픽만 측정해요. 여기에는 클라이언트 전용 또는 클라이언트-서버 Service Connect 구성이 있는 서비스가 만든 태스크가 포함돼요. 실행 중인 컨테이너의 특정 포트는 여러 검색 이름을 가질 수 있다는 점을 기억해 주세요. |