

# 콘솔에서 Amazon ECS 이벤트 캡처
<a name="task-lifecycle-events"></a>

Amazon ECS 콘솔은 서비스 작업 및 태스크 상태 변경과 같은 Amazon ECS 생성 이벤트를 EventBridge를 통해 Amazon CloudWatch Logs에 저장하는 이벤트 캡처 기능을 제공합니다. 이 기능에는 모니터링 및 문제 해결을 위한 필터링 기능이 있는 쿼리 인터페이스가 포함되어 있습니다.

이벤트는 서비스 배포, 서비스, 태스크 및 인스턴스의 작동 방식에 대한 자세한 정보를 제공합니다. 이 정보를 사용하여 태스크 또는 서비스 배포 장애 문제를 해결할 수 있습니다.

이벤트 캡처를 켜면 Amazon ECS가 선택한 보존 기간에 생성하는 모든 이벤트에 액세스할 수 있으며, 필터링되지 않은 마지막 이벤트 100개 또는 단 1시간 동안 표시되는 중지된 태스크의 기본 제한 이상으로 확장됩니다.

## 작동 방식
<a name="task-lifecycle-events-overview"></a>

이벤트 캡처는 EventBridge를 사용하여 사전 정의된 Amazon CloudWatch Logs 로그 그룹에 이벤트를 저장합니다. Amazon ECS 콘솔은 사전 빌드된 쿼리 및 필터링 옵션을 제공하고 이벤트를 상호 연관시켜 직관적인 형식으로 태스크 수명 주기를 제공합니다.

다음 유형의 이벤트를 쿼리하고 검색할 수 있습니다.
+ **서비스 작업 이벤트** - 프로비저닝 또는 리소스 할당 문제를 식별하는 데 도움이 됩니다.
+ **태스크 수명 주기 이벤트** - 태스크 또는 컨테이너가 시작되지 않거나 실행이 중지되는 이유를 식별하는 데 도움이 됩니다.

Amazon ECS 콘솔을 사용하면 클릭 한 번으로 이벤트 캡처를 설정할 수 있으며 쿼리 언어를 배우거나 여러 콘솔 간에 이동할 필요 없이 일반적으로 사용되는 쿼리 및 필터링을 제공합니다.

## 이벤트 유형
<a name="task-lifecycle-events-types"></a>

이벤트 캡처는 모든 Amazon ECS 생성 이벤트를 다음 범주로 저장합니다.

태스크 상태 변경 이벤트  
문제 해결 또는 태스크 수명 주기 타임라인 모니터링에 사용할 수 있는 컨테이너 중지 및 기타 종료 이벤트.

서비스 작업  
안정 상태 도달, 태스크 배치 실패 또는 리소스 제약과 같은 이벤트.

서비스 배포 상태 변경 사항  
서비스 배포의 상태를 모니터링하기 위해 회로 차단기 및 롤백 설정에 의해 트리거되는 진행 중, 완료 또는 실패한 배포와 같은 이벤트.

컨테이너 인스턴스 상태 변경 사항  
EC2 및 Amazon ECS 관리형 인스턴스의 워크로드인 경우 이벤트에 연결 및 연결 해제 상태가 표시됩니다.

## 로그 그룹 구성
<a name="task-lifecycle-events-log-group"></a>

이벤트 캡처를 켜면 Amazon ECS는 다음 리소스를 자동으로 생성합니다.
+ Amazon CloudWatch Logs 로그 그룹(`/aws/events/ecs/containerinsights/${clusterName}/performance`)
+ `aws.ecs` 소스에서 모든 이벤트를 수집하여 로그 그룹으로 전달하는 EventBridge 규칙

로그 그룹의 보존 기간을 1일에서 10년까지 지정할 수 있습니다. 기본 보존 기간은 7일입니다.

## 고려 사항
<a name="task-lifecycle-events-limitations"></a>

용량 공급자를 사용할 경우 다음을 고려합니다.
+ 이벤트 캡처는 단순성을 위해 모든 이벤트를 저장합니다. Amazon ECS 콘솔에서는 특정 이벤트만 캡처하도록 규칙을 구성할 수 없습니다.
+ Amazon ECS 콘솔은 사전 정의된 쿼리 기준을 제공합니다. 고급 쿼리의 경우 Amazon CloudWatch Logs의 Logs Insights를 사용하여 로그 그룹을 직접 쿼리합니다.
+ Amazon ECS 콘솔에서는 라이브 테일 기능을 사용할 수 없습니다. 라이브 테일을 사용하려면 Amazon CloudWatch Logs를 직접 사용합니다.
+ 이벤트 캡처를 비활성화하면 EventBridge 규칙이 삭제됩니다.
+ 이벤트 캡처에는 EventBridge 데이터 수집, Amazon CloudWatch Logs 스토리지 및 쿼리 실행에 대한 추가 비용이 발생합니다.

  EventBridge 요금에 대한 자세한 내용은 [EventBridge 요금](https://aws.amazon.com/eventbridge/pricing/)을 참조하세요.

  CloudWatch 요금에 대한 자세한 내용은 [CloudWatch 요금](https://aws.amazon.com/cloudwatch/pricing/)을 참조하세요.

## 이벤트 기반 문제 해결
<a name="task-lifecycle-events-troubleshooting"></a>

Amazon ECS 생성 이벤트를 사용하여 일반적인 문제 해결 질문에 답변합니다.

### 태스크 장애 분석
<a name="task-lifecycle-events-task-failures"></a>

`STOPPED` 태스크 상태 변경 이벤트, 중지 코드 및 컨테이너 종료 코드를 검토하여 태스크가 시작되지 않거나 실행 중에 실패한 이유를 확인할 수 있습니다.

배치 장애에 대한 서비스 작업 이벤트 및 리소스 제약 정보를 검토하여 리소스 제약 조건으로 인해 태스크가 배치되지 않은 이유를 확인할 수 있습니다.

### 일반적인 태스크 장애 시나리오
<a name="task-lifecycle-events-common-issues"></a>

가장 일반적인 비정상 태스크 장애는 다음 문제와 관련이 있습니다.
+ CI/CD 서비스 배포 장애
+ 오토 스케일링 장애
+ 태스크 리밸런싱 장애
+ 메모리 부족(OOM) 오류와 같은 비정상적인 컨테이너 종료

비정상 태스크 장애는 `EssentialContainerExited` 또는 `TaskFailedToStart` 중지 코드와 함께 `STOPPED` 태스크 상태 변경 이벤트를 생성합니다. 이러한 중지 코드를 기준으로 필터링하여 컨테이너 실행 및 중지 동작을 검사할 수 있습니다.

# 기존 Amazon ECS 클러스터에 대한 이벤트 캡처 켜기
<a name="turn-on-event-capture-existing-cluster"></a>

기존 Amazon ECS 클러스터에서 이벤트 캡처를 활성화하여 EventBridge를 통해 Amazon ECS 생성 이벤트를 Amazon CloudWatch Logs에 저장할 수 있습니다. 이 기능은 태스크 장애, 서비스 배포 및 기타 클러스터 활동을 모니터링하고 문제를 해결하는 데 도움이 됩니다.

이벤트 캡처를 활성화하면 Amazon ECS는 다음 리소스를 생성합니다.
+ Amazon CloudWatch Logs 로그 그룹(`/aws/events/ecs/containerinsights/${clusterName}/performance`)
+ `aws.ecs` 소스에서 모든 이벤트를 캡처하는 EventBridge 규칙

클러스터 보기에 **기록** 탭이 표시되고 이를 통해 태스크 수명 주기 이벤트 및 서비스 작업을 쿼리할 수 있습니다. 이벤트 캡처는 즉시 시작되며 지정된 보존 기간에 따라 모든 Amazon ECS 생성 이벤트를 저장합니다.

## 사전 조건
<a name="turn-on-event-capture-prerequisites"></a>
+ 기존 Amazon ECS 클러스터.
+ 클러스터 설정을 수정하고 Amazon CloudWatch Logs 리소스를 생성하기 위한 적절한 IAM 권한

## 콘솔을 사용하여 이벤트 캡처 켜기
<a name="turn-on-event-capture-procedure"></a>

1. [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2)에서 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다.

1. 이벤트 캡처를 활성화할 클러스터를 선택하세요.

   클러스터 세부 정보 페이지가 표시됩니다.

1. **구성**을 선택합니다.

1. **ECS 이벤트** 섹션에서 **이벤트 캡처 켜기**를 선택하세요.

   **이벤트 캡처 켜기** 대화 상자가 표시됩니다.

1. **만료 이벤트**에서 Amazon CloudWatch Logs 로그 그룹의 보존 기간을 선택하세요. 기본값은 7일입니다.

1. **켜기**를 선택합니다.

# Amazon ECS 서비스 및 태스크 상태 변경 이벤트 보기
<a name="viewing-state-events"></a>

Amazon ECS 콘솔은 서비스 작업 및 태스크 상태 변경과 같은 Amazon ECS 생성 이벤트를 EventBridge를 통해 Amazon CloudWatch Logs에 저장하는 이벤트 캡처 기능을 제공합니다. 이 기능에는 모니터링 및 문제 해결을 개선하기 위한 필터링 기능이 있는 쿼리 인터페이스가 포함되어 있습니다.

이벤트는 서비스 배포, 서비스, 태스크 및 인스턴스의 작동 방식에 대한 자세한 정보를 제공합니다. 이 정보를 사용하여 태스크 또는 서비스 배포 장애 문제를 해결할 수 있습니다.

다음 기준 중 하나를 사용하여 이벤트를 필터링할 수 있습니다.
+  배포 ID(서비스 세부 정보 페이지에서만 사용 가능) 
+ 시작 시간
+ 종료 시간 
+ 서비스 이름(클러스터 세부 정보 페이지에서만 해당됨, 서비스 세부 정보 페이지에서 현재 서비스가 기본값으로 설정됨) 
+ 태스크 ID 
+ 태스크 마지막 상태 
+ 태스크 정의 패밀리 
+ 태스크 정의 개정 

## 클러스터 수준에서 이벤트 보기
<a name="view-cluster-procedure"></a>

1. [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2)에서 콘솔을 엽니다.

1. **클러스터**를 선택하세요.

   클러스터 목록 페이지가 표시됩니다.

1.  클러스터를 선택합니다.

   클러스터 세부 정보 페이지가 표시됩니다.

1. **기록**에서 보려는 이벤트를 결정하세요.

   1. 서비스 작업 이벤트를 보려면 **서비스 작업 이벤트**를 선택하세요.

   1. 작업 상태 변경 이벤트를 보려면 **작업 상태 변경 이벤트**를 선택하세요.

   1. (선택 사항) **쿼리 기준**에 보려는 이벤트의 필터를 입력하세요.

1. **쿼리 실행**을 선택합니다.

   이벤트가 목록에 표시됩니다.

1. 이벤트의 전체 세부 정보를 보려면 이벤트를 선택합니다.

## 서비스 수준에서 보기
<a name="tasks-procedure"></a>

1. [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2)에서 콘솔을 엽니다.

1. **클러스터(Clusters)** 페이지에서 클러스터를 선택합니다.

1. 클러스터 세부 정보 페이지의 **서비스** 섹션에서 서비스를 선택합니다.

   서비스 세부 정보 페이지가 표시됩니다.

1. **기록**에서 보려는 이벤트를 결정하세요.

   1. 서비스 작업 이벤트를 보려면 **서비스 작업 이벤트**를 선택하세요.

   1. 작업 상태 변경 이벤트를 보려면 **작업 상태 변경 이벤트**를 선택하세요.

   1. (선택 사항) **쿼리 기준**에 보려는 이벤트의 필터를 입력하세요.

1. **쿼리 실행**을 선택합니다.

   이벤트가 목록에 표시됩니다.

1. 이벤트의 전체 세부 정보를 보려면 이벤트를 선택합니다.