Amazon ECS에 대한 지표 - AWS 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon ECS에 대한 지표

Amazon ECS는 Amazon ECS 컨테이너 에이전트를 사용하여 클러스터 및 서비스 수준에서 EC2 및 Fargate 시작 유형에 대한 표준 CloudWatch 지표(예: CPU 및 메모리 사용률)를 제공합니다. EC2 CloudWatch Container Insights를 사용하여 서비스, 작업 및 컨테이너에 대한 지표를 캡처하거나 임베디드 지표 형식을 사용하여 사용자 지정 컨테이너 지표를 캡처할 수도 있습니다.

Container Insights는 클러스터, 컨테이너 인스턴스, 서비스 및 작업 수준의 CPU 사용률, 메모리 사용률, 네트워크 트래픽 및 스토리지와 같은 지표를 제공하는 CloudWatch 기능입니다. 또한 Container Insights는 서비스 및 작업을 분석하고 컨테이너 수준에서 평균 메모리 또는 CPU 사용률을 확인하는 데 도움이 되는 자동 대시보드를 생성합니다. Container Insights는 그래프 작성, 경보 및 대시보드 작성에 사용할 수 있는 사용자 지정 네임스페이스에 ECS/ContainerInsights 사용자 지정 지표를 게시합니다. https://docs.aws.amazon.com//AmazonECS/latest/developerguide/cloudwatch-metrics.html

각 개별 Amazon ECS 클러스터에 대해 Container Insights를 활성화하여 Container Insight 지표를 켤 수 있습니다. 컨테이너 인스턴스 수준에서 지표도 보려면 Amazon ECS 클러스터에서 CloudWatch 에이전트를 데몬 컨테이너로 시작할 수 있습니다. cwagent-ecs-instance-metric-cfn.yaml CloudFormation 템플릿을 사용하여 CloudWatch 에이전트를 Amazon ECS 서비스로 배포할 수 있습니다. 중요한 것은이 예제에서는 적절한 사용자 지정 CloudWatch 에이전트 구성을 생성하여 키와 함께 Parameter Store에 저장했다고 가정합니다ecs-cwagent-daemon-service.

CloudWatch Container Insights용 데몬 컨테이너로 배포된 CloudWatch 에이전트에는 instance_cpu_reserved_capacity 및 , ClusterName, ContainerInstanceIdInstanceId차원instance_memory_reserved_capacity과 같은 추가 디스크, 메모리 및 CPU 지표가 포함됩니다. CloudWatch 컨테이너 인스턴스 수준의 지표는 CloudWatch 임베디드 지표 형식을 사용하여 Container Insights에서 구현됩니다. 이 가이드의 CloudWatch 에이전트 배포 및 구성을 위한 State Manager 및 Distributor 설정 섹션에 있는의 접근 방식을 사용하여 Amazon ECS 컨테이너 인스턴스에 대한 추가 시스템 수준 지표를 구성할 수 있습니다.

Amazon ECS에서 사용자 지정 애플리케이션 지표 생성

CloudWatch 임베디드 지표 형식을 사용하여 애플리케이션에 대한 사용자 지정 지표를 생성할 수 있습니다. awslogs 로그 드라이버는 CloudWatch 임베디드 지표 형식 문을 해석할 수 있습니다.

다음 예제의 CW_CONFIG_CONTENT 환경 변수는 cwagentconfig Systems Manager Parameter Store 파라미터의 내용으로 설정됩니다. 이 기본 구성으로 에이전트를 실행하여 임베디드 지표 형식 엔드포인트로 구성할 수 있습니다. 그러나 더 이상 필요하지 않습니다.

{ "logs": { "metrics_collected": { "emf": { } } } }

여러 계정 및 리전에 Amazon ECS 배포가 있는 경우 보안 AWS Secrets Manager 암호를 사용하여 CloudWatch 구성을 저장하고 보안 암호 정책을 구성하여 조직과 공유할 수 있습니다. 작업 정의에서 보안 암호 옵션을 사용하여 CW_CONFIG_CONTENT 변수를 설정할 수 있습니다.

애플리케이션에서 AWS 제공된 오픈 소스 임베디드 지표 형식 라이브러리를 사용하고 AWS_EMF_AGENT_ENDPOINT 환경 변수를 지정하여 임베디드 지표 형식 엔드포인트 역할을 하는 CloudWatch 에이전트 사이드카 컨테이너에 연결할 수 있습니다. 예를 들어 ecs_cw_emf_example 샘플 Python 애플리케이션을 사용하여 임베디드 지표 형식으로 지표를 임베디드 지표 형식 엔드포인트로 구성된 CloudWatch 에이전트 사이드카 컨테이너로 전송할 수 있습니다.

CloudWatch용 Fluent Bit 플러그인을 사용하여 임베디드 지표 형식 메시지를 보낼 수도 있습니다. ecs_firelense_emf_example 샘플 Python 애플리케이션을 사용하여 임베디드 지표 형식의 지표를 Firelens for Amazon ECS 사이드카 컨테이너로 전송할 수도 있습니다.

임베디드 지표 형식을 사용하지 않으려면 AWS API 또는 AWS SDK를 통해 CloudWatch 지표를 생성하고 업데이트할 수 있습니다. 특정 사용 사례가 없으면 코드에 유지 관리 오버헤드가 추가되므로이 접근 방식을 사용하지 않는 것이 좋습니다.