EKS Auto의 AWS 관리형 컴포넌트 로그 접근하기

EKS Auto의 AWS 관리형 컴포넌트 로그 접근하기

EKS Auto Mode에서 AWS 관리형 컴포넌트 로그에 접근해 클러스터 운영에 대한 더 깊은 관측성을 얻는 방법을 알아봐요. 로그 전송 대상을 지정하고 CloudWatch API로 로그 전달을 설정하는 전 과정을 다뤄요.

출처: 문서

본문

EKS Auto Mode에서 AWS 관리형 컴포넌트 로그에 접근해 클러스터 운영에 대한 더 깊은 관측성을 얻을 수 있어요. EKS Auto Mode는 다음 소스의 로그를 지원해요:

  • 컴퓨트 오토스케일링 — Karpenter (Compute autoscaling - Karpenter)
  • 블록 스토리지 — EBS CSI (Block storage - EBS CSI)
  • 로드 밸런싱 — AWS Load Balancer Controller (Load balancing - AWS Load Balancer Controller)
  • 파드 네트워킹 — VPC CNI IP 주소 관리 (Pod networking - VPC CNI IP Address Management)

로그는 원하는 전송 대상(delivery destination)으로 전달할 수 있어요.

EKS Auto Mode 클러스터를 만들 때 제어 플레인 로깅(API server, Audit, Authenticator, Controller manager, Scheduler)을 활성화할 수 있는 옵션이 있어요. AWS 관리형 컴포넌트 로그(Compute, Block storage, Load balancing, IPAM 등)는 로그 전달(log delivery)을 통해 별도로 구성해야 해요.

로그 전달 설정하기 (Setting up log delivery)

EKS Auto Mode 클러스터의 AWS 관리형 컴포넌트 로그 전달을 구성하려면 Amazon CloudWatch Logs API를 사용해요. 자세한 설정 지침은 Amazon CloudWatch Logs 사용자 안내서의 Enabling logging from AWS services를 참고해 주세요. 각 Auto Mode 기능은 개별 CloudWatch Vended Logs 전달 소스로 구성할 수 있어 접근하고 싶은 로그를 선택할 수 있어요.

EKS Auto Mode는 다음 로그 유형을 지원해요:

  • AUTO_MODE_COMPUTE_LOGS
  • AUTO_MODE_BLOCK_STORAGE_LOGS
  • AUTO_MODE_LOAD_BALANCING_LOGS
  • AUTO_MODE_IPAM_LOGS

Amazon CloudWatch API 사용하기 (Using Amazon CloudWatch APIs)

로깅 설정에는 세 단계가 필요해요:

  1. CloudWatch PutDeliverySource API로 기능에 대한 전달 소스(delivery source) 생성
  2. PutDeliveryDestination으로 전달 대상(delivery destination) 생성
  3. CreateDelivery로 소스와 대상을 연결하는 전달(delivery) 생성

CloudWatch PutDeliveryDestination API의 deliveryDestinationConfiguration 객체로 Auto Mode 로그 대상의 세부 정보를 구성할 수 있어요. 이 객체는 CloudWatch 로그 그룹, S3 버킷, 또는 Amazon Data Firehose 전달 스트림 중 하나의 ARN을 받아요.

다중 전달을 생성해 단일 Auto Mode 기능(전달 소스)이 여러 대상으로 로그를 보내게 구성할 수 있어요. 여러 전달을 생성해 여러 전달 소스가 같은 전달 대상으로 로그를 보내도록 구성할 수도 있어요.

IAM 권한 (IAM permissions)

선택한 대상에 따라 CloudWatch 로그 그룹, S3 버킷, Amazon Data Firehose에 대한 IAM 정책 또는 역할을 구성해 로그 전달이 성공하도록 해야 할 수 있어요. 또한 AWS 계정 간에 로그를 보내는 경우 PutDeliveryDestinationPolicy API를 사용해 대상으로의 전달을 허용하는 IAM 정책을 구성해야 해요. 자세한 내용은 CloudWatch Vended Logs 권한 문서를 참고해 주세요.

로그 보기 (Viewing your logs)

로그 전달이 구성되면 로그가 지정한 대상으로 전달돼요. 로그에 접근하는 방법은 선택한 대상 유형에 따라 달라요:

  • CloudWatch Logs — CloudWatch Logs 콘솔에서 로그를 보거나, AWS CLI 명령으로 접근하거나, CloudWatch Logs Insights로 쿼리해요.
  • Amazon S3 — S3 콘솔, AWS CLI, 또는 Amazon Athena 같은 분석 도구를 통해 S3 버킷의 객체로 로그에 접근해요.
  • Amazon Data Firehose — 로그가 구성한 Firehose 대상(예: S3, OpenSearch Service, Redshift 등)으로 스트리밍돼요.

요금 (Pricing)

선택한 전송 대상에 따라 CloudWatch Vended Logs 요금이 로그 전달과 스토리지에 적용돼요. CloudWatch Vended Logs는 표준 CloudWatch Logs보다 저렴한 가격으로 내장된 AWS 인증과 권한 부여로 안정적이고 안전한 로그 전달을 제공해요. 자세한 내용은 CloudWatch 요금 페이지의 Vended Logs 섹션을 참고해 주세요.

  • Amazon EKS 제어 플레인 로깅
  • CloudWatch Logs API 참조의 PutDeliverySource API
  • CloudWatch Logs API 참조의 PutDeliveryDestination API
  • CloudWatch Logs API 참조의 CreateDelivery API

더 알아보기 (Learn more)