Amazon ECS 모니터링 도구
Amazon ECS 모니터링 도구
AWS는 Amazon ECS를 모니터링하는 데 사용할 수 있는 다양한 도구를 제공해요. 이 도구들 중 일부는 모니터링을 대신 수행하도록 구성할 수 있고, 일부는 수동 개입이 필요해요. 가능한 한 모니터링 작업을 자동화하는 것을 권장해요.
출처: 문서
본문
자동 모니터링 도구 (Automated monitoring tools)
다음 자동 모니터링 도구를 사용해 Amazon ECS를 관찰하고 문제가 있을 때 보고할 수 있어요.
- Amazon CloudWatch 알람 – 지정한 기간 동안 단일 메트릭을 관찰하고, 주어진 임계값에 대한 메트릭 값에 따라 여러 기간에 걸쳐 하나 이상의 작업을 수행해요. 작업은 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 ECS-optimized Amazon Linux AMI로 실행한 컨테이너 인스턴스의 경우 CloudWatch Logs를 사용해 한 곳에서 컨테이너 인스턴스의 다양한 로그를 볼 수 있어요. 컨테이너 인스턴스에 CloudWatch 에이전트를 설치해야 해요. 자세한 내용은 Amazon CloudWatch User Guide의
Download and configure the CloudWatch agent using the command line을 참고하세요. 또한ecsInstanceRole역할에ECS-CloudWatchLogs정책을 추가해야 해요. 자세한 내용은Monitoring container instances permissions을 참고하세요.
- Fargate를 사용하는 태스크가 있는 서비스의 경우 CloudWatch 알람을 사용해 CPU 및 메모리 활용도 같은 CloudWatch 메트릭을 기반으로 서비스의 태스크를 스케일 인 및 스케일 아웃할 수 있어요. 자세한 내용은
- Amazon CloudWatch Logs – 태스크 정의에
awslogs로그 드라이버를 지정해 Amazon ECS 태스크의 컨테이너 로그 파일을 모니터링, 저장, 접근해요. 자세한 내용은Send Amazon ECS logs to CloudWatch를 참고하세요. 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를 참고하세요. - Container Insights – 컨테이너화된 애플리케이션과 마이크로서비스의 메트릭과 로그를 수집, 집계, 요약해요. Container Insights는 임베디드 메트릭 형식을 사용해 데이터를 성능 로그 이벤트로 수집해요. 이 성능 로그 이벤트는 높은 카디널리티 데이터를 규모에 맞게 수집하고 저장할 수 있게 하는 구조화된 JSON 스키마를 사용하는 항목이에요. 이 데이터에서 CloudWatch는 클러스터, 태스크, 서비스 수준에서 집계된 메트릭을 CloudWatch 메트릭으로 만들어요. Container Insights가 수집한 메트릭은 CloudWatch 자동 대시보드에서 사용할 수 있으며 CloudWatch 콘솔의 Metrics 섹션에서도 볼 수 있어요.
- AWS CloudTrail 로그 모니터링 – 계정 간 로그 파일을 공유하고, CloudTrail 로그 파일을 CloudWatch Logs로 보내 실시간으로 모니터링하고, Java로 로그 처리 애플리케이션을 작성하고, CloudTrail이 전달한 후 로그 파일이 변경되지 않았는지 검증해요. 자세한 내용은 이 안내서의
Log Amazon ECS API calls using AWS CloudTrail과 AWS CloudTrail User Guide의Working with CloudTrail Log Files를 참고하세요. - Runtime Monitoring – AWS 환경 내 클러스터와 컨테이너의 위협을 감지해요. Runtime Monitoring은 GuardDuty 보안 에이전트를 사용해 파일 접근, 프로세스 실행, 네트워크 연결 같은 개별 Amazon ECS 워크로드에 런타임 가시성을 추가해요.
수동 모니터링 도구 (Manual monitoring tools)
Amazon ECS 모니터링의 또 다른 중요한 부분은 CloudWatch 알람이 다루지 않는 항목을 수동으로 모니터링하는 것이에요. CloudWatch, Trusted Advisor 및 기타 AWS 콘솔 대시보드는 AWS 환경 상태를 한눈에 볼 수 있게 해 줘요. 컨테이너 인스턴스와 태스크의 컨테이너에 있는 로그 파일도 확인하는 것을 권장해요.
- Amazon ECS 콘솔: EC2 클러스터 메트릭, 서비스 메트릭, 서비스 상태 상태, 서비스 배포 이벤트.
- CloudWatch 홈 페이지: 현재 알람 및 상태, 알람 및 리소스 그래프, 서비스 상태.
또한 CloudWatch를 사용해 다음을 수행할 수 있어요.
-
중요하게 여기는 서비스를 모니터링하는 사용자 지정 대시보드를 만듭니다.
-
문제를 해결하고 추세를 발견하기 위해 메트릭 데이터를 그래프로 표시합니다.
-
모든 AWS 리소스 메트릭을 검색하고 탐색합니다.
-
문제에 대한 알림을 받도록 알람을 만들고 편집합니다.
-
컨테이너 상태 검사 – 컨테이너에서 로컬로 실행되며 애플리케이션 상태와 가용성을 검증하는 명령이에요. 태스크 정의의 컨테이너별로 구성해요.
-
AWS Trusted Advisor는 성능, 신뢰성, 보안, 비용 효율성을 개선하기 위해 AWS 리소스를 모니터링하는 데 도움을 줘요. 4개의 Trusted Advisor 검사는 모든 사용자에게 제공되고, 50개 이상의 검사는 Business 또는 Enterprise 지원 플랜 사용자에게 제공돼요. 자세한 내용은
AWS Trusted Advisor를 참고하세요.- Trusted Advisor에는 Amazon ECS와 관련된 다음 검사가 있어요.
- 단일 가용 영역에서 실행 중인 서비스를 나타내는 내결함성(fault tolerance).
- 여러 가용 영역에 대해 spread 배치 전략을 사용하지 않았음을 나타내는 내결함성.
- Trusted Advisor에는 Amazon ECS와 관련된 다음 검사가 있어요.
-
AWS Compute Optimizer는 AWS 리소스의 구성과 활용도 메트릭을 분석하는 서비스예요. 리소스가 최적인지 보고하고 비용을 줄이고 워크로드 성능을 개선하는 최적화 권장 사항을 생성해요. 자세한 내용은
AWS Compute Optimizer recommendations for Amazon ECS를 참고하세요. -
Amazon ECS MCP 서버 – AI 어시스턴트를 사용해 자연어로 배포를 모니터링하고, 컨테이너 문제를 해결하고, 구성을 검사해요. MCP 서버는 서비스 상태에 대한 실시간 가시성을 제공하고, 태스크 실패를 분석하며, 문제 해결을 가속화해요. 자세한 내용은
Amazon ECS MCP server를 참고하세요.