Commencer à utiliser le serveur Amazon EKS MCP - Amazon EKS

Aidez à améliorer cette page

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Pour contribuer à ce guide de l'utilisateur, cliquez sur le GitHub lien Modifier cette page sur qui se trouve dans le volet droit de chaque page.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Commencer à utiliser le serveur Amazon EKS MCP

Ce guide explique les étapes de configuration et d'utilisation du serveur EKS MCP avec vos assistants de code AI. Vous apprendrez à configurer votre environnement, à vous connecter au serveur et à commencer à gérer vos clusters EKS par le biais d'interactions en langage naturel.

Note

Le serveur Amazon EKS MCP est en version préliminaire pour Amazon EKS et est sujet à modification.

Conditions préalables

Avant de commencer, assurez-vous d’avoir effectué les tâches suivantes :

Configuration

1. Vérifiez les conditions préalables

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

2. Configuration des autorisations IAM

Pour vous connecter au serveur EKS MCP, votre rôle IAM doit être associé aux politiques suivantes : eks-mcp:InvokeMcp(autorisations requises pour l'initialisation et la récupération d'informations sur les outils disponibles), eks-mcp:CallReadOnlyTool(autorisations requises pour l'utilisation des outils en lecture seule) et eks-mcp:CallPrivilegedTool(autorisations requises pour l'utilisation des outils d'accès complet (écriture)). Ces eks-mcp autorisations sont incluses dans les politiques AWS gérées en lecture seule et en accès complet fournies ci-dessous.

  • Ouvrez la console IAM.

  • Dans le volet de navigation de gauche, choisissez Utilisateurs, Groupes d'utilisateurs ou Rôles en fonction de l'identité à laquelle vous souhaitez associer la politique, puis du nom de l'utilisateur, du groupe ou du rôle spécifique.

  • Sélectionnez l’onglet Autorisations.

  • Choisissez Joindre des politiques (ou Ajouter des autorisations si c'est la première fois).

  • Dans la liste des politiques, recherchez et sélectionnez la stratégie gérée que vous souhaitez associer :

  • Opérations en lecture seule : Amazon EKSMCPRead OnlyAccess

  • Choisissez Joindre des politiques (ou Suivant, puis Ajouter des autorisations pour confirmer).

Cela joint la politique et les autorisations prennent effet immédiatement. Vous pouvez associer plusieurs politiques à la même identité, chacune pouvant contenir différentes autorisations. Pour en savoir plus sur ces politiques, consultez les politiques AWS gérées pour Amazon Elastic Kubernetes Service.

3. Choisissez un assistant IA

Choisissez l'un des assistants IA compatibles MCP suivants ou n'importe quel outil compatible MCP :

Étape 1 : configurer votre assistant AI

Choisissez l'une des options suivantes pour configurer votre assistant de code AI. L'exécution de cette étape configure votre assistant de code AI pour qu'il utilise le proxy MCP pour AWS, qui est requis pour un accès sécurisé et authentifié au serveur MCP Amazon EKS. Cela implique d'ajouter ou de modifier le fichier de configuration MCP (par exemple, ~/.aws/amazonq/mcp.json pour Amazon Q Developer CLI). Le proxy agit comme un pont côté client, gérant l'authentification AWS SigV4 à l'aide de vos informations d' AWS identification locales et permettant la découverte dynamique d'outils pour interagir avec les serveurs MCP principaux tels que le serveur AWS MCP EKS. Pour en savoir plus, consultez le proxy MCP pour le AWS référentiel.

Option A : Amazon Q Developer CLI

La CLI Q Developer fournit l'expérience la plus intégrée possible avec le serveur EKS MCP.

1. Localiser le fichier de configuration MCP

  • Mac OS/Linux : ~/.aws/q/mcp.json

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

2. Ajouter une configuration de serveur MCP

Créez le fichier de configuration s'il n'existe pas. Assurez-vous de remplacer l'espace réservé à la région ({region}) par la région de votre choix.

Pour 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}" ] } } }

Pour 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}" ] } } }

Remarque de sécurité : --read-only peut être utilisé pour autoriser uniquement les opérations d'outil en lecture seule.

3. Vérifier la configuration

Redémarrez Q Developer CLI, puis vérifiez les outils disponibles :

q /tools

Option B : Kiro IDE

Kiro est un espace de travail de codage axé sur l'IA avec support MCP intégré.

1. Ouvrez les paramètres Kiro

  • Ouvrez Kiro

  • Accédez à KiroParamètres et recherchez « MCP Config »

  • Ou appuyez sur Cmd+Shift+P, (Mac) ou Ctrl+Shift+P, (Windows/Linux) et recherchez « MCP Config »

2. Ajouter une configuration de serveur MCP

  • Cliquez sur « Open Workspace MCP Config » ou « Open User MCP Config » pour modifier directement le fichier de configuration MCP.

Assurez-vous de remplacer l'espace réservé à la région ({region}) par la région de votre choix.

Pour 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}" ] } } }

Pour 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}" ] } } }

Remarque de sécurité : --read-only peut être utilisé pour autoriser uniquement les opérations d'outil en lecture seule.

Option C : IDE du curseur

Cursor fournit un support MCP intégré avec une interface de configuration graphique.

1. Ouvrir les paramètres du curseur

  • Ouvrir le curseur

  • Accédez à Paramètres → Paramètres du curseurOutils et MCP

  • Ou appuyez sur Cmd+Shift+P (Mac)/Ctrl+Shift+P(Windows) et recherchez « MCP »

