Amazon EKS 제어 플레인 로깅 - Amazon EKS

문서의 영문과 번역 사이에 충돌이 있는 경우에는 영문 버전을 따릅니다. 번역 버전은 기계 번역을 사용하여 제공합니다.

Amazon EKS 제어 플레인 로깅

Amazon EKS 제어 플레인 로깅은 Amazon EKS 제어 플레인에서 계정의 CloudWatch Logs로 감사 및 진단 로그를 직접 제공합니다. 이러한 로그를 통해 클러스터를 쉽게 보호하고 실행할 수 있습니다. 필요한 로그 유형을 정확하게 선택할 수 있으며, 로그는 CloudWatch의 각 Amazon EKS 클러스터에 대한 그룹에 로그 스트림으로 전송됩니다.

각각의 새로운 또는 기존 Amazon EKS 클러스터에 대해 활성화하려는 로그 유형을 선택하여 Amazon EKS 제어 플레인 로깅의 사용을 시작할 수 있습니다. AWS Management 콘솔 또는 AWS CLI(버전 1.16.139 이상)를 사용하거나 Amazon EKS API를 통해 클러스터 단위로 각 로그 유형을 활성화하거나 비활성화할 수 있습니다. 활성화하면 로그가 Amazon EKS 클러스터에서 동일한 계정의 CloudWatch Logs로 자동으로 전송됩니다.

Amazon EKS 제어 플레인 로깅을 사용하면 실행하는 각 클러스터에 대해 표준 Amazon EKS 요금이 부과됩니다. 클러스터에서 CloudWatch Logs로 전송한 모든 로그에 대해 표준 CloudWatch Logs 데이터 수집 및 스토리지 비용이 부과됩니다. 또한 클러스터의 일부로 프로비저닝한 AWS 리소스(예: Amazon EC2 인스턴스 또는 Amazon EBS 볼륨)에 대해서도 요금이 부과됩니다.

사용할 수 있는 클러스터 제어 플레인 로그 유형은 다음과 같습니다. 각 로그 유형은 Kubernetes 제어 플레인의 구성 요소에 해당합니다. 이러한 구성 요소에 대한 자세한 내용은 Kubernetes 설명서의 쿠버네티스 컴포넌트를 참조하십시오.

  • Kubernetes API 서버 컴포넌트 로그(api) – 클러스터의 API 서버는 Kubernetes API가 표시되는 제어 플레인 구성 요소입니다. 자세한 내용은 Kubernetes 설명서의 kube-apiserver를 참조하십시오.

  • 감사(audit) – Kubernetes 감사 로그는 클러스터에 영향을 주는 개별 사용자, 관리자 또는 시스템 구성 요소를 제공합니다. 자세한 내용은 Kubernetes 설명서의 Auditing을 참조하십시오.

  • 인증자(authenticator) – 인증자 로그는 Amazon EKS에 고유합니다. 이러한 로그는 Amazon EKS가 IAM 자격 증명을 통해 Kubernetes RBAC(역할 기반 액세스 제어) 인증에 사용하는 제어 플레인 구성 요소를 나타냅니다. 자세한 내용은 클러스터 인증 단원을 참조하십시오.

  • 컨트롤러 관리자(controllerManager) – 컨트롤러 관리자는 Kubernetes와 함께 제공되는 핵심 컨트롤 루프를 관리합니다. 자세한 내용은 Kubernetes 설명서의 kube-controller-manager를 참조하십시오.

  • 스케줄러(scheduler) – 스케줄러 구성 요소는 클러스터에서 포드를 실행하는 시기와 위치를 관리합니다. 자세한 내용은 Kubernetes 설명서의 kube-scheduler를 참조하십시오.

제어 플레인 로그 활성화 및 비활성화

기본적으로 클러스터 제어 플레인 로그는 CloudWatch Logs로 전송되지 않습니다. 클러스터에 대해 로그를 전송하려면 각 로그 유형을 개별적으로 활성화해야 합니다. CloudWatch Logs 수집, 아카이브 스토리지 및 데이터 스캔 요금이 활성화된 제어 플레인 로그에 적용됩니다. 자세한 내용은 CloudWatch 요금을 참조하십시오.

로그 유형을 활성화하면 로그가 로그 세부 수준 2로 전송됩니다.

