Amazon EKS MCPサーバーとは?
Amazon EKS MCPサーバーは、標準化されたAPIインターフェイスを提供します。これにより、LLM駆動のエージェントや自動化ツールがAWS Elastic Kubernetes Service (EKS) クラスターやKubernetesリソースをModel Context Protocol (MCP)を通じてシームレスに管理できます。AWS特有の複雑さやKubernetes操作を簡単に発見できるツールの背後に隠して、コードアシスタントやインタラクティブアプリケーションにクラウドネイティブな管理を実現します。
設定方法
-
前提条件
- Python 3.10以上がインストールされていることを確認してください(uvを経由することを推奨します)。
- EKS、VPC、IAM、CloudFormation、関連サービスを管理するための権限を持つAWS資格情報を設定します(プロファイルまたは環境変数を通じて)。
-
サーバーのインストール
- MCPクライアント設定(例:
mcp.json
、cline_mcp_settings.json
)に次の構成を追加します:{ "awslabs.eks-mcp-server": { "command": "uvx", "args": ["awslabs.eks-mcp-server@latest"], "env": { "AWS_PROFILE": "your-aws-profile", "AWS_REGION": "us-east-1", "FASTMCP_LOG_LEVEL": "ERROR" } } }
AWS_PROFILE
とAWS_REGION
を適切に調整してください。
- MCPクライアント設定(例:
-
権限とセキュリティ
- IAM資格情報は、EKS、VPC、CloudFormation、Kubernetes APIアクセスの完全またはスコープ内の管理を許可する必要があります。
- 必要に応じて、環境変数またはツールパラメータを使用して読み取り専用モードや機密データ制御を構成できます(詳細な設定についてはサーバーのドキュメントを参照)。
-
サーバーの起動
- MCPクライアントまたはオーケストレーター(例:Cline、Cursor、Windsurf)が、設定に従ってEKS MCPサーバーを起動します。
使い方
-
ツールの発見
- MCP対応クライアントを使って利用可能なEKS MCPツールを一覧表示します(通常は
tools/list
またはクライアントコマンドパレット経由)。 - ツールは
create_eks_cluster
やapply_k8s_manifest
などの関数のようなコマンドです。
- MCP対応クライアントを使って利用可能なEKS MCPツールを一覧表示します(通常は
-
ツールの呼び出し
- 必要なパラメータで希望するツールを呼び出します(チャットで対話的に、コードアシスタントを通じて、または自動化フローで)。
- 例:"EKS MCPサーバーを使って、us-east-1で3ノードの 'test-cluster' という新しいEKSクラスターを作成します。"
- クライアントはツールの引数を求め、権限や承認を検証し、要求されたアクションを実行します。
-
監視とフィードバック
get_pod_logs
やget_cloudwatch_metrics
などのツールを使用してワークロードを分析し、アプリケーションをトラブルシューティングし、クラスターを監視します。結果は直接AIアシスタントやアプリ内で受け取ります。
-
セキュリティ制御
- ワークフローがより高い制御を求める場合、読み取り専用モードを有効にしたり、機密アクションを制限したりします。
-
他のMCPサーバーとの統合
- EKS MCPを利用して、VPC、IAM、CI/CD、データベース、コスト分析のツールと連携させて、エンドツーエンドのクラウドワークフローをオーケストレーションします。
主な機能
- EKSクラスター管理:Amazon EKSクラスターを作成、構成、更新、削除し、VPCおよびネットワークの設定、CloudFormationのオーケストレーション、ロールアップグレードも含みます。
- Kubernetesリソースライフサイクル:明確に定義されたツールエンドポイントを使用してKubernetesマニフェストやリソースを適用、更新、リスト、削除します。
- アプリケーションデプロイ:コンテナ化されたワークロードのマニフェストを生成・デプロイし、パラメータ化やベストプラクティスを取り入れます。
- 運用サポート:リアルタイムおよび履歴のログ、イベント、クラスターの健康指標にアクセスし、CloudWatchと直接統合します。
- セキュリティと権限:IAMベースの認証/承認、機密データアクセス制御、およびオプションの読み取り専用操作に対応します。
- カスタマイズ可能なモード:サーバー設定(例:ロギング、アクセスレベル、自動承認)を構成や環境変数を通じて調整し、ワークフローやコンプライアンス要件に合わせます。
使用例
- 自動EKSクラスターのプロビジョニング:AIコーディングアシスタントにEKSクラスターのセットアップや解体をDevOpsワークフローやCI/CDパイプラインの一部として可能にします。
- 宣言的インフラ更新:プロンプト駆動のインターフェイスを使ってKubernetesリソースマニフェストを生成し、適用し、アプリケーションを迅速に繰り返します。
- マルチステージアプリケーションデプロイ:最小限の手動介入でマイクロサービスやウェブアプリをデプロイ、スケール、ロールバックします。
- 透明なトラブルシューティング:ポッドログ、イベントストリーム、クラスター/ステータス指標を自然言語やインタラクティブノートブック環境で取得します。
- トレーニング、デモ、サンドボックス:テスト、デモ、教育目的のためにエフェメラルクラスターやネームスペースをプロビジョニングし、コスト管理のために簡単に解体します。
- セキュリティを重視した操作:QA、監査、レビューシナリオのための読み取り専用または制限されたモードを採用し、機密の本番リソースの周りにガードレールを確保します。
よくある質問
Q1: EKS MCPサーバーを使って、複数のAWSアカウントやリージョンのクラスターを管理できますか?
はい、異なるAWSプロファイルやリージョンを使用するようにサーバーを設定できます。各サーバーインスタンスは、指定された資格情報/環境変数の権限とコンテキストで動作します。
Q2: サーバーは、クラスターの削除やIAM権限の変更といった機密操作をどのように扱いますか?
デフォルトでは、操作には明示的な呼び出しとユーザーの承認が必要です(自動承認が有効でない限り)。機密操作は制限されるか、追加のパラメータを必要とする場合があります。安全のために読み取り専用モードも利用可能です。
Q3: AWS資格情報が期限切れになるか、権限が不足している場合はどうなりますか?
サーバーは権限エラーをクライアントに通知します。中断なく運用するためには、資格情報が有効であり、IAMロールまたはユーザーがすべての必要なEKS、Kubernetes、基盤となるAWS APIの権限を持っていることを確認してください。
Q4: 環境ごとに複数のEKS MCPサーバーインスタンスを実行できますか?
もちろんです。各サーバーは、異なるAWS環境(開発、ステージング、本番)ごとに別々に構成できます。異なるプロファイル/リージョンを使用します。
Q5: サーバーはカスタムKubernetesリソース定義(CRD)をサポートしていますか?
はい、有効なマニフェストが提供される限り、サーバーは関連するツールエンドポイントを使用してカスタムK8sリソースを適用、更新、または削除できます。