Amazon ECS MCP サーバーの使用開始 - Amazon Elastic Container Service

Amazon ECS MCP サーバーの使用開始

このガイドでは、AI コードアシスタントで Amazon ECS MCP サーバーをセットアップして使用する手順について説明します。環境を設定し、サーバーに接続し、自然言語インタラクションを通じて Amazon ECS クラスターの管理を開始する方法が理解できます。

注記

Amazon ECS MCP サーバーはプレビューリリースであり、変更される可能性があります。

前提条件

開始する前に、以下を確認してください。

セットアップ

前提条件を確認する

Python のバージョンが 3.10 以上であることを確認します。

python3 --version

uv のインストールを確認します。

uv --version

AWS CLI の設定を確認します。

aws configure list

IAM 許可をセットアップする

AWS サービスへの読み取り専用リクエストを行い、MCP サーバーを操作するには、IAM アクセス許可が必要です。AWS 管理ポリシー、または単一のカスタムポリシーに基づいて、より詳細な制御を行うことができます。

オプション 1: マネージドポリシーとカスタムポリシーの組み合わせ

  1. すべての AWS サービスへの読み取り専用アクセス用に AWS マネージドポリシー ReadOnlyAccess をアタッチします。

  2. MCP アクセス許可のための追加のカスタムポリシーを作成してアタッチします (以下の MCP アクセス許可 JSON を参照)。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "MCPServerAccess", "Effect": "Allow", "Action": [ "ecs-mcp:InvokeReadOnlyTools", "ecs-mcp:UseMcp" ], "Resource": "*" } ] }

オプション 2: 単一のカスタムポリシー (最も詳細なコントロール)

または、AWS サービスアクセス許可と MCP アクセス許可の両方を含む単一のカスタム JSON ポリシーを作成してアタッチすることもできます。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "MCPServerAccess", "Effect": "Allow", "Action": [ "ecs-mcp:InvokeReadOnlyTools", "ecs-mcp:UseMcp" ], "Resource": "*" }, { "Sid": "ECSReadOnlyAccess", "Effect": "Allow", "Action": [ "ecs:ListAccountSettings", "ecs:ListClusters", "ecs:ListContainerInstances", "ecs:ListTaskDefinitions", "ecs:ListServices", "ecs:ListServiceDeployments", "ecs:ListTasks", "ecs:DescribeClusters", "ecs:DescribeCapacityProviders", "ecs:DescribeContainerInstances", "ecs:DescribeTaskDefinition", "ecs:DescribeServices", "ecs:DescribeServiceDeployments", "ecs:DescribeServiceRevisions", "ecs:DescribeTaskSets", "ecs:DescribeTasks" ], "Resource": "*" }, { "Sid": "CloudWatchLogsReadOnlyAccess", "Effect": "Allow", "Action": [ "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:GetLogEvents", "logs:FilterLogEvents" ], "Resource": "*" }, { "Sid": "ELBReadOnlyAccess", "Effect": "Allow", "Action": [ "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:DescribeListeners" ], "Resource": "*" }, { "Sid": "EC2ReadOnlyAccess", "Effect": "Allow", "Action": [ "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeRouteTables", "ec2:DescribeNetworkInterfaces" ], "Resource": "*" }, { "Sid": "ECRReadOnlyAccess", "Effect": "Allow", "Action": [ "ecr:DescribeRepositories", "ecr:DescribeImages" ], "Resource": "*" } ] }

AI アシスタントを選択して設定する

MCP 互換 AI アシスタントまたは MCP 互換ツールをインストールします。例えば、KiroClineCursorClaude Code などを使用できます。次に、AWS の MCP Proxy を介して Amazon ECS MCP サーバーを使用するように AI コードアシスタントをセットアップします。これは、Amazon ECS MCP サーバーへの安全で認証されたアクセスのために必要です。プロキシはクライアント側のブリッジとして機能し、ローカル AWS 認証情報を使用して AWS SigV4 認証を処理します。次の例では、Kiro CLI を使用しています。Kiro での MCP のセットアップの詳細については、このリンクからご確認ください。

MCP 設定ファイルを見つける

  • macOS/Linux:

    ~/.kiro/settings/mcp.json
  • Windows:

    %USERPROFILE%\.kiro\settings\mcp.json

設定ファイルが存在しない場合は、作成します。

MCP サーバー設定を追加する

リージョン ({region}) プレースホルダーは、ご使用のリージョン (us-west-2 など) に置き換えてください。リージョンの詳細なリストについては、「AWS Fargate 上の Linux コンテナ」を参照してください。また、{profile} プレースホルダーを default などの AWS CLI プロファイル名に置き換えてください。

Mac/Linux の場合:

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

Windows の場合:

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

設定を確認する

Kiro CLI (kiro-cli) を再起動し、MCP サーバーがロードされていることを確認し (/mcp)、使用可能なツール (/tools) を確認します。

設定を検証する

接続をテストする

AI アシスタントに簡単な質問をして、接続を確認します。

List all ECS clusters in my AWS account

Amazon ECS クラスターのリストが表示されます。

Amazon ECS MCP サーバーを使用する AI アシスタントと会話する

例 1: デプロイのモニタリング

Check deployment status for my web-service in production-cluster Show me the ALB URL for my deployed service Get service events for the last hour

例 2: コンテナのヘルスステータスの調査

Show me all tasks that failed in the last 2 hours Why are my containers failing health checks? Display container logs for my api-service

例 3: 障害のトラブルシューティング

Analyze task failures in my production cluster Check for image pull errors in the last 30 minutes Why is my task definition stuck in DELETE_IN_PROGRESS state?

例 4: 設定の検査

Show me the network configuration for my web-service What security groups are attached to my service? List all VPC and subnet details for my ECS service

一般的な設定とベストプラクティス

複数の AWS プロフィール

複数の AWS アカウントを使用する場合は、個別の MCP サーバー設定を作成します。

Mac/Linux の場合:

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

セキュリティのベストプラクティス

許可された入力メカニズムを介してシークレットや機密情報を渡さない:

  • シークレットや認証情報を設定ファイルに記述しない

  • 機密情報をプロンプトでモデルに直接渡さない

  • シークレットをタスク定義やサービス設定に含めない

  • 機密情報をアプリケーションログに記録しない

  • Parameter Store を使用して機密情報を保存する

ツール設定

ツールと設定の完全なリストについては、「Amazon ECS MCP サーバーのツール設定」を参照してください。