콘솔을 통해 제어 플레인 로그를 활성화 또는 비활성화하려면

  1. Open the Amazon EKS console at https://console.aws.amazon.com/eks/home#/clusters.

  2. 클러스터 이름을 선택하여 클러스터 정보를 표시합니다.

  3. Logging(로깅)에서 Update(업데이트)를 선택합니다.

  4. 각 개별 로그 유형에 대해 로그 유형이 Enabled(활성)이어야 하는지 아니면 Disabled(비활성)이어야 하는지를 선택합니다. 기본적으로 각 로그 유형은 Disabled(비활성)입니다.

  5. Update(업데이트)를 선택하여 완료합니다.

AWS CLI를 통해 제어 플레인 로그를 활성화 또는 비활성화하려면

  1. AWS CLI 버전은 다음 명령을 통해 확인할 수 있습니다.

    aws --version

    AWS CLI 버전이 1.16.139 이하인 경우, 먼저 최신 버전으로 업데이트를 해야 합니다. 를 설치 또는 업그레이드하려면 AWS CLI, 참조 AWS 명령줄 인터페이스 설치 에서 AWS Command Line Interface 사용 설명서.

  2. 다음 AWS CLI 명령을 사용하여 클러스터의 제어 플레인 로그 내보내기 구성을 업데이트합니다. 클러스터 이름과 원하는 엔드포인트 액세스 값을 대체합니다.

    참고

    다음 명령은 사용 가능한 모든 로그 유형을 CloudWatch Logs로 전송합니다.

    aws eks --region region-code update-cluster-config --name prod \ --logging '{"clusterLogging":[{"types":["api","audit","authenticator","controllerManager","scheduler"],"enabled":true}]}'

    결과:

    { "update": { "id": "883405c8-65c6-4758-8cee-2a7c1340a6d9", "status": "InProgress", "type": "LoggingUpdate", "params": [ { "type": "ClusterLogging", "value": "{\"clusterLogging\":[{\"types\":[\"api\",\"audit\",\"authenticator\",\"controllerManager\",\"scheduler\"],\"enabled\":true}]}" } ], "createdAt": 1553271814.684, "errors": [] } }
  3. 이전 명령에서 반환된 클러스터 이름과 업데이트 ID를 사용하여 다음 명령으로 로그 구성 업데이트의 상태를 모니터링합니다. 상태가 Successful로 표시되면 업데이트가 완료된 것입니다.

    aws eks --region region-code describe-update --name prod --update-id 883405c8-65c6-4758-8cee-2a7c1340a6d9

    결과:

    { "update": { "id": "883405c8-65c6-4758-8cee-2a7c1340a6d9", "status": "Successful", "type": "LoggingUpdate", "params": [ { "type": "ClusterLogging", "value": "{\"clusterLogging\":[{\"types\":[\"api\",\"audit\",\"authenticator\",\"controllerManager\",\"scheduler\"],\"enabled\":true}]}" } ], "createdAt": 1553271814.684, "errors": [] } }

클러스터 제어 플레인 로그 보기

Amazon EKS 클러스터에 대한 제어 플레인 로그 유형을 활성화하면 CloudWatch 콘솔에서 해당 유형을 볼 수 있습니다.

CloudWatch에서 로그를 보고, 분석하고, 관리하는 방법에 대한 자세한 내용은 Amazon CloudWatch Logs User Guide를 참조하십시오.

CloudWatch 콘솔에서 클러스터 제어 플레인 로그를 보려면

  1. https://console.aws.amazon.com/cloudwatch/home#logs:prefix=/aws/eks에서 CloudWatch 콘솔을 엽니다. 이 URL은 현재 사용 가능한 로그 그룹을 표시하며, /aws/eks 접두사로 해당 로그 그룹을 필터링합니다.

  2. 로그를 보려는 클러스터를 선택합니다. 로그 그룹 이름 형식은 /aws/eks/cluster-name/cluster입니다.

  3. 보려는 로그 스트림을 선택합니다. 다음 목록에는 각 로그 유형의 로그 스트림 이름 형식에 대한 설명이 나와 있습니다.

    참고

    로그 스트림 데이터가 증가함에 따라 로그 스트림 이름이 교체됩니다. 특정 로그 유형에 대해 여러 로그 스트림이 있는 경우 최신 Last Event Time(마지막 이벤트 시간)으로 로그 스트림 이름을 찾아 최신 로그 스트림을 볼 수 있습니다.

    • Kubernetes API 서버 구성 요소 로그(api)kube-apiserver-nnn...

    • 감사(audit)kube-apiserver-audit-nnn...

    • 인증자(authenticator)authenticator-nnn...

    • 컨트롤러 관리자(controllerManager)kube-controller-manager-nnn...

    • 스케줄러(scheduler)kube-scheduler-nnn...