2. Ajouter une configuration de serveur MCP

  • Cliquez sur « Nouveau serveur MCP »

Créez le fichier de configuration s'il n'existe pas. Assurez-vous de remplacer l'espace réservé à la région ({region}) par la région de votre choix.

Pour 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}" ] } } }

Pour 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}" ] } } }

Remarque de sécurité : --read-only peut être utilisé pour autoriser uniquement les opérations d'outil en lecture seule.

3. Redémarrer le curseur

Fermez puis rouvrez le curseur pour que les modifications prennent effet.

4. Vérifier dans le chat Cursor

Ouvrez le panneau de discussion et essayez :

What EKS MCP tools are available?

Vous devriez voir la liste des outils de gestion EKS disponibles.

Option D : Cline (extension de code VS)

Cline est une extension VS Code populaire qui apporte l'assistance de l'IA directement dans votre éditeur.

1. Ouvrez les paramètres de Cline

  • Ouvrez Cline

  • Appuyez sur Cmd+Shift+P (Mac)/Ctrl+Shift+P(Windows) et recherchez « MCP »

2. Ajouter une configuration de serveur MCP

  • Cliquez sur « Ajouter un serveur »

  • Cliquez sur « Ouvrir la configuration utilisateur »

Créez le fichier de configuration s'il n'existe pas. Assurez-vous de remplacer l'espace réservé à la région ({region}) par la région de votre choix.

Pour 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}" ] } } }

Pour 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}" ] } } }

Remarque de sécurité : --read-only peut être utilisé pour autoriser uniquement les opérations d'outil en lecture seule.

2. Recharger le code VS

Appuyez surCmd+Shift+P/Ctrl+Shift+Pet sélectionnez « Développeur : recharger la fenêtre »

3. Vérifier la configuration

Ouvrez Cline et demandez :

List the available MCP tools for EKS

Étape 2 : (Facultatif) Créez une politique « d'écriture »

Vous pouvez éventuellement créer une politique IAM gérée par le client qui fournit un accès complet au serveur Amazon EKS MCP. Cette politique accorde des autorisations pour utiliser tous les outils du serveur EKS MCP, y compris les outils privilégiés qui peuvent impliquer des opérations d'écriture et les outils en lecture seule. Notez que les autorisations à haut risque (toutes les autorisations associées à la fonction Delete* ou à une ressource IAM illimitée) sont incluses dans cette politique, car elles sont requises pour les ressources setup/teardown du cluster dans l'outil manage_eks_stacks.

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\": \"*\"}]}"

Étape 3 : vérifier votre configuration

Tester la connexion

Posez une simple question à votre assistant IA pour vérifier la connexion :

List all EKS clusters in my {aws} account

Vous devriez voir la liste de vos clusters EKS.

Étape 4 : Exécutez vos premières tâches

Exemple 1 : Explorez vos clusters

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

Exemple 2 : vérifier les ressources 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

Exemple 3 : résolution des problèmes

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

Exemple 4 : Création de ressources (si le mode « écriture » est activé)

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

Configurations courantes

Scénario 1 : AWS profils multiples

Si vous travaillez avec plusieurs AWS comptes, créez des configurations de serveur MCP distinctes.

Pour 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" ] } } }

Pour 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" ] } } }

Scénario 2 : lecture seule pour la production

Créez une configuration en lecture seule pour les environnements de production.

Pour 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" ] } } }

Pour 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" ] } } }

Scénario 3 : Développement avec accès complet

Pour les environnements de développement dotés d'un accès complet en écriture.

Pour 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" ] } } }

Pour 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" ] } } }

Considérations

Sécurité

Ne transmettez pas de secrets ou d'informations sensibles par le biais de mécanismes de saisie autorisés :

  • N'incluez pas de secrets ou d'informations d'identification dans les fichiers YAML appliqués avec apply_yaml.

  • Ne transmettez pas d'informations sensibles directement dans l'invite au modèle.

  • N'incluez pas de secrets dans les CloudFormation modèles ou les manifestes d'applications.

  • Évitez d'utiliser les outils MCP pour créer des secrets Kubernetes, car cela nécessiterait de fournir les données secrètes au modèle.

  • Évitez de consigner des informations sensibles dans les journaux d'applications des pods Kubernetes.

Sécurité du contenu YAML :

  • N'utilisez que des fichiers YAML provenant de sources fiables.

  • Le serveur s'appuie sur la validation de l'API Kubernetes pour le contenu YAML et n'effectue pas sa propre validation.

  • Auditez les fichiers YAML avant de les appliquer à votre cluster.

Au lieu de transmettre des secrets via MCP :

  • Utilisez AWS Secrets Manager ou Parameter Store pour stocker des informations sensibles.

  • Configurez le RBAC Kubernetes approprié pour les comptes de service.

  • Utilisez les rôles IAM pour les comptes de service (IRSA) pour accéder aux AWS services depuis les pods.

Rédaction de données sensibles :

  • Le serveur EKS MCP expédie automatiquement les modèles courants pour les jetons de sécurité, les certificats et autres informations sensibles dans les réponses des outils.

  • Les valeurs expurgées sont remplacées par HIDDEN_FOR_SECURITY_REASONS pour éviter d'exposer accidentellement les données au modèle.

  • Cette rédaction s'applique à toutes les réponses des outils, y compris les journaux, les descriptions des ressources et les données de configuration.

Prochaine étape

Pour les options de configuration, voirRéférence de configuration du serveur Amazon EKS MCP. Pour une liste complète des outils, voirRéférence des outils du serveur Amazon EKS MCP.