Memulai dengan Amazon EKS MCP Server - Amazon EKS

Bantu tingkatkan halaman ini

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Untuk berkontribusi pada panduan pengguna ini, pilih Edit halaman ini pada GitHub tautan yang terletak di panel kanan setiap halaman.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memulai dengan Amazon EKS MCP Server

Panduan ini memandu Anda melalui langkah-langkah untuk mengatur dan menggunakan EKS MCP Server dengan asisten kode AI Anda. Anda akan belajar cara mengonfigurasi lingkungan Anda, terhubung ke server, dan mulai mengelola kluster EKS Anda melalui interaksi bahasa alami.

catatan

Amazon EKS MCP Server dalam rilis pratinjau untuk Amazon EKS dan dapat berubah sewaktu-waktu.

Prasyarat

Sebelum Anda mulai, pastikan Anda telah melakukan tugas-tugas berikut:

Pengaturan

1. Memverifikasi prasyarat

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

2. Siapkan izin IAM

Untuk terhubung ke server MCP EKS, peran IAM Anda harus memiliki kebijakan berikut yang dilampirkan: eks-mcp:InvokeMcp(izin yang diperlukan untuk inisialisasi dan pengambilan informasi tentang alat yang tersedia), eks-mcp:CallReadOnlyTool(izin yang diperlukan untuk penggunaan alat baca saja), dan eks-mcp:CallPrivilegedTool(izin yang diperlukan untuk penggunaan alat akses penuh (tulis)). eks-mcpIzin ini disertakan dalam kebijakan AWS terkelola hanya-baca dan akses penuh yang disediakan, di bawah ini.

  • Buka konsol IAM.

  • Di panel navigasi kiri, pilih Pengguna, Grup pengguna, atau Peran tergantung pada identitas yang ingin Anda lampirkan kebijakan, lalu nama pengguna, grup, atau peran tertentu.

  • Pilih tab Izin.

  • Pilih Lampirkan kebijakan (atau Tambahkan izin jika ini pertama kalinya).

  • Dalam daftar kebijakan, cari dan pilih kebijakan terkelola yang ingin dilampirkan:

  • Operasi hanya-baca: Amazon EKSMCPRead OnlyAccess

  • Pilih Lampirkan kebijakan (atau Berikutnya dan kemudian Tambahkan izin untuk mengonfirmasi).

Ini melampirkan kebijakan, dan izin segera berlaku. Anda dapat melampirkan beberapa kebijakan ke identitas yang sama, dan masing-masing dapat berisi berbagai izin. Untuk mempelajari lebih lanjut tentang kebijakan ini, lihat kebijakan AWS terkelola untuk Amazon Elastic Kubernetes Service.

3. Pilih asisten AI

Pilih salah satu asisten AI yang kompatibel dengan MCP berikut atau alat yang kompatibel dengan MCP:

Langkah 1: Konfigurasikan asisten AI Anda

Pilih salah satu opsi berikut untuk mengatur asisten kode AI Anda. Menyelesaikan langkah ini menyiapkan asisten kode AI Anda untuk menggunakan Proxy MCP AWS, yang diperlukan untuk akses yang aman dan terautentikasi ke Amazon EKS MCP Server. Ini melibatkan penambahan atau pengeditan file konfigurasi MCP (misalnya, ~/.aws/amazonq/mcp.json untuk Amazon Q Developer CLI). Proxy bertindak sebagai jembatan sisi klien, menangani otentikasi AWS SiGv4 menggunakan AWS kredensi lokal Anda dan memungkinkan penemuan alat dinamis untuk berinteraksi dengan server MCP backend seperti EKS MCP Server. AWS Untuk mempelajari lebih lanjut, lihat MCP Proxy untuk AWS repositori.

Opsi A: CLI Pengembang Amazon Q

Q Developer CLI memberikan pengalaman yang paling terintegrasi dengan EKS MCP Server.

1. Temukan File Konfigurasi MCP

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

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

2. Tambahkan Konfigurasi Server MCP

Buat file konfigurasi jika tidak ada. Pastikan untuk mengganti placeholder region ({region}) dengan wilayah yang Anda inginkan.

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

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

Catatan keamanan: --read-only dapat digunakan untuk hanya mengizinkan operasi alat read-only.

3. Verifikasi Konfigurasi

Mulai ulang Q Developer CLI, lalu periksa alat yang tersedia:

q /tools

Opsi B: Kiro IDE

Kiro adalah ruang kerja pengkodean AI-first dengan dukungan MCP bawaan.

1. Buka Pengaturan Kiro

  • Buka Kiro

  • Buka KiroPengaturan dan cari “MCP Config”

  • Atau tekan Cmd+Shift+P, (Mac) atau Ctrl+Shift+P, (Windows/Linux) dan cari “MCP Config”

2. Tambahkan Konfigurasi Server MCP

  • Klik “Open Workspace MCP Config” atau “Open User MCP Config” untuk mengedit file konfigurasi MCP secara langsung.

Pastikan untuk mengganti placeholder region ({region}) dengan wilayah yang Anda inginkan.

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

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

Catatan keamanan: --read-only dapat digunakan untuk hanya mengizinkan operasi alat read-only.

Opsi C: Kursor IDE

Kursor menyediakan dukungan MCP bawaan dengan antarmuka konfigurasi grafis.

1. Buka Pengaturan Kursor

  • Buka Kursor

  • Buka Pengaturan → Pengaturan KursorAlat & MCP

  • Atau tekan Cmd+Shift+P (Mac)/Ctrl+Shift+P(Windows) dan cari “MCP”

