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 à Kiro → Paramètres et recherchez « MCP Config »
-
Ou appuyez sur
Cmd+Shift+P,(Mac) ouCtrl+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 curseur → Outils 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_REASONSpour é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.