

 **이 페이지 개선에 도움 주기** 

이 사용자 가이드에 기여하려면 모든 페이지의 오른쪽 창에 있는 **GitHub에서 이 페이지 편집** 링크를 선택합니다.

# EKS Capabilities 컨트롤러 로그에 액세스
<a name="capabilities-controller-logs"></a>

ACK, kro 및 Argo CD용 EKS Capabilities 컨트롤러는 클러스터 외부의 AWS 관리형 인프라에서 실행됩니다. Amazon CloudWatch Vended Logs를 사용하여 이러한 컨트롤러에 대한 로그 전송을 구성하여 모니터링 및 문제 해결을 위한 컨트롤러 동작을 파악할 수 있습니다.

로그는 구조화된 JSON 형식으로 전송되며 로그 수준, 메시지, 컨트롤러 이름 및 조정 식별자와 같은 운영 필드를 포함합니다. 내부 AWS 메타데이터는 전송 전에 필터링됩니다. 기능 컨트롤러와 관련된 운영 로그 콘텐츠만 수신됩니다.

## 지원되는 로그 유형
<a name="_supported_log_types"></a>

각 기능에는 CloudWatch Vended Logs 전송 소스로 독립적으로 구성할 수 있는 로그 유형이 하나 이상 있습니다.

 **ACK** 
+  **EKS\_CAPABILITY\_ACK\_LOGS** 

 **kro** 
+  **EKS\_CAPABILITY\_KRO\_LOGS** 

 **Argo CD** 
+  **EKS\_CAPABILITY\_ARGOCD\_APPLICATION\_LOGS** 
+  **EKS\_CAPABILITY\_ARGOCD\_APPLICATIONSET\_LOGS** 
+  **EKS\_CAPABILITY\_ARGOCD\_COMMITSERVER\_LOGS** 
+  **EKS\_CAPABILITY\_ARGOCD\_REPOSERVER\_LOGS** 
+  **EKS\_CAPABILITY\_ARGOCD\_SERVER\_LOGS** 

ACK는 모든 ACK 서비스 컨트롤러를 포괄하는 단일 로그 유형을 사용합니다. 로그 레코드에는 로그를 생성한 ACK 서비스 컨트롤러를 식별하는 `controllerGroup` 필드(예: `s3.services.k8s.aws`, `rds.services.k8s.aws`)가 포함됩니다. 이 필드를 사용하여 CloudWatch Logs Insights 또는 기타 쿼리 도구에서 특정 서비스 컨트롤러의 로그를 필터링할 수 있습니다.

Argo CD에는 컨트롤러 구성 요소당 하나씩 다섯 가지 로그 유형이 있습니다. 이렇게 하면 필요한 컨트롤러에 대해서만 로깅을 활성화하고 다른 대상으로 라우팅할 수 있습니다.

## 로그 전송 설정
<a name="_setting_up_log_delivery"></a>

기능 컨트롤러 로그 전송을 구성하려면 AWS Management Console 또는 Amazon CloudWatch Logs API를 사용합니다. 자세한 설정 지침은 Amazon CloudWatch Logs 사용 설명서의 [Enabling logging from AWS services](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-vended-logs-permissions-V2.html)를 참조하세요. 각 기능 컨트롤러를 개별 CloudWatch Vended Logs 전송 소스로 구성할 수 있으므로 수신할 로그를 선택할 수 있습니다.

### 콘솔
<a name="_console"></a>

1. https://console.aws.amazon.com/eks/home\#/clusters에서 Amazon EKS 콘솔을 엽니다.

1. 클러스터 이름을 선택하세요.

1. **기능** 탭을 선택한 다음 기능을 선택합니다.

1. **로그 전송** 섹션에서 **추가**를 선택합니다.

1. 기능의 로그 유형을 선택하고 대상을 선택합니다.

1. **추가**를 선택하여 전송을 생성합니다.

### Amazon CloudWatch API 사용
<a name="_using_amazon_cloudwatch_apis"></a>

로깅을 설정하려면 다음과 같은 3단계가 필요합니다.

1. CloudWatch `PutDeliverySource` API를 사용하여 기능의 전송 소스를 생성합니다. 기능 ARN을 `resourceArn`으로 사용하고 원하는 로그 유형을 지정합니다.

1. `PutDeliveryDestination`를 사용하여 전송 대상을 생성합니다. CloudWatch 로그 그룹, S3 버킷 또는 Amazon Data Firehose 전송 스트림의 ARN을 지정합니다.

1. `CreateDelivery`를 사용하여 소스와 대상을 연결하는 전송을 생성합니다.

`describe-capability` 명령을 사용하여 기능 ARN을 검색할 수 있습니다.

```
aws eks describe-capability \
  --region {{region-code}} \
  --cluster-name {{my-cluster}} \
  --capability-name {{my-capability}} \
  --query 'capability.capabilityArn' --output text
```

여러 전송을 생성하여 여러 대상으로 로그를 보내도록 단일 기능(전송 소스)을 구성할 수 있습니다. 여러 기능에서 동일한 대상으로 로그를 보낼 수도 있습니다.

### IAM 권한
<a name="_iam_permissions"></a>

선택한 대상에 따라 성공적인 로그 전송을 위해 CloudWatch 로그 그룹, S3 버킷 및 Amazon Data Firehose의 IAM 정책 또는 역할을 구성해야 할 수도 있습니다. AWS 계정 간에 로그를 보내는 경우 `PutDeliveryDestinationPolicy` API를 사용하여 대상으로의 전송을 허용하는 IAM 정책을 구성합니다. 자세한 내용은 [CloudWatch Vended Logs 권한 설명서](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-V2-CloudWatchLogs)를 참조하세요.

## 예제: CloudWatch Logs Insights로 로그 쿼리
<a name="_example_querying_logs_with_cloudwatch_logs_insights"></a>

모든 컨트롤러에서 오류 로그를 보려면:

```
fields @timestamp, controller, message, error
| filter level = "error"
| sort @timestamp desc
| limit 50
```

서비스 컨트롤러로 필터링, 조정 주기 추적, Argo CD 애플리케이션 필터링을 포함한 추가 쿼리 예제는 [문제 해결에 컨트롤러 로그 사용](capabilities-troubleshooting.md)을 참조하세요.

## 로그 확인
<a name="_viewing_your_logs"></a>

로그 전송을 구성한 후 로그는 지정된 대상으로 전송됩니다. 로그에 액세스하는 방법은 다음과 같이 선택한 대상 유형에 따라 다릅니다.
+  **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 등)으로 로그가 스트리밍됩니다.

## 가격 책정
<a name="_pricing"></a>

CloudWatch Vended Logs 요금은 선택한 전송 대상에 따라 로그 전송 및 스토리지에 적용됩니다. CloudWatch Vended Logs를 사용하면 표준 CloudWatch Logs에 비하여 저렴한 가격으로 기본 제공 AWS 인증 및 권한 부여를 통해 신뢰할 수 있고 안전한 방식으로 로그를 전송할 수 있습니다. 자세한 내용은 [CloudWatch 요금 페이지의 Vended Logs 섹션](https://aws.amazon.com/cloudwatch/pricing/)을 참조하세요.