Guida introduttiva al server MCP Amazon EKS - Amazon EKS

Contribuisci a migliorare questa pagina

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Per contribuire a questa guida per l'utente, scegli il GitHub link Modifica questa pagina nel riquadro destro di ogni pagina.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Guida introduttiva al server MCP Amazon EKS

Questa guida illustra i passaggi per configurare e utilizzare il server MCP EKS con i tuoi assistenti di codice AI. Imparerai come configurare il tuo ambiente, connetterti al server e iniziare a gestire i cluster EKS attraverso interazioni in linguaggio naturale.

Nota

Amazon EKS MCP Server è in versione di anteprima per Amazon EKS ed è soggetto a modifiche.

Prerequisiti

Prima di iniziare, esegui le seguenti attività:

Configurazione

1. Verifica dei prerequisiti di

# Check that your Python version is 3.10 or higher python3 --version # Check uv installation uv --version # Verify CLI configuration aws configure list

2. Configura le autorizzazioni IAM

Per connettersi al server EKS MCP, il ruolo IAM deve avere le seguenti policy allegate: eks-mcp:InvokeMcp(autorizzazioni necessarie per l'inizializzazione e il recupero delle informazioni sugli strumenti disponibili), eks-mcp:CallReadOnlyTool(autorizzazioni richieste per l'utilizzo di strumenti di sola lettura) e (autorizzazioni richieste per l'utilizzo di strumenti di accesso completo eks-mcp:CallPrivilegedTool(scrittura)). Queste eks-mcp autorizzazioni sono incluse nelle politiche gestite di sola lettura e accesso completo fornite di seguito. AWS

  • Apri la console IAM.

  • Nel riquadro di navigazione a sinistra, scegli Utenti, Gruppi di utenti o Ruoli a seconda dell'identità a cui desideri allegare la politica, quindi del nome dell'utente, del gruppo o del ruolo specifico.

  • Scegli la scheda Autorizzazioni.

  • Scegli Allega politiche (o Aggiungi autorizzazioni se è la prima volta).

  • Nell'elenco delle politiche, cerca e seleziona la politica gestita che desideri allegare:

  • Operazioni di sola lettura: Amazon EKSMCPRead OnlyAccess

  • Scegli Allega politiche (o Avanti e poi Aggiungi autorizzazioni per confermare).

In questo modo viene allegata la politica e le autorizzazioni hanno effetto immediato. È possibile allegare più policy alla stessa identità e ognuna può contenere diverse autorizzazioni. Per ulteriori informazioni su queste politiche, consulta le politiche AWS gestite per Amazon Elastic Kubernetes Service.

3. Scegli un assistente AI

Scegli uno dei seguenti assistenti AI compatibili con MCP o uno strumento compatibile con MCP:

Passaggio 1: configura il tuo assistente AI

Scegli una delle seguenti opzioni per configurare il tuo assistente di codice AI. Il completamento di questo passaggio configura il tuo assistente di codice AI per utilizzare il proxy MCP AWS, necessario per l'accesso sicuro e autenticato al server MCP Amazon EKS. Ciò comporta l'aggiunta o la modifica del file di configurazione MCP (ad esempio, ~/.aws/amazonq/mcp.json per Amazon Q Developer CLI). Il proxy funge da bridge lato client, gestendo l'autenticazione AWS SigV4 utilizzando AWS le credenziali locali e abilitando l'individuazione dinamica degli strumenti per l'interazione con server MCP di backend AWS come EKS MCP Server. Per ulteriori informazioni, consulta MCP Proxy for repository. AWS

Opzione A: Amazon Q Developer CLI

La CLI Q Developer offre l'esperienza più integrata con il server MCP EKS.

1. Individua il file di configurazione MCP

  • macOS/Linux: ~/.aws/q/mcp.json

  • Windows: %USERPROFILE%\.aws\q\mcp.json

2. Aggiungi configurazione del server MCP

Create il file di configurazione se non esiste. Assicurati di sostituire il segnaposto region ({region}) con la regione desiderata.

Per Mac/Linux:

{ "mcpServers": { "eks-mcp": { "disabled": false, "type": "stdio", "command": "uvx", "args": [ "mcp-proxy-for-aws@latest", "https://eks-mcp.{region}.api.aws/mcp", "--service", "eks-mcp", "--profile", "default", "--region", "{region}" ] } } }

Per Windows:

{ "mcpServers": { "eks-mcp": { "disabled": false, "type": "stdio", "command": "uvx", "args": [ "--from", "mcp-proxy-for-aws@latest", "mcp-proxy-for-aws.exe", "https://eks-mcp.{region}.api.aws/mcp", "--service", "eks-mcp", "--profile", "default", "--region", "{region}" ] } } }

Nota sulla sicurezza: --read-only può essere utilizzato per consentire solo operazioni di sola lettura sullo strumento.

3. Verifica la configurazione

Riavvia Q Developer CLI, quindi controlla gli strumenti disponibili:

q /tools

Opzione B: Kiro IDE

Kiro è uno spazio di lavoro di codifica incentrato sull'intelligenza artificiale con supporto MCP integrato.

1. Apri le impostazioni di Kiro

  • Apri Kiro

  • Vai su KiroImpostazioni e cerca «MCP Config»

  • Oppure premi Cmd+Shift+P, (Mac) o Ctrl+Shift+P, (Windows/Linux) e cerca «MCP Config»

2. Aggiungi la configurazione del server MCP

  • Fai clic su «Open Workspace MCP Config» o «Open User MCP Config» per modificare direttamente il file di configurazione MCP.

Assicurati di sostituire il segnaposto region ({region}) con la regione desiderata.

Per Mac/Linux:

{ "mcpServers": { "eks-mcp": { "disabled": false, "type": "stdio", "command": "uvx", "args": [ "mcp-proxy-for-aws@latest", "https://eks-mcp.{region}.api.aws/mcp", "--service", "eks-mcp", "--profile", "default", "--region", "{region}" ] } } }

Per Windows:

{ "mcpServers": { "eks-mcp": { "disabled": false, "type": "stdio", "command": "uvx", "args": [ "--from", "mcp-proxy-for-aws@latest", "mcp-proxy-for-aws.exe", "https://eks-mcp.{region}.api.aws/mcp", "--service", "eks-mcp", "--profile", "default", "--region", "{region}" ] } } }

Nota sulla sicurezza: --read-only può essere utilizzato per consentire solo operazioni di sola lettura sullo strumento.

Opzione C: Cursor IDE

Cursor fornisce il supporto MCP integrato con un'interfaccia di configurazione grafica.

1. Apri le impostazioni del cursore

  • Apri il cursore

  • Vai a Impostazioni → Impostazioni del cursoreStrumenti e MCP

  • Oppure premi Cmd+Shift+P (Mac)/Ctrl+Shift+P(Windows) e cerca «MCP»

2. Aggiungi la configurazione del server MCP

  • Fai clic su «Nuovo server MCP»

Crea il file di configurazione se non esiste. Assicurati di sostituire il segnaposto region ({region}) con la regione desiderata.

Per Mac/Linux:

{ "mcpServers": { "eks-mcp": { "disabled": false, "type": "stdio", "command": "uvx", "args": [ "mcp-proxy-for-aws@latest", "https://eks-mcp.{region}.api.aws/mcp", "--service", "eks-mcp", "--profile", "default", "--region", "{region}" ] } } }

Per Windows:

{ "mcpServers": { "eks-mcp": { "disabled": false, "type": "stdio", "command": "uvx", "args": [ "--from", "mcp-proxy-for-aws@latest", "mcp-proxy-for-aws.exe", "https://eks-mcp.{region}.api.aws/mcp", "--service", "eks-mcp", "--profile", "default", "--region", "{region}" ] } } }

Nota sulla sicurezza: --read-only può essere utilizzato per consentire solo operazioni di sola lettura sullo strumento.

3. Riavvia il cursore

Chiudi e riapri il cursore per rendere effettive le modifiche.

4. Verifica nella chat di Cursor

Apri il pannello della chat e prova a:

What EKS MCP tools are available?

Dovresti vedere un elenco di strumenti di gestione EKS disponibili.

Opzione D: Cline (VS Code Extension)

Cline è una popolare estensione VS Code che porta l'assistenza AI direttamente nel tuo editor.

1. Apri le impostazioni di Cline

  • Apri Cline

  • Premi Cmd+Shift+P (Mac)/Ctrl+Shift+P(Windows) e cerca «MCP»

2. Aggiungi la configurazione del server MCP

  • Fai clic su «Aggiungi server»

  • Fai clic su «Apri configurazione utente»

Crea il file di configurazione se non esiste. Assicurati di sostituire il segnaposto region ({region}) con la regione desiderata.

Per Mac/Linux:

{ "mcpServers": { "eks-mcp": { "disabled": false, "type": "stdio", "command": "uvx", "args": [ "mcp-proxy-for-aws@latest", "https://eks-mcp.{region}.api.aws/mcp", "--service", "eks-mcp", "--profile", "default", "--region", "{region}" ] } } }

Per Windows:

{ "mcpServers": { "eks-mcp": { "disabled": false, "type": "stdio", "command": "uvx", "args": [ "--from", "mcp-proxy-for-aws@latest", "mcp-proxy-for-aws.exe", "https://eks-mcp.{region}.api.aws/mcp", "--service", "eks-mcp", "--profile", "default", "--region", "{region}" ] } } }

Nota sulla sicurezza: --read-only può essere utilizzato per consentire solo operazioni di sola lettura sullo strumento.

2. Ricarica VS Code

PremiCmd+Shift+P/Ctrl+Shift+Pe seleziona «Developer: Reload Window»

3. Verifica la configurazione

Apri Cline e chiedi:

List the available MCP tools for EKS

Fase 2: (Facoltativo) Creare una politica di «scrittura»

Facoltativamente, puoi creare una policy IAM gestita dal cliente che fornisca l'accesso completo al server MCP Amazon EKS. Questa policy concede le autorizzazioni per utilizzare tutti gli strumenti nel server EKS MCP, inclusi gli strumenti privilegiati che possono comportare operazioni di scrittura e gli strumenti di sola lettura. Tieni presente che le autorizzazioni ad alto rischio (qualsiasi cosa con Delete* o una risorsa IAM senza restrizioni) sono incluse in questa policy, in quanto sono richieste per le risorse del cluster nello strumento manage_eks_stacks. setup/teardown

aws iam create-policy \ --policy-name EKSMcpWriteManagementPolicy \ --policy-document "{\"Version\": \"2012-10-17\", \"Statement\": [{\"Effect\": \"Allow\", \"Action\": [\"eks:DescribeCluster\", \"eks:ListClusters\", \"eks:DescribeNodegroup\", \"eks:ListNodegroups\", \"eks:DescribeAddon\", \"eks:ListAddons\", \"eks:DescribeAccessEntry\", \"eks:ListAccessEntries\", \"eks:DescribeInsight\", \"eks:ListInsights\", \"eks:AccessKubernetesApi\"], \"Resource\": \"*\"}, {\"Effect\": \"Allow\", \"Action\": [\"eks:CreateCluster\", \"eks:DeleteCluster\", \"eks:CreateAccessEntry\", \"eks:TagResource\"], \"Resource\": \"*\"}, {\"Effect\": \"Allow\", \"Action\": [\"iam:GetRole\", \"iam:ListRolePolicies\", \"iam:ListAttachedRolePolicies\", \"iam:GetRolePolicy\", \"iam:GetPolicy\", \"iam:GetPolicyVersion\"], \"Resource\": \"*\"}, {\"Effect\": \"Allow\", \"Action\": [\"iam:TagRole\", \"iam:CreateRole\", \"iam:AttachRolePolicy\", \"iam:PutRolePolicy\", \"iam:DetachRolePolicy\", \"iam:DeleteRole\"], \"Resource\": \"*\"}, {\"Effect\": \"Allow\", \"Action\": [\"iam:PassRole\"], \"Resource\": \"*\", \"Condition\": {\"StringEquals\": {\"iam:PassedToService\": [\"eks.amazonaws.com\", \"ec2.amazonaws.com\"]}}}, {\"Effect\": \"Allow\", \"Action\": [\"ec2:CreateVpc\", \"ec2:CreateSubnet\", \"ec2:CreateRouteTable\", \"ec2:CreateRoute\", \"ec2:CreateInternetGateway\", \"ec2:CreateNatGateway\", \"ec2:CreateSecurityGroup\", \"ec2:AttachInternetGateway\", \"ec2:AssociateRouteTable\", \"ec2:ModifyVpcAttribute\", \"ec2:ModifySubnetAttribute\", \"ec2:AllocateAddress\", \"ec2:CreateTags\"], \"Resource\": \"*\"}, {\"Effect\": \"Allow\", \"Action\": [\"ec2:DeleteVpc\", \"ec2:DeleteSubnet\", \"ec2:DisassociateRouteTable\", \"ec2:DeleteRouteTable\", \"ec2:DeleteRoute\", \"ec2:DetachInternetGateway\", \"ec2:DeleteInternetGateway\", \"ec2:DeleteNatGateway\", \"ec2:ReleaseAddress\", \"ec2:DeleteSecurityGroup\"], \"Resource\": \"*\"}, {\"Effect\": \"Allow\", \"Action\": [\"ec2:DescribeVpcs\", \"ec2:DescribeSubnets\", \"ec2:DescribeRouteTables\", \"ec2:DescribeInternetGateways\", \"ec2:DescribeNatGateways\", \"ec2:DescribeAddresses\", \"ec2:DescribeSecurityGroups\", \"ec2:DescribeAvailabilityZones\"], \"Resource\": \"*\"}, {\"Effect\": \"Allow\", \"Action\": [\"cloudformation:CreateStack\", \"cloudformation:UpdateStack\", \"cloudformation:DeleteStack\", \"cloudformation:DescribeStacks\", \"cloudformation:TagResource\"], \"Resource\": \"*\"}, {\"Effect\": \"Allow\", \"Action\": [\"sts:GetCallerIdentity\"], \"Resource\": \"*\"}, {\"Effect\": \"Allow\", \"Action\": [\"logs:StartQuery\", \"logs:GetQueryResults\"], \"Resource\": \"*\"}, {\"Effect\": \"Allow\", \"Action\": [\"cloudwatch:GetMetricData\"], \"Resource\": \"*\"}, {\"Effect\": \"Allow\", \"Action\": [\"eks-mcp:*\"], \"Resource\": \"*\"}]}"

Fase 3: Verifica la configurazione

Prova la connessione

Fai una semplice domanda al tuo assistente AI per verificare la connessione:

List all EKS clusters in my {aws} account

Dovresti vedere un elenco dei tuoi cluster EKS.

Fase 4: Esegui le tue prime attività

Esempio 1: esplora i tuoi cluster

Show me all EKS clusters and their status
What insights does EKS have about my production-cluster?
Show me the VPC configuration for my staging cluster

Esempio 2: verifica le risorse di Kubernetes

Get the details of all the kubernetes resources deployed in my EKS cluster
Show me pods that are not in Running state or pods with any restarts
Get the logs from the aws-node daemonset in the last 30 minutes

Esempio 3: Risoluzione dei problemi

Why is my nginx-ingress-controller pod failing to start?
Search the EKS troubleshooting guide for pod networking issues
Show me events related to the failed deployment in the staging namespace

Esempio 4: creazione di risorse (se la modalità «scrittura» è abilitata)

Create a new EKS cluster named demo-cluster with VPC and Auto Mode
Deploy my containerized app from ECR to the production namespace with 3 replicas
Generate a Kubernetes deployment YAML for my Node.js app running on port 3000

Configurazioni comuni

Scenario 1: profili multipli AWS

Se lavori con più AWS account, crea configurazioni server MCP separate.

Per Mac/Linux:

{ "mcpServers": { "eks-mcp-prod": { "disabled": false, "type": "stdio", "command": "uvx", "args": [ "mcp-proxy-for-aws@latest", "https://eks-mcp.{region}.api.aws/mcp", "--service", "eks-mcp", "--profile", "production", "--region", "us-west-2" ] }, "eks-mcp-dev": { "disabled": false, "type": "stdio", "command": "uvx", "args": [ "mcp-proxy-for-aws@latest", "https://eks-mcp.{region}.api.aws/mcp", "--service", "eks-mcp", "--profile", "development", "--region", "us-east-1" ] } } }

Per Windows:

{ "mcpServers": { "eks-mcp-prod": { "disabled": false, "type": "stdio", "command": "uvx", "args": [ "--from", "mcp-proxy-for-aws@latest", "mcp-proxy-for-aws.exe", "https://eks-mcp.{region}.api.aws/mcp", "--service", "eks-mcp", "--profile", "production", "--region", "us-west-2" ] }, "eks-mcp-dev": { "disabled": false, "type": "stdio", "command": "uvx", "args": [ "--from", "mcp-proxy-for-aws@latest", "mcp-proxy-for-aws.exe", "https://eks-mcp.{region}.api.aws/mcp", "--service", "eks-mcp", "--profile", "development", "--region", "us-east-1" ] } } }

Scenario 2: Sola lettura per la produzione

Creare una configurazione di sola lettura per gli ambienti di produzione.

Per Mac/Linux:

{ "mcpServers": { "eks-mcp-prod-readonly": { "command": "uvx", "args": [ "mcp-proxy-for-aws@latest", "https://eks-mcp.{region}.api.aws/mcp", "--service", "eks-mcp", "--profile", "production", "--region", "us-west-2", "--read-only" ], "autoApprove": [ "list_k8s_resources", "get_pod_logs", "get_k8s_events" ] } } }

Per Windows:

{ "mcpServers": { "eks-mcp-prod-readonly": { "command": "uvx", "args": [ "--from", "mcp-proxy-for-aws@latest", "mcp-proxy-for-aws.exe", "https://eks-mcp.{region}.api.aws/mcp", "--service", "eks-mcp", "--profile", "production", "--region", "us-west-2", "--read-only" ], "autoApprove": [ "list_k8s_resources", "get_pod_logs", "get_k8s_events" ] } } }

Scenario 3: sviluppo con accesso completo

Per ambienti di sviluppo con accesso completo in scrittura.

Per Mac/Linux:

{ "mcpServers": { "eks-mcp-dev-full": { "command": "uvx", "args": [ "mcp-proxy-for-aws@latest", "https://eks-mcp.{region}.api.aws/mcp", "--service", "eks-mcp", "--profile", "development", "--region", "us-east-1" ] } } }

Per Windows:

{ "mcpServers": { "eks-mcp-dev-full": { "command": "uvx", "args": [ "--from", "mcp-proxy-for-aws@latest", "mcp-proxy-for-aws.exe", "https://eks-mcp.{region}.api.aws/mcp", "--service", "eks-mcp", "--profile", "development", "--region", "us-east-1" ] } } }

Considerazioni

Sicurezza

Non passate informazioni segrete o sensibili tramite meccanismi di input consentiti:

  • Non includere segreti o credenziali nei file YAML applicati con apply_yaml.

  • Non passate informazioni sensibili direttamente nel prompt al modello.

  • Non includete segreti nei CloudFormation modelli o nei manifesti delle applicazioni.

  • Evita di utilizzare strumenti MCP per creare Kubernetes Secrets, poiché ciò richiederebbe la fornitura dei dati segreti al modello.

  • Evita di registrare informazioni sensibili nei log delle applicazioni all'interno dei pod Kubernetes.

Sicurezza dei contenuti YAML:

  • Usa solo file YAML provenienti da fonti affidabili.

  • Il server si basa sulla convalida dell'API Kubernetes per i contenuti YAML e non esegue la propria convalida.

  • Controlla i file YAML prima di applicarli al cluster.

Invece di passare segreti tramite MCP:

  • Usa AWS Secrets Manager o Parameter Store per archiviare informazioni riservate.

  • Configura l'RBAC Kubernetes appropriato per gli account di servizio.

  • Usa IAM roles for service accounts (IRSA) per l'accesso ai servizi dai pod. AWS

Redazione di dati sensibili:

  • Il server MCP EKS oscura automaticamente gli schemi comuni relativi a token di sicurezza, certificati e altre informazioni sensibili nelle risposte degli strumenti.

  • I valori redatti vengono sostituiti con HIDDEN_FOR_SECURITY_REASONS per evitare l'esposizione accidentale dei dati al modello.

  • Questa redazione si applica a tutte le risposte degli strumenti, inclusi i registri, le descrizioni delle risorse e i dati di configurazione.

Prossimo

Per le opzioni di configurazione, vedereRiferimento alla configurazione del server MCP di Amazon EKS. Per un elenco completo degli strumenti, vedereRiferimento agli strumenti per server MCP di Amazon EKS.