콘솔에서 Amazon ECS 이벤트 캡처
콘솔에서 Amazon ECS 이벤트 캡처
Amazon ECS 콘솔은 서비스 작업과 태스크 상태 변경 같은 Amazon ECS 생성 이벤트를 EventBridge를 통해 Amazon CloudWatch Logs에 저장하는 이벤트 캡처(event capture) 기능을 제공해요. 이 기능은 모니터링과 트러블슈팅을 위한 필터링 기능이 있는 쿼리 인터페이스를 포함합니다.
출처: 문서
본문
Amazon ECS 콘솔은 서비스 작업(service actions)과 태스크 상태 변경(task state changes) 같은 Amazon ECS 생성 이벤트를 EventBridge를 통해 Amazon CloudWatch Logs에 저장하는 이벤트 캡처 기능을 제공합니다. 이 기능은 모니터링과 트러블슈팅을 위한 필터링 기능이 있는 쿼리 인터페이스를 포함해요.
이벤트는 서비스 배포, 서비스, 태스크, 인스턴스가 어떻게 동작하는지에 대한 상세 정보를 제공합니다. 이 정보를 사용해 태스크나 서비스 배포 실패를 트러블슈팅할 수 있습니다. 이벤트 캡처를 켜면 선택한 보존 기간 동안 Amazon ECS가 생성하는 모든 이벤트에 접근할 수 있으며, 이는 기본 한도인 필터링되지 않은 마지막 100개 이벤트 또는 1시간 동안만 보이는 중지된 태스크라는 네이티브 제한을 넘어섭니다.
동작 방식
이벤트 캡처는 EventBridge를 사용해 미리 정의된 Amazon CloudWatch Logs 로그 그룹에 이벤트를 저장합니다. Amazon ECS 콘솔은 사전 빌드된 쿼리와 필터링 옵션을 제공하고, 이벤트를 연관시켜 태스크 수명주기를 직관적인 형식으로 보여줍니다.
다음 유형의 이벤트를 쿼리하고 검색할 수 있습니다.
- Service action events – 프로비저닝이나 리소스 할당 문제를 식별하는 데 도움.
- Task lifecycle events – 태스크나 컨테이너가 시작에 실패하거나 실행을 중지하는 이유를 식별하는 데 도움.
Amazon ECS 콘솔은 이벤트 캡처를 원클릭으로 설정할 수 있게 하며, 쿼리 언어를 배우거나 여러 콘솔을 오갈 필요 없이 자주 사용하는 쿼리와 필터링을 제공합니다.
이벤트 유형
이벤트 캡처는 Amazon ECS 생성 이벤트를 다음 카테고리로 모두 저장합니다.
- Task state change events – 컨테이너 중지와 다른 종료 이벤트. 트러블슈팅이나 태스크 수명주기 타임라인 모니터링에 사용할 수 있습니다.
- Service actions – steady state 도달, 태스크 배치 실패, 리소스 제약 같은 이벤트.
- Service deployment state changes – 진행 중, 완료, 또는 실패한 배포(t 서킷 브레이커와 롤백 설정으로 트리거됨) 같은 이벤트로, 서비스 배포 상태를 모니터링하는 데 사용.
- Container instance state changes – EC2와 Amazon ECS Managed Instances의 워크로드에 대해 연결·연결 해제 상태를 보여주는 이벤트.
로그 그룹 구성
이벤트 캡처를 켜면 Amazon ECS가 다음 리소스를 자동 생성합니다.
/aws/events/ecs/containerinsights/$ {clusterName}/performance라는 이름의 Amazon CloudWatch Logs 로그 그룹aws.ecs소스의 모든 이벤트를 수집해 로그 그룹으로 전달하는 EventBridge 규칙
로그 그룹의 보존 기간을 1일에서 10년 사이로 지정할 수 있습니다. 기본 보존 기간은 7일입니다.
고려 사항
이벤트 캡처를 사용할 때 다음을 고려하세요.
- 이벤트 캡처는 단순성을 위해 모든 이벤트를 저장합니다. Amazon ECS 콘솔에서 특정 이벤트만 캡처하도록 규칙을 구성할 수 없습니다. Amazon ECS 콘솔은 미리 정의된 쿼리 기준을 제공하며, 고급 쿼리는 Amazon CloudWatch Logs Insights를 사용해 로그 그룹을 직접 쿼리하세요.
- Live tail 기능은 Amazon ECS 콘솔에서 사용할 수 없습니다. live tail에는 Amazon CloudWatch Logs를 직접 사용하세요.
- 이벤트 캡처를 비활성화하면 EventBridge 규칙이 삭제됩니다.
- 이벤트 캡처는 EventBridge 데이터 수집, Amazon CloudWatch Logs 스토리지, 쿼리 실행에 대해 추가 비용이 발생합니다. EventBridge 요금은 EventBridge pricing, CloudWatch 요금은 CloudWatch pricing을 참고하세요.
이벤트 기반 트러블슈팅
자주 묻는 트러블슈팅 질문에 답하는 데 Amazon ECS 생성 이벤트를 사용하세요.
태스크 실패 분석
STOPPED태스크 상태 변경 이벤트, 정지 코드(stop codes), 컨테이너 종료 코드(exit codes)를 검토해 태스크가 시작에 실패했거나 실행 중 실패한 이유를 파악할 수 있습니다.- 배치 실패와 리소스 제약 정보에 대해 서비스 작업 이벤트를 검토해 태스크가 리소스 제약 때문에 배치에 실패한 이유를 파악할 수 있습니다.
흔한 태스크 실패 시나리오
가장 흔한 비정상 태스크 실패는 다음 문제와 관련됩니다.
- CI/CD 서비스 배포 실패
- 자동 확장 실패
- 태스크 리밸런싱 실패
- OOM(메모리 부족) 오류 같은 비정상 컨테이너 종료
비정상 태스크 실패는 EssentialContainerExited나 TaskFailedToStart 정지 코드와 함께 STOPPED 태스크 상태 변경 이벤트를 생성합니다. 이 정지 코드로 필터링하여 컨테이너 실행·중지 동작을 검사할 수 있어요.
더 알아보기 (Learn more)
- Amazon ECS 이벤트와 EventBridge에 대한 자세한 내용은 AWS 공식 문서를 참고해 주세요.