AWS Fargate에서 실행되는 Amazon Elastic Container Service(Amazon ECS) 작업의 높은 메모리 사용률을 모니터링하고 싶습니다.
해결 방법
Fargate에서 Amazon ECS 작업의 높은 메모리 사용률을 모니터링하려면 다음 방법을 사용하십시오.
Amazon CloudWatch 지표 사용
Amazon ECS 콘솔 또는 CloudWatch 콘솔에서 CloudWatch 지표를 봅니다.
참고: Fargate 시작 유형을 사용하는 Amazon ECS 서비스는 CloudWatch 메모리 및 CPU 사용률 지표에서 자동으로 활성화됩니다.
Fargate 작업에 CloudWatch 로그 활성화
다음 단계를 완료합니다.
- awslogs 로그 드라이버를 활성화합니다.
- 필요한 로그 구성 파라미터를 작업 정의에 추가합니다.
- 작업의 AWS Identity and Access Management(IAM) 역할에 CloudWatch 로그로 로그를 전송할 권한을 부여합니다.
- CloudWatch 콘솔에서 로그를 봅니다.
참고: 로그를 보려면 먼저 작업이 Running 상태로 전환되어야 합니다.
컨테이너 인사이트를 사용하여 메모리 사용률 모니터링
Fargate 작업의 각 컨테이너에 대한 메모리 사용률을 모니터링하려면 CloudWatch Container Insights를 사용합니다.
다음 단계를 완료합니다.
- CloudWatch 콘솔을 엽니다.
- 탐색 창의 컨테이너 인사이트에서 리소스를 선택합니다.
- 리소스에 대한 자세한 내용을 보려면 리소스 이름을 선택합니다.
참고: 작업은 각 클러스터의 작업 정의에 따라 그룹화됩니다.
- 작업 정의에 대한 자세한 내용을 보려면 작업 정의의 이름을 선택합니다.
- 컨테이너 성능 섹션에서 작업을 선택한 다음 성능 로그 보기를 선택하여 CloudWatch Logs Insights를 엽니다.
- 쿼리에 다음 쿼리를 입력한 다음 쿼리 실행을 선택합니다.
stats avg(MemoryUtilized) by bin (30m) as period, TaskDefinitionFamily, TaskDefinitionRevision | filter Type = "Task" | sort period desc, TaskDefinitionFamily | limit 10
컨테이너 인사이트를 사용하여 높은 메모리 사용률에 대한 경보 설정
다음 단계를 완료합니다.
- CloudWatch 콘솔을 엽니다.
- 탐색 창의 컨테이너 인사이트에서 성능 모니터링을 선택합니다.
- 메뉴에서 ECS 작업 또는 ECS 서비스를 선택합니다.
- 메모리 사용률 카드에서 카드를 확장한 다음 지표에서 보기를 선택합니다.
- 그래프로 표시된 지표 탭을 선택한 다음 작업의 작업 열에서 종 모양 아이콘을 선택합니다.
- 지표 및 조건 지정 페이지에서 값을 선택하거나 기본값을 유지합니다.
- 조건 섹션에서 임계값 정의에 70을 입력하여 경보의 메모리 사용률 임계값을 70%로 설정합니다.
- 다음을 선택합니다.
- 작업 구성 페이지의 SNS 주제 선택 섹션에서 새 주제 생성을 선택합니다.
- 다음으로 알림 보내기에 경보 알림을 보낼 이메일 ID를 입력합니다.
- 다음을 선택합니다.
- 이름 및 설명 추가 페이지에서 경보 이름에 경보의 이름을 입력합니다.
- (선택 사항) 경보 설명에 경보에 대한 설명을 입력합니다.
- 다음을 선택하고 경보 생성을 선택합니다.
- 구독을 확인하려면 확인 이메일에 있는 지침을 따르십시오.
참고: CloudWatch는 로그 데이터에서 생성 가능한 모든 지표를 자동으로 생성하지 않습니다. 추가 지표 및 세부 정보를 보려면 CloudWatch Logs Insights를 사용하여 로그 데이터를 분석하십시오.
관련 정보
AWS Fargate for Amazon ECS
Amazon CloudWatch Container Insights for Amazon ECS 소개
Amazon ECS가 CPU 및 메모리 리소스를 관리하는 방법