

# CloudWatch에서 Container Insights에 대한 사전 요구 사항 확인
<a name="Container-Insights-prerequisites"></a>

Amazon EKS 또는 Kubernetes에서 Container Insights를 설치하기 전에 다음을 확인합니다. 이러한 사전 조건은 Amazon EKS 클러스터에서 Container Insights를 설정하는 데 CloudWatch 에이전트를 사용하든 AWS Distro for OpenTelemetry를 사용하든 상관없이 적용됩니다.
+ Amazon EKS 및 Kubernetes의 Container Insights를 지원하는 리전 중 하나에 노드가 연결되어 작동하는 Amazon EKS 또는 Kubernetes 클러스터가 있습니다. 지원되는 리전 목록은 [Container Insights](ContainerInsights.md) 단원을 참조하세요.
+ `kubectl`을 설치하여 실행하고 있습니다. 자세한 내용은 *Amazon EKS 사용 설명서*의 [`kubectl` 설치](https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html) 단원을 참조하세요.
+ Amazon EKS를 사용하는 대신 AWS에서 실행되는 Kubernetes를 사용하는 경우 다음 사전 조건도 충족해야 합니다.
  + Kubernetes 클러스터가 역할 기반 액세스 제어(RBAC)를 지원하는지 확인합니다. 자세한 내용은 Kubernetes 참조 문서의 [RBAC 승인 사용](https://kubernetes.io/docs/reference/access-authn-authz/rbac/)을 참조하세요.
  + 여러분의 Kubelet에서는 Webhook 인증 모드를 지원해왔습니다. 자세한 내용은 Kubernetes 참조 문서의 [Kubelet 인증/권한 부여](https://kubernetes.io/docs/reference/access-authn-authz/kubelet-authn-authz/)를 참조하세요.

또한 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/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

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

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

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

1. **정책 연결**을 선택합니다.

Amazon EKS 외부에서 Kubernetes 클러스터를 실행하는 경우 작업자 노드에 연결된 IAM 역할이 아직 없을 수 있습니다. 이렇게 없는 경우에는 먼저, IAM 역할을 인스턴스에 연결한 다음, 이전 단계에서 설명한 대로 정책을 추가해야 합니다. 인스턴스에 역할을 연결하는 방법에 대한 자세한 내용은 **Amazon EC2 사용 설명서의 [인스턴스에 IAM 역할 연결](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/iam-roles-for-amazon-ec2.html#attach-iam-role) 섹션을 참조하세요.

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

------
#### [ JSON ]

****  

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

------

**IAM 서비스 계정 역할 사용**

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

**IAM 서비스 계정 역할을 사용하여 CloudWatch에 권한을 부여하려면**

1. 아직 설정하지 않았다면 클러스터에서 서비스 계정의 IAM 역할을 사용 설정합니다. 자세한 내용은 [클러스터의 서비스 계정에 대한 IAM 역할 활성화](https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html)를 참조하세요.

1. 아직 구성하지 않은 경우 IAM 역할을 사용하도록 서비스 계정을 구성합니다. 자세한 내용을 알아보려면 [IAM 역할을 수임하도록 Kubernetes 서비스 계정 구성](https://docs.aws.amazon.com/eks/latest/userguide/associate-service-account-role.html)을 참조하세요.

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

1. 아직 연결하지 않았다면 IAM 역할을 클러스터의 서비스 계정과 연결합니다. 자세한 내용을 알아보려면 [IAM 역할을 수임하도록 Kubernetes 서비스 계정 구성](https://docs.aws.amazon.com/eks/latest/userguide/associate-service-account-role.html)을 참조하세요.