컨테이너 인스턴스를 Amazon Elastic Container Service (Amazon ECS)의 암호화된 볼륨으로 교체했습니다. 이제 작업의 CPU 사용률이 높습니다.
해결 방법
참고: AWS Fargate에서 CPU 사용률이 높은 경우 Fargate에서 Amazon ECS 작업의 높은 CPU 사용률 문제를 해결하려면 어떻게 해야 합니까?를 참조하십시오.
Amazon ECS 서비스 이벤트 로그 보기
Amazon ECS 서비스 이벤트 로그와 지표에서 CPU 관련 메시지를 확인합니다.
컨테이너 인스턴스의 CPU 사용률 보기
다음 단계를 완료하십시오.
- Amazon ECS 콘솔을 엽니다.
- 탐색 창에서 클러스터를 선택한 다음, 원하는 클러스터를 선택합니다.
- 인프라 탭을 선택합니다.
- 검색 창에 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스 ID를 입력한 다음 인스턴스를 선택합니다.
참고: 이 작업을 수행하면 Amazon EC2 콘솔이 열립니다.
- 모니터링 탭을 선택한 다음 컨테이너 인스턴스 CPU 사용량 지표의 CPU 사용률(%) 카드를 확인합니다.
Amazon ECS 서비스의 CPU 사용률 보기
Amazon ECS 콘솔을 사용하여 서비스 지표와 Amazon ECS의 평균 CPU 및 최대 CPU를 확인할 수 있습니다.
참고: Amazon ECS 작업에 대한 CPU 지표를 보려면 기존 Amazon ECS 클러스터의 Container Insights를 활성화해야 합니다. 사용 가능한 지표에 대한 자세한 내용은 Amazon ECS Container Insights 지표를 참조하십시오.
로드 밸런서 지표 보기
로드 밸런서 요청 지표를 확인하여 수신 사용자 트래픽이 급증할 때 CPU 사용률이 높아지는지 확인합니다. Network Load Balancer의 경우 지표에서 NetworkELB 네임스페이스를 선택한 다음 LB당을 선택하여 ActiveFlowCount 및 NewFlowCount 지표를 확인합니다. Application Load Balancer를 사용하는 경우 ActiveConnectionCount 지표를 확인합니다.
암호화 오버헤드 확인
Amazon Elastic Block Store(Amazon EBS) 볼륨의 암호화를 활성화하면 암호화 및 암호 해독 프로세스로 인해 CPU 사용률이 증가할 수 있습니다.
암호화 오버헤드로 인해 CPU 사용량이 높아지는지 확인하려면 EBS 볼륨 암호화 변경 전후의 CPU 및 애플리케이션 지표를 비교하십시오.
Amazon ECS 작업에 올바른 리소스 할당이 이루어져 있는지 확인
애플리케이션 로그를 확인하여 작업이 CPU 집약적 작업을 실시하고 있는지 확인하십시오. 애플리케이션 로그를 CloudWatch로 전송하려면 Amazon ECS 작업 정의 예시: 로그를 CloudWatch로 라우팅을 참조하십시오.
Amazon ECS 작업에 올바른 CPU 및 메모리 리소스를 할당했는지 확인하십시오. CPU 사용률이 지속적으로 높으면 Amazon ECS 서비스의 작업을 수평적으로 스케일링하십시오.
수평적 스케일링으로 문제가 해결되지 않으면 작업 정의에 할당된 CPU 단위를 늘려 Amazon ECS 서비스 작업을 수직으로 스케일링하십시오.
애플리케이션 코드 최적화
분산 애플리케이션을 분석 및 디버그하려면 AWS X-Ray와 같은 도구를 사용하십시오. 애플리케이션의 서비스, 함수, 리소스를 통해 이동하는 요청의 경로를 추적합니다. 자세한 내용은 AWS X-Ray용 애플리케이션 계측을 참조하십시오.