사전 조건 확인 - Amazon CloudWatch

사전 조건 확인

Amazon EKS 또는 Kubernetes에서 Container Insights를 설치하기 전에 다음을 확인합니다. 이러한 사전 조건은 Amazon EKS 클러스터에서 Container Insights를 설정하는 데 CloudWatch 에이전트를 사용하든 AWS Distro for OpenTelemetry를 사용하든 상관없이 적용됩니다.

  • Amazon EKS 및 Kubernetes의 Container Insights를 지원하는 리전 중 하나에 노드가 연결되어 작동하는 Amazon EKS 또는 Kubernetes 클러스터가 있습니다. 지원되는 리전 목록은 Container Insights 단원을 참조하세요.

  • kubectl을 설치하여 실행하고 있습니다. 자세한 내용은 Amazon EKS 사용 설명서kubectl 설치 단원을 참조하세요.

  • Amazon EKS를 사용하는 대신 AWS에서 실행되는 Kubernetes를 사용하는 경우 다음 사전 조건도 충족해야 합니다.

    • Kubernetes 클러스터가 역할 기반 액세스 제어(RBAC)를 지원하는지 확인합니다. 자세한 내용은 Kubernetes 참조 문서의 RBAC 승인 사용을 참조하세요.

    • 여러분의 Kubelet에서는 Webhook 인증 모드를 지원해왔습니다. 자세한 내용은 Kubernetes 참조 문서의 Kubelet 인증/권한 부여를 참조하세요.

또한 Amazon EKS 작업자 노드가 지표 및 로그를 CloudWatch에 전송할 수 있도록 IAM 권한을 부여해야 합니다. 이렇게 하는 방법은 두 가지입니다.

  • 작업자 노드의 IAM 역할에 정책을 연결합니다. 이는 Amazon EKS 클러스터와 다른 Kubernetes 클러스터 모두에 적용됩니다.

  • 클러스터 서비스 계정의 IAM 역할을 사용하고 이 역할에 정책을 연결합니다. 이는 Amazon EKS 클러스터에만 적용됩니다.

첫 번째 옵션은 전체 노드의 CloudWatch에 권한을 부여하며, 서비스 계정의 IAM 역할을 사용하면 CloudWatch에 적절한 DaemonSet 포드에 대한 액세스 권한만 부여됩니다.

작업자 노드의 IAM 역할에 정책 연결

다음 단계에 따라 작업자 노드의 IAM 역할에 정책을 연결합니다. 이는 Amazon EKS 클러스터와 Amazon EKS 외부의 Kubernetes 클러스터 모두에 적용됩니다.

작업자 노드의 IAM 역할에 필요한 정책을 연결하려면
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 작업자 노드 인스턴스 중 하나를 선택하고 설명에서 IAM 역할을 선택합니다.

  3. IAM 역할 페이지에서 [정책 연결(Attach policies)]을 선택합니다.

  4. 정책 목록에서 CloudWatchAgentServerPolicy 옆의 확인란을 선택합니다. 필요한 경우 검색 상자를 사용하여 이 정책을 찾습니다.

  5. 정책 연결을 선택합니다.

Amazon EKS 외부에서 Kubernetes 클러스터를 실행하는 경우 작업자 노드에 연결된 IAM 역할이 아직 없을 수 있습니다. 이렇게 없는 경우에는 먼저, IAM 역할을 인스턴스에 연결한 다음, 이전 단계에서 설명한 대로 정책을 추가해야 합니다. 인스턴스에 역할을 연결하는 방법에 대한 자세한 내용은 ‘Windows 인스턴스용 Amazon EC2 사용 설명서’의 인스턴스에 IAM 역할 연결 단원을 참조하세요.

Amazon EKS 외부에서 Kubernetes 클러스터를 실행 중인데 지표에서 EBS 볼륨 ID를 수집하려는 경우 인스턴스에 연결된 IAM 역할에 다른 정책을 추가해야 합니다. 다음 내용을 인라인 정책으로 추가합니다. 자세한 내용은 ‘IAM 사용 설명서’의 IAM 자격 증명 권한 추가 및 제거 단원을 참조하세요.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "ec2:DescribeVolumes" ], "Resource": "*", "Effect": "Allow" } ] }

IAM 서비스 계정 역할 사용

이 방법은 Amazon EKS 클러스터에서만 작동합니다.

IAM 서비스 계정 역할을 사용하여 CloudWatch에 권한을 부여하려면
  1. 아직 설정하지 않았다면 클러스터에서 서비스 계정의 IAM 역할을 사용 설정합니다. 자세한 내용은 클러스터의 서비스 계정에 대한 IAM 역할 활성화를 참조하세요.

  2. 아직 구성하지 않은 경우 IAM 역할을 사용하도록 서비스 계정을 구성합니다. 자세한 내용을 알아보려면 IAM 역할을 수임하도록 Kubernetes 서비스 계정 구성을 참조하세요.

    역할을 생성할 경우 역할에 대해 생성한 정책 외에도 CloudWatchAgentServerPolicy IAM 정책을 역할에 연결합니다. 또한 이 역할에 연결된 Kubernetes 서비스 계정은 CloudWatch 및 Fluent Bit daemonsets가 다음 단계에서 배포될 amazon-cloudwatch 네임스페이스에 생성되어야 합니다

  3. 아직 연결하지 않았다면 IAM 역할을 클러스터의 서비스 계정과 연결합니다. 자세한 내용을 알아보려면 IAM 역할을 수임하도록 Kubernetes 서비스 계정 구성을 참조하세요.