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: マネージドポリシーとカスタムポリシーの組み合わせ
-
すべての AWS サービスへの読み取り専用アクセス用に AWS マネージドポリシー ReadOnlyAccess をアタッチします。
-
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 互換ツールをインストールします。例えば、Kiro
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 サーバーのツール設定」を参照してください。