

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

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

# Amazon EKS MCP 서버 도구 참조
<a name="eks-mcp-tools"></a>

서버는 다음과 같은 [MCP 도구](https://modelcontextprotocol.io/docs/concepts/tools)를 공개합니다.

**참고**  
Amazon EKS MCP 서버는 Amazon EKS의 미리 보기 릴리스로 제공되며 변경될 수 있습니다.

## 읽기 전용 도구
<a name="read_only_tools"></a>

이 섹션에서는 EKS MCP 서버에 대해 사용할 수 있는 읽기 전용 도구를 설명합니다. 모든 읽기 전용 Kubernetes API 작업은 다음 두 가지 모두에 액세스할 수 있습니다.
+  **프라이빗 클러스터**([클러스터 프라이빗 엔드포인트](https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html#cluster-endpoint-private) 참조)
+  **퍼블릭 클러스터** 

## search\$1eks\$1documentation
<a name="search_eks_documentation"></a>

EKS 설명서에서 최신 정보 및 지침을 검색합니다. 이 도구는 에이전트가 모를 수 있는 새로운 기능 및 최근 개선 사항을 포함하여 최신 EKS 설명서에 대한 액세스를 제공합니다.

파라미터:
+  **query**(필수): EKS 설명서, 기능 또는 모범 사례와 관련된 특정 질문 또는 검색 쿼리.
+  **limit**(선택 사항): 반환할 최대 설명서 결과 수(1\$110). 기본값은 5입니다.

## search\$1eks\$1문제 해결\$1가이드
<a name="search_eks_troubleshooting_guide"></a>

쿼리를 기반으로 EKS 문제 해결 안내서에서 문제 해결 정보를 검색합니다. 일반적인 문제를 식별하고 단계별 솔루션을 제공하는 데 도움이 됩니다.

파라미터:
+  **query**(필수): EKS 문제 해결과 관련된 특정 질문 또는 문제 설명.

## describe\$1eks\$1resource
<a name="describe_eks_resource"></a>

구성, 상태 및 메타데이터를 포함하여 특정 EKS 클러스터 리소스에 대한 자세한 정보를 검색합니다.

파라미터:
+  **cluster\$1name**(필수): EKS 클러스터의 이름(클러스터 범위의 리소스에 필요).
+  **resource\$1type**(필수): 설명할 EKS 리소스 유형. 유효한 값:
+ accessentry(principalArn으로 cluster\$1name 및 resource\$1name 필요)
+ addon(추가 기능 이름으로 cluster\$1name 및 resource\$1name 필요)
+ cluster(cluster\$1name 필요), nodegroup(nodegroup 이름으로 cluster\$1name 및 resource\$1name 필요).
+  **resource\$1name**(선택 사항): 설명할 특정 리소스의 이름(대부분의 리소스 유형에 필요).

## list\$1eks\$1resources
<a name="list_eks_resources"></a>

특정 유형의 EKS 리소스를 나열하여 액세스 가능한 지정된 유형의 모든 리소스에 대한 요약을 반환합니다.

파라미터:
+  **resource\$1type**(필수): 나열할 EKS 리소스 유형. 유효한 값:
+ accessentry(cluster\$1name 필요)
+ addon(cluster\$1name 필요)
+ cluster(필요한 추가 파라미터 없음)
+ nodegroup(cluster\$1name) 필요.
+  **cluster\$1name**(선택 사항): EKS 클러스터의 이름(클러스터 범위의 리소스에 필요).

## get\$1eks\$1insights
<a name="get_eks_insights"></a>

최적화를 위한 EKS 클러스터 인사이트 및 권장 사항을 검색합니다. AWS 모범 사례 및 클러스터 분석을 기반으로 보안, 성능 및 비용 최적화에 대해 실행 가능한 인사이트를 제공합니다.

파라미터:
+  **cluster\$1name**(필수): EKS 클러스터의 이름.
+  **category**(선택 사항): 인사이트를 필터링하는 선택적 범주(예: 'MISCONFIGURATION' 또는 'UPGRADE\$1READINESS').
+  **insights\$1id**(선택 사항): 자세한 정보를 가져올 특정 인사이트의 선택적 ID.
+  **next\$1token**(선택 사항): 다음 결과 세트를 가져오기 위한 페이지 매김에 사용할 선택적 토큰.

## get\$1eks\$1vpc\$1config
<a name="get_eks_vpc_config"></a>

서브넷, 라우팅 테이블 및 네트워크 연결을 포함하여 EKS 클러스터에 대한 VPC 구성을 검색합니다.

파라미터:
+  **cluster\$1name**(필수): VPC 구성을 가져올 EKS 클러스터의 이름.
+  **vpc\$1id**(선택 사항): 쿼리할 특정 VPC의 ID(선택 사항, 지정하지 않은 경우 클러스터 VPC 사용).

## get\$1k8s\$1events
<a name="get_k8s_events"></a>

문제 해결 및 모니터링을 위해 특정 리소스와 관련된 Kubernetes 이벤트를 검색합니다.

파라미터:
+  **cluster\$1name**(필수): 리소스가 위치한 EKS 클러스터의 이름.
+  **kind**(필수): 연관된 객체의 종류(예: 'Pod', 'Deployment', 'Service;). 리소스 유형과 정확히 일치해야 합니다.
+  **name**(필수): 이벤트를 가져올 관련 객체의 이름.
+  **namespace**(선택 사항): 관련 객체의 네임스페이스. 네임스페이스 기반 리소스(예: Pods, Deployments)에서 필수입니다. 클러스터 범위의 리소스(예: Nodes, PersistentVolumes)에는 필요하지 않습니다.

## get\$1pod\$1logs
<a name="get_pod_logs"></a>

필터링 옵션을 사용하여 EKS 클러스터의 포드에서 로그를 검색합니다.

파라미터:
+  **cluster\$1name**(필수): 포드가 실행 중인 EKS 클러스터의 이름.
+  **네임스페이스**(필수): 포드가 위치한 Kubernetes 네임스페이스.
+  **pod\$1name**(필수): 로그를 검색할 포드의 이름.
+  **container\$1name**(선택 사항): 로그를 가져올 특정 컨테이너의 이름. 포드에 여러 컨테이너가 포함된 경우에만 필요합니다.
+  **limit\$1bytes**(선택 사항): 반환할 최대 바이트 수. 기본값: 10KB(10,240바이트).
+  **previous**(선택 사항): 이전에 종료된 컨테이너 로그를 반환합니다(기본값은 false). 다시 시작하는 포드에 대한 로그를 가져오는 데 유용합니다.
+  **since\$1seconds**(선택 사항): 이 값(초)보다 최근에 해당하는 최신 로그만 반환합니다. 전체 기록을 검색하지 않고 최근 로그를 가져오는 데 유용합니다.
+  **tail\$1lines**(선택 사항): 로그 끝에서 반환할 줄 수. 기본값: 100.

## list\$1api\$1versions
<a name="list_api_versions"></a>

지정된 Kubernetes 클러스터에서 사용 가능한 모든 API 버전을 나열합니다.

파라미터:
+  **cluster\$1name**(필수): EKS 클러스터의 이름.

## list\$1k8s\$1resources
<a name="list_k8s_resources"></a>

EKS 클러스터에서 특정 종류의 Kubernetes 리소스를 나열합니다.

파라미터:
+  **cluster\$1name**(필수): 리소스가 위치한 EKS 클러스터의 이름.
+  **kind**(필수): 나열할 Kubernetes 리소스의 종류(예: 'Pod', 'Service', 'Deployment'). `list_api_versions` 도구를 사용하여 사용 가능한 리소스 종류를 찾습니다.
+  **api\$1version**(필수): Kubernetes 리소스의 API 버전(예: 'v1', 'apps/v1', 'networking.k8s.io/v1'). `list_api_versions` 도구를 사용하여 사용 가능한 API 버전을 찾습니다.
+  **field\$1selector**(선택 사항): 리소스를 필터링하기 위한 필드 선택기(예: 'metadata.name=my-pod,status.phase=Running'). kubectl의 --field-selector 플래그와 동일한 구문을 사용합니다.
+  **label\$1selector**(선택 사항): 리소스를 필터링할 레이블 선택기(예: 'app=nginx,tier=frontend'). kubectl의 `--selector` 플래그와 동일한 구문을 사용합니다.
+  **namespace**(선택 사항): 나열할 Kubernetes 리소스의 네임스페이스. 제공하지 않으면 모든 네임스페이스에서 리소스가 나열됩니다(네임스페이스 기반 리소스의 경우).

## read\$1k8s\$1resource
<a name="read_k8s_resource"></a>

EKS 클러스터의 특정 Kubernetes 리소스에 대한 자세한 정보를 검색합니다.

파라미터:
+  **api\$1version**(필수): Kubernetes 리소스의 API 버전(예: 'v1', 'apps/v1', 'networking.k8s.io/v1').
+  **cluster\$1name**(필수): 리소스가 위치한 EKS 클러스터의 이름.
+  **kind**(필수): Kubernetes 리소스의 종류(예: 'Pod', 'Service', 'Deployment').
+  **name**(필수): 읽을 Kubernetes 리소스의 이름.
+  **namespace**(선택 사항): Kubernetes 리소스의 네임스페이스. 네임스페이스 기반 리소스에 필요합니다. 클러스터 범위의 리소스(예: Nodes, PersistentVolumes)에는 필요하지 않습니다.

## generate\$1app\$1manifest
<a name="generate_app_manifest"></a>

컨테이너화된 애플리케이션을 위한 표준화된 Kubernetes 배포 및 서비스 매니페스트를 생성합니다.

파라미터:
+  **app\$1name**(필수): 애플리케이션의 이름. 배포 및 서비스 이름과 레이블에 대해 사용됩니다.
+  **image\$1uri**(필수): 태그가 있는 전체 ECR 이미지 URI(예: 123456789012.dkr.ecr.region.amazonaws.com/repo:tag). 전체 리포지토리 경로와 태그를 포함해야 합니다.
+  **load\$1balancer\$1scheme**(선택 사항): AWS 로드 밸런서 체계. 유효한 값:
+ 'internal'(프라이빗 VPC만 해당)
+ internet-facing'(퍼블릭 액세스).
+ 기본값: 'internal'.
+  **cpu**(선택 사항): 각 컨테이너에 대한 CPU 요청(예: 0.1 CPU 코어의 경우 '100m', 코어 절반의 경우 '500m'). 기본값: '100m'.
+  **memory**(선택 사항): 각 컨테이너에 대한 메모리 요청(예: 128MiB의 경우 '128Mi', 1GiB의 경우 '1Gi'). 기본값: '128Mi'
+  **namespace**(선택 사항): 애플리케이션을 배포할 Kubernetes 네임스페이스. 기본값: 'default'.
+  **port**(선택 사항): 애플리케이션이 수신 대기하는 컨테이너 포트. 기본값: 80
+  **replicas**(선택 사항): 배포할 복제본 수. 기본값: 2

## get\$1cloudwatch\$1logs
<a name="get_cloudwatch_logs"></a>

입력 파라미터에 기반한 필터링과 EKS 클러스터 관찰성에 사용되는 표준 로그 그룹에 대한 지원을 통해 CloudWatch 로그를 쿼리합니다.

파라미터:
+  **cluster\$1name**(필수): 리소스가 위치한 EKS 클러스터의 이름. CloudWatch 로그 그룹 이름을 구성하는 데 사용됩니다.
+  **resource\$1type**(필수): 로그를 검색할 리소스 유형. 유효한 값: \$1'pod', 'node', 'container', 'cluster'. 이를 통해 로그가 필터링되는 방법을 결정합니다.
+  **log\$1type**(필수): 쿼리할 로그 유형. 유효한 값:
+ 'application': 컨테이너/애플리케이션 로그
+ 'host': 노드 수준의 시스템 로그
+ 'performance': 성능 지표 로그
+ 'control-plane': EKS 컨트롤 플레인 로그
+ 'your-log-group-name': 사용자 지정 CloudWatch 로그 그룹 이름을 직접 제공합니다.
+  **resource\$1name**(선택 사항): 로그 메시지에서 검색할 리소스 이름(예: 포드 이름, 노드 이름, 컨테이너 이름). 특정 리소스에 대한 로그를 필터링하는 데 사용됩니다.
+  **minutes**(선택 사항): 과거 로그를 조회할 분 수. 기본값: 15. start\$1time이 제공된 경우 무시됩니다. 최근 문제에는 더 작은 값을 사용하고 과거 분석에는 더 큰 값을 사용합니다.
+  **start\$1time**(선택 사항): ISO 형식의 시작 시간(예: '2023-01-01T00:00:00Z'). 제공된 경우 minutes 파라미터를 재정의합니다.
+  **end\$1time**(선택 사항): ISO 형식의 종료 시간(예: '2023-01-01T01:00:00Z'). 제공되지 않은 경우 기본값은 현재 시간입니다.
+  **fields**(선택 사항): 쿼리 결과에 포함할 사용자 지정 필드(기본값: '@timestamp, @message'). CloudWatch Logs Insights 필드 구문을 사용합니다.
+  **filter\$1pattern**(선택 사항): 적용할 추가 CloudWatch Logs 필터 패턴. CloudWatch Logs Insights 구문(예: 'ERROR', 'field=value')을 사용합니다.
+  **limit**(선택 사항): 반환할 최대 로그 항목 수. 더 빠른 쿼리에는 더 낮은 값(10\$150)을 사용하고 더 포괄적인 결과를 얻으려면 더 높은 값(100\$11,000)을 사용합니다. 값이 높을수록 성능에 영향을 미칠 수 있습니다.

## get\$1cloudwatch\$1metrics
<a name="get_cloudwatch_metrics"></a>

EKS 클러스터 모니터링 및 성능 분석을 위한 CloudWatch 지표 및 데이터 포인트를 검색합니다. Container Insights 지표, 사용자 지정 지표, 구성 가능한 기간 및 차원을 처리합니다.

파라미터:
+  **cluster\$1name**(필수): 지표를 가져올 EKS 클러스터의 이름.
+  **dimensions**(필수): CloudWatch 지표 쿼리에 대해 JSON 문자열로 사용할 차원. 리소스 유형 및 지표에 대한 적절한 차원을 포함해야 합니다(예: '\$1"ClusterName": "my-cluster", "PodName": "my-pod", "Namespace": "default"\$1').
+  **metric\$1name**(필수): 검색할 지표 이름. 일반적인 예제:
+  `cpu_usage_total`: 총 CPU 사용량
+  `memory_rss`: 상주 세트 크기 메모리 사용량
+  `network_rx_bytes`: 수신된 네트워크 바이트
+  `network_tx_bytes`: 전송된 네트워크 바이트
+  **namespace**(필수): 지표가 저장되는 CloudWatch 네임스페이스. 공통 값:
+  `"ContainerInsights"`: 컨테이너 지표의 경우
+  `"AWS/EC2"`: EC2 인스턴스 지표의 경우
+  `"AWS/EKS"`: EKS 컨트롤 플레인 지표의 경우
+  **minutes**(선택 사항): 과거 지표를 조회할 분 수. 기본값: 15. start\$1time이 제공된 경우 무시됩니다.
+  **start\$1time**(선택 사항): ISO 형식의 시작 시간(예: '2023-01-01T00:00:00Z'). 제공된 경우 minutes 파라미터를 재정의합니다.
+  **end\$1time**(선택 사항): ISO 형식의 종료 시간(예: '2023-01-01T01:00:00Z'). 제공되지 않은 경우 기본값은 현재 시간입니다.
+  **limit**(선택 사항): 반환할 최대 데이터 포인트 수. 값이 높을수록(100\$11,000) 더 세분화된 데이터가 제공되지만 성능에 영향을 미칠 수 있습니다. 기본값: 50.
+  **period**(선택 사항): 지표 데이터 포인트의 기간(초). 기본값: 60(1분). 값이 낮을수록(1\$160) 해상도는 높지만 가용성은 떨어질 수 있습니다.
+  **stat**(선택 사항): 지표 집계에 사용할 통계. 기본값: 'Average'. 유효한 값:
+  `Average`: 해당 기간의 평균 값
+  `Sum:`: 해당 기간의 총 값
+  `Maximum`: 해당 기간의 최고 값
+  `Minimum`: 해당 기간의 최저 값
+  `SampleCount`: 해당 기간의 샘플 수.

## get\$1eks\$1metrics\$1guidance
<a name="get_eks_metrics_guidance"></a>

EKS 클러스터의 특정 리소스 유형에 대한 CloudWatch 지표 지침을 가져옵니다. get\$1cloudwatch\$1metrics 도구와 함께 사용할 올바른 차원을 결정할 때 에이전트에 유용합니다.

파라미터:
+  **resource\$1type**(필수): 지표를 가져올 리소스 유형(클러스터, 노드, 포드, 네임스페이스, 서비스).

## get\$1policies\$1for\$1role
<a name="get_policies_for_role"></a>

수임 역할 정책, 관리형 정책 및 인라인 정책을 포함하여 지정된 IAM 역할에 연결된 모든 정책을 검색합니다.

파라미터:
+  **role\$1name**(필수): 정책을 가져올 IAM 역할의 이름. AWS 계정에 역할이 있어야 합니다.

## 전체 액세스(쓰기) 도구
<a name="full_access_tools"></a>

이 섹션에서는 EKS MCP 서버에 대해 사용할 수 있는 읽기 전용 도구를 설명합니다. '오늘'을 기준으로 모든 쓰기 Kubernetes API 작업은 다음에만 액세스할 수 있습니다.
+  **Public clusters**(endpointPublicAccess=true)

## manage\$1k8s\$1resource
<a name="manage_k8s_resource"></a>

쓰기 작업(생성, 업데이트, 패치 또는 삭제)을 사용하여 단일 Kubernetes 리소스를 관리합니다.

파라미터:
+  **operation**(필수): 리소스에서 수행할 작업. 유효한 값:
+  `create:`: 새 리소스 생성
+  `replace`: 기존 리소스 교체
+  `patch`: 기존 리소스의 특정 필드 업데이트
+  `delete`: 기존 리소스 삭제
+  **참고**: 리소스를 읽으려면 read\$1k8s\$1resource를 사용하고 여러 리소스를 나열하려면 list\$1k8s\$1resources를 사용합니다.
+  **cluster\$1name**(필수): 리소스가 있거나 생성될 EKS 클러스터의 이름.
+  **kind**(필수): Kubernetes 리소스의 종류(예: 'Pod', 'Service', 'Deployment').
+  **api\$1version**(필수): Kubernetes 리소스의 API 버전(예: 'v1', 'apps/v1', 'networking.k8s.io/v1').
+  **body**(선택 사항): JSON 문자열에 해당하는 리소스 정의. 생성, 교체 및 패치 작업에 필요합니다. 생성 및 교체의 경우 완전한 리소스 정의여야 합니다. 패치의 경우 업데이트할 필드만 포함해야 합니다.
+  **name**(선택 사항): Kubernetes 리소스의 이름. 생성(본문에 지정할 수 있음)을 제외한 모든 작업에 필요합니다.
+  **namespace**(선택 사항): Kubernetes 리소스의 네임스페이스. 네임스페이스 기반 리소스에 필요합니다. 클러스터 범위의 리소스(예: Nodes, PersistentVolumes)에는 필요하지 않습니다.

## apply\$1yaml
<a name="apply_yaml"></a>

EKS 클러스터에 Kubernetes YAML 매니페스트를 적용합니다.

파라미터:
+  **cluster\$1name**(필수): 리소스를 생성하거나 업데이트할 EKS 클러스터의 이름.
+  **namespace**(필수): 리소스를 적용할 Kubernetes 네임스페이스. 네임스페이스를 지정하지 않는 네임스페이스 기반 리소스에 사용됩니다.
+  **yaml\$1content**(필수): 클러스터에 적용할 YAML 콘텐츠. '---'로 구분된 여러 문서를 포함할 수 있습니다.
+  **force**(선택 사항): 리소스가 이미 존재하는 경우 업데이트 여부(kubectl 적용과 유사). 새 리소스만 생성하려면 false로 설정합니다.

## manage\$1eks\$1stacks
<a name="manage_eks_stacks"></a>

템플릿 생성, EKS 클러스터 및 기본 인프라 배포, 설명 및 삭제 작업을 통해 EKS CloudFormation 스택을 관리합니다. 클러스터 생성은 완료하는 데 보통 15\$120분이 걸립니다. 배포 및 삭제 작업의 경우 이 도구로 스택을 생성해야 합니다(예: CreatedBy=EksMcpServer로 태그 지정).

파라미터:
+  **cluster\$1name**(필수): EKS 클러스터의 이름(생성, 배포, 설명 및 삭제 작업용). 이 이름은 CloudFormation 스택 이름을 추출하는 데 사용되며 클러스터 리소스에 포함됩니다.
+  **operation**(필수): 수행할 작업. 유효한 값:
+  `generate`: CloudFormation 템플릿 생성
+  `deploy`: CloudFormation 스택 배포(`template_content` 필요)
+  `describe`: CloudFormation 스택 설명/읽기(읽기 전용)
+  `delete`: CloudFormation 스택 삭제
+  **template\$1content**(선택 사항): CloudFormation 템플릿 콘텐츠(배포 작업용). 이는 전체 YAML 또는 JSON 템플릿 콘텐츠여야 합니다. 단일 리소스와 '---'로 구분된 다중 문서 YAML 콘텐츠를 모두 지원합니다.

## add\$1inline\$1policy
<a name="add_inline_policy"></a>

IAM 역할에 새 인라인 정책을 추가합니다.

파라미터:
+  **permissions**(필수): IAM 정책 설명을 나타내는 JSON 문자열로 정책에 포함할 수 있는 권한. 단일 JSON 문자열 또는 JSON 문자열 배열일 수 있습니다.
+  **policy\$1name**(필수): 생성할 인라인 정책의 이름. 역할 내에서 고유해야 합니다.
+  **role\$1name**(필수): 정책을 추가할 IAM 역할의 이름. 역할이 있어야 합니다.