Amazon Elastic Container Service에서 로깅 및 모니터링

Amazon Elastic Container Service에서 로깅 및 모니터링

모니터링은 Amazon Elastic Container Service와 AWS 솔루션의 안정성, 가용성, 성능을 유지하는 데 중요한 부분이에요. AWS 솔루션의 모든 부분에서 모니터링 데이터를 수집해 다중 지점 실패(multi-point failure)가 발생할 때 더 쉽게 디버깅할 수 있게 해 주세요.

출처: 문서

본문

모니터링은 Amazon Elastic Container Service와 내 AWS 솔루션의 안정성, 가용성, 성능을 유지하는 데 중요한 부분이에요. AWS 솔루션의 모든 부분에서 모니터링 데이터를 수집해야 다중 지점 실패가 발생할 때 더 쉽게 디버깅할 수 있어요. AWS는 Amazon ECS 리소스를 모니터링하고 잠재적 인시던트에 대응하기 위한 여러 도구를 제공해요.

Amazon CloudWatch Alarms 지정한 시간 동안 단일 메트릭을 감시하고, 여러 시간 주기에 걸쳐 메트릭 값이 주어진 임계값에 비해 어떤지에 따라 하나 이상의 작업을 수행해요. 작업은 Amazon Simple Notification Service(Amazon SNS) 주제 또는 Amazon EC2 Auto Scaling 정책으로 전송되는 알림이에요. CloudWatch 알람은 특정 상태에 있기만 해서 작업을 호출하지 않아요. 상태가 변경되어 지정된 기간 동안 유지되어야 해요. 자세한 내용은 Monitor Amazon ECS using CloudWatch 를 참고해 주세요.

  • Fargate를 사용하는 태스크가 있는 서비스의 경우 CloudWatch 알람을 사용해 CPU, 메모리 사용률 같은 CloudWatch 메트릭에 따라 서비스의 태스크를 스케일 인/스케일 아웃할 수 있어요. 자세한 내용은 Automatically scale your Amazon ECS service 를 참고해 주세요.
  • EC2를 사용하는 태스크 또는 서비스가 있는 클러스터의 경우 CloudWatch 알람을 사용해 클러스터 메모리 예약 같은 CloudWatch 메트릭에 따라 컨테이너 인스턴스를 스케일 인/스케일 아웃할 수 있어요.

Amazon CloudWatch Logs 태스크 정의에서 awslogs 로그 드라이버를 지정해 Amazon ECS 태스크의 컨테이너에서 나오는 로그 파일을 모니터링, 저장, 액세스할 수 있어요. 자세한 내용은 Using the awslogs driver 를 참고해 주세요. 또한 Amazon ECS 컨테이너 인스턴스의 운영 체제 및 Amazon ECS 컨테이너 에이전트 로그 파일을 모니터링, 저장, 액세스할 수 있어요. 이 로그 액세스 방법은 EC2를 사용하는 컨테이너에 사용할 수 있어요.

Amazon CloudWatch Events 이벤트를 매칭하고 하나 이상의 대상 함수나 스트림으로 라우팅해 변경하고, 상태 정보를 캡처하고, 시정 조치를 취해요. 자세한 내용은 이 가이드의 Automate responses to Amazon ECS errors using EventBridge 와 Amazon EventBridge User Guide 의 EventBridge is the evolution of Amazon CloudWatch Events 를 참고해 주세요.

AWS CloudTrail Logs CloudTrail은 사용자, 역할 또는 AWS 서비스가 Amazon ECS에서 수행한 작업의 기록을 제공해요. CloudTrail이 수집한 정보를 사용해 Amazon ECS에 대한 요청, 요청이 이루어진 IP 주소, 요청한 사람, 시점 및 추가 세부 정보를 확인할 수 있어요. 자세한 내용은 Log Amazon ECS API calls using AWS CloudTrail 을 참고해 주세요.

AWS Trusted Advisor Trusted Advisor는 수십만 명의 AWS 고객에게 서비스를 제공하며 얻은 모범 사례를 활용해요. Trusted Advisor는 AWS 환경을 검사하고 비용을 절약하거나 시스템 가용성과 성능을 개선하거나 보안 격차를 해소할 기회가 있을 때 권장 사항을 제시해요. 모든 AWS 고객은 5가지 Trusted Advisor 검사를 이용할 수 있어요. Business 또는 Enterprise 지원 플랜 고객은 모든 Trusted Advisor 검사를 볼 수 있어요. 자세한 내용은 Support User Guide 의 AWS Trusted Advisor 를 참고해 주세요.

AWS Compute Optimizer AWS Compute Optimizer는 AWS 리소스의 구성 및 사용률 메트릭을 분석하는 서비스예요. 리소스가 최적인지 보고하고, 워크로드의 비용을 줄이고 성능을 개선하기 위한 최적화 권장 사항을 생성해요. 자세한 내용은 AWS Compute Optimizer recommendations for Amazon ECS 를 참고해 주세요.

Amazon ECS 모니터링의 또 다른 중요한 부분은 CloudWatch 알람이 다루지 않는 항목을 수동으로 모니터링하는 것이에요. CloudWatch, Trusted Advisor 및 기타 AWS 콘솔 대시보드는 AWS 환경 상태를 한눈에 볼 수 있게 해 줘요. 컨테이너 인스턴스의 로그 파일과 태스크의 컨테이너 로그도 확인할 것을 권장해요.

더 알아보기 (Learn more)