2. Tambahkan Konfigurasi Server MCP

  • Klik “Server MCP Baru”

Buat file konfigurasi jika tidak ada. Pastikan untuk mengganti placeholder region ({region}) dengan wilayah yang Anda inginkan.

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

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

Catatan keamanan: --read-only dapat digunakan untuk hanya mengizinkan operasi alat read-only.

3. Mulai Ulang Kursor

Tutup dan buka kembali Kursor agar perubahan diterapkan.

4. Verifikasi di obrolan Kursor

Buka panel obrolan dan coba:

What EKS MCP tools are available?

Anda akan melihat daftar alat manajemen EKS yang tersedia.

Opsi D: Cline (Ekstensi Kode VS)

Cline adalah ekstensi VS Code populer yang membawa bantuan AI langsung ke editor Anda.

1. Buka Pengaturan Cline

  • Buka Cline

  • Tekan Cmd+Shift+P (Mac)/Ctrl+Shift+P(Windows) dan cari “MCP”

2. Tambahkan Konfigurasi Server MCP

  • Klik “Tambahkan Server”

  • Klik “Buka Konfigurasi Pengguna”

Buat file konfigurasi jika tidak ada. Pastikan untuk mengganti placeholder region ({region}) dengan wilayah yang Anda inginkan.

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

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

Catatan keamanan: --read-only dapat digunakan untuk hanya mengizinkan operasi alat read-only.

2. Muat Ulang Kode VS

TekanCmd+Shift+P/Ctrl+Shift+Pdan pilih “Developer: Reload Window”

3. Verifikasi konfigurasi

Buka Cline dan tanyakan:

List the available MCP tools for EKS

Langkah 2: (Opsional) Buat kebijakan “tulis”

Secara opsional, Anda dapat membuat kebijakan IAM yang dikelola pelanggan yang menyediakan akses penuh ke server MCP Amazon EKS. Kebijakan ini memberikan izin untuk menggunakan semua alat di server MCP EKS, termasuk kedua alat istimewa yang mungkin melibatkan operasi tulis dan alat hanya-baca. Perhatikan bahwa izin berisiko tinggi (apa pun dengan Delete*, atau sumber daya IAM yang tidak dibatasi) disertakan dalam kebijakan ini, karena diperlukan untuk sumber daya klaster di alat setup/teardown 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\": \"*\"}]}"

Langkah 3: Verifikasi pengaturan Anda

Koneksi uji

Ajukan pertanyaan sederhana kepada asisten AI Anda untuk memverifikasi koneksi:

List all EKS clusters in my {aws} account

Anda akan melihat daftar cluster EKS Anda.

Langkah 4: Jalankan tugas pertama Anda

Contoh 1: Jelajahi cluster Anda

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

Contoh 2: Periksa sumber daya 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

Contoh 3: Memecahkan masalah

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

Contoh 4: Buat sumber daya (jika mode “tulis” diaktifkan)

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

Konfigurasi umum

Skenario 1: Beberapa AWS profil

Jika Anda bekerja dengan beberapa AWS akun, buat konfigurasi server MCP terpisah.

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

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

Skenario 2: Hanya baca untuk produksi

Buat konfigurasi hanya-baca untuk lingkungan produksi.

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

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

Skenario 3: Pengembangan dengan akses penuh

Untuk lingkungan pengembangan dengan akses tulis penuh.

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

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

Pertimbangan-pertimbangan

Keamanan

Jangan berikan rahasia atau informasi sensitif melalui mekanisme input yang diizinkan:

  • Jangan sertakan rahasia atau kredensil dalam file YAMG yang diterapkan dengan apply_yaml.

  • Jangan berikan informasi sensitif secara langsung dalam prompt ke model.

  • Jangan sertakan rahasia dalam CloudFormation templat atau manifes aplikasi.

  • Hindari menggunakan alat MCP untuk membuat Rahasia Kubernetes, karena ini akan membutuhkan penyediaan data rahasia ke model.

  • Hindari mencatat informasi sensitif di log aplikasi di dalam pod Kubernetes.

Keamanan konten YAMB:

  • Hanya gunakan file YAMG dari sumber yang dapat dipercaya.

  • Server mengandalkan validasi API Kubernetes untuk konten YAMAL dan tidak melakukan validasinya sendiri.

  • Audit file YAMG sebelum menerapkannya ke cluster Anda.

Alih-alih menyampaikan rahasia melalui MCP:

  • Gunakan AWS Secrets Manager atau Parameter Store untuk menyimpan informasi sensitif.

  • Konfigurasikan Kubernetes RBAC yang tepat untuk akun layanan.

  • Gunakan peran IAM untuk akun layanan (IRSA) untuk akses AWS layanan dari pod.

Redaksi data sensitif:

  • EKS MCP Server secara otomatis menyunting pola umum untuk token keamanan, sertifikat, dan informasi sensitif lainnya dalam respons alat.

  • Nilai yang diedit diganti dengan HIDDEN_FOR_SECURITY_REASONS untuk menghindari mengekspos data ke model secara tidak sengaja.

  • Redaksi ini berlaku untuk semua respons alat termasuk log, deskripsi sumber daya, dan data konfigurasi.

Selanjutnya

Untuk opsi konfigurasi, lihatReferensi Konfigurasi Server Amazon EKS MCP. Untuk daftar lengkap alat, lihatReferensi Alat Server MCP Amazon EKS.