Action Logs로 Amazon ECS 작업 모니터링

Action Logs로 Amazon ECS 작업 모니터링

Amazon ECS Action Logs 개요

Amazon ECS Action Logs를 사용하면 컨테이너 수명 주기 작업 중 Amazon ECS가 사용자를 대신해 수행하는 모든 작업을 모니터링할 수 있어요. Action Logs는 클러스터 내 모든 리소스 작업, 상태 전환, 서비스 시작 API 호출의 타임스탬프 기록을 캡처해요. Action Logs는 컨테이너 이미지 다운로드, 로드 밸런서 등록, 보안 그룹 구성 같은 이전에는 보이지 않았던 작업을 기록해요. Action Logs가 없으면 리소스의 시작과 끝 상태만 관찰할 수 있어요. Action Logs가 있으면 그 상태들 사이에서 Amazon ECS가 취하는 모든 중간 단계를 볼 수 있어요. Action Logs를 활성화하면 AWS Management Console의 Amazon Q가 이 로그에 접근해 콘솔에서 직접 배포 실패와 데몬 문제를 디버깅하는 데 도움을 줘요.

출처: 문서

본문

Action Logs의 이점

Action Logs는 Amazon ECS 워크로드 관리에 다음 이점을 제공해요.

  • 서비스 작업에 대한 가시성 – 상태 전환 사이에 Amazon ECS가 수행하는, 인프라 프로비저닝, 네트워크 구성, 리소스 등록을 포함한 이전에는 보이지 않던 작업을 봅니다.
  • 향상된 문제 해결 – AWS Support에 연락하지 않고 배포 실패와 인프라 문제를 진단합니다. Action Logs는 점점 늘어나는 실패 원인 집합을 지원해요.
  • 확장된 실패 메타데이터 – 표준 1시간 보존 기간을 넘어 실패한 태스크에 대한 메타데이터를 보존합니다. 원하는 속도로 자세한 실패 정보를 검토할 수 있어요.
  • 셀프 서비스 디버깅 – 실패로 이어진 전체 작업 시퀀스를 검토해 문제를 독립적으로 조사하고 해결합니다.

기록되는 것 (What gets logged)

Action Logs는 다음 Amazon ECS 작업의 액션을 캡처해요.

  • 서비스 배포 – 상태 전환, 롤백, 수명 주기 훅 실행.
  • 관리형 데몬 수명 주기 – Managed Daemons의 생성, 업데이트, 삭제, 인스턴스 드레인 작업.

Action Logs 작동 방식

클러스터 수준에서 Action Logs를 선택(opt in)해요. Amazon ECS 콘솔 또는 Amazon CloudWatch API(PutDeliverySource, PutDeliveryDestination, CreateDelivery)를 사용해 Action Logs를 활성화할 수 있어요. Action Logs를 활성화하면 Amazon ECS는 CloudWatch Ingestion Hub를 통해 구조화된 JSON 로그를 내보내요. Amazon ECS는 선택한 대상인 CloudWatch Logs, Amazon S3 또는 Amazon Data Firehose로 로그를 전달해요.

Action Logs는 fire-and-forget 방식 게시를 사용해요. 로그 게시는 Amazon ECS 리소스 작업을 절대 차단하거나 저하시키지 않아요. 일시적인 전달 실패가 발생해도 Amazon ECS는 중단 없이 워크로드를 계속 처리해요.

로그 스키마 개요 (Log schema overview)

각 Action Log 항목에는 다음 필드가 포함돼요.

  • timestamp – 이벤트가 발생한 Unix 밀리초.
  • logLevel – 심각도 수준: INFO, WARN 또는 ERROR.
  • account – AWS 계정 ID.
  • region – 이벤트가 발생한 AWS 리전.
  • resourceArn – 선택 범위를 나타내는 클러스터 ARN.
  • actionSourceId – 서비스 ARN 또는 데몬 ARN 같은 하위 리소스 식별자.
  • eventName – 액션 식별자. 예: DAEMON_DEPLOYMENT_IN_PROGRESS.
  • detail – 액션에 대한 추가 컨텍스트를 담은 이벤트별 JSON 페이로드.

로그 대상 및 구성 (Log destinations and organization)

Action Logs를 다음 대상으로 전달할 수 있어요.

  • CloudWatch Logs – CloudWatch Logs는 /aws/vendedlogs/ecs/action-logs/{resourceId}라는 로그 그룹에 로그를 저장해요. Amazon ECS는 각 하위 리소스에 대해 {actionSourceId}를 로그 스트림 이름으로 사용하는 별도의 로그 스트림을 만들어요.
  • Amazon S3 – Amazon S3는 로그를 계정, 리전, 5분 시간 창으로 분할해요. Amazon S3는 효율적인 저장을 위해 gzip으로 파일을 압축해요.
  • Amazon Data Firehose – Amazon Data Firehose는 로그를 거의 실시간으로 줄바꿈 구분 JSON 레코드로 전달해요.

요금 (Pricing)

Action Logs는 표준 CloudWatch vended logs 요금을 사용하는 유료 기능이에요. 클러스터가 생성하는 로그 볼륨에 따라 로그 수집과 저장 비용을 지불해요. 대상 설정을 통해 보존 기간을 구성할 수 있어요. Amazon ECS 콘솔에서 Action Logs를 활성화하면 CloudWatch Logs는 기본 보존 기간 7일을 사용해요.

토픽

  • Amazon ECS Action Logs 시작하기 (Getting started with Amazon ECS Action Logs)
  • Amazon ECS Action Logs로 문제 해결 (Troubleshooting with Amazon ECS Action Logs)