

# Amazon ECS MCP サーバーの使用開始
<a name="ecs-mcp-getting-started"></a>

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

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

## 前提条件
<a name="ecs-mcp-prerequisites"></a>

開始する前に、以下を確認してください。
+ [Amazon ECS にアクセスできる AWS アカウントが作成されていること](https://aws.amazon.com/resources/create-account/)
+ [AWS CLI がインストールされ、認証情報を使用して設定されていること](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)
+ [Python 3.10\$1 以上がインストールされていること](https://www.python.org/)
+ [uv がインストールされていること](https://docs.astral.sh/uv/getting-started/installation/)

## セットアップ
<a name="ecs-mcp-setup"></a>

### 前提条件を確認する
<a name="ecs-mcp-verify-prerequisites"></a>

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

```
python3 --version
```

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

```
uv --version
```

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

```
aws configure list
```

### IAM 許可をセットアップする
<a name="ecs-mcp-iam-permissions"></a>

AWS サービスへの読み取り専用リクエストを行い、MCP サーバーを操作するには、[IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) アクセス許可が必要です。[AWS 管理ポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html)、または単一のカスタムポリシーに基づいて、より詳細な制御を行うことができます。

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

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

1. 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 アシスタントを選択して設定する
<a name="ecs-mcp-configure-assistant"></a>

MCP 互換 AI アシスタントまたは MCP 互換ツールをインストールします。例えば、[Kiro](https://kiro.dev/)、[Cline](https://cline.bot/)、[Cursor](https://cursor.com/)、[Claude Code](https://www.claude.com/product/claude-code) などを使用できます。次に、AWS の MCP Proxy を介して Amazon ECS MCP サーバーを使用するように AI コードアシスタントをセットアップします。これは、Amazon ECS MCP サーバーへの安全で認証されたアクセスのために必要です。プロキシはクライアント側のブリッジとして機能し、ローカル AWS 認証情報を使用して AWS SigV4 認証を処理します。次の例では、Kiro CLI を使用しています。Kiro での MCP のセットアップの詳細については、この[リンク](https://kiro.dev/docs/cli/mcp/)からご確認ください。

#### MCP 設定ファイルを見つける
<a name="ecs-mcp-kiro-config-file"></a>
+ **macOS/Linux:**

  ```
  ~/.kiro/settings/mcp.json
  ```
+ **Windows:**

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

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

#### MCP サーバー設定を追加する
<a name="ecs-mcp-kiro-add-config"></a>

リージョン (`{region}`) プレースホルダーは、ご使用のリージョン (`us-west-2` など) に置き換えてください。リージョンの詳細なリストについては、「[AWS Fargate 上の Linux コンテナ](AWS_Fargate-Regions.md#linux-regions)」を参照してください。また、`{profile}` プレースホルダーを `default` などの [AWS CLI プロファイル名](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-quickstart.html)に置き換えてください。

**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}"
      ]
    }
  }
}
```

#### 設定を確認する
<a name="ecs-mcp-kiro-verify"></a>

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

#### 設定を検証する
<a name="ecs-mcp-verify-setup"></a>

**接続をテストする**

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

```
List all ECS clusters in my AWS account
```

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

#### Amazon ECS MCP サーバーを使用する AI アシスタントと会話する
<a name="ecs-mcp-first-tasks"></a>

**例 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
```

## 一般的な設定とベストプラクティス
<a name="ecs-mcp-common-configs"></a>

### 複数の AWS プロフィール
<a name="ecs-mcp-multiple-profiles"></a>

複数の 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"
      ]
    }
  }
}
```

### セキュリティのベストプラクティス
<a name="ecs-mcp-security-best-practices"></a>

許可された入力メカニズムを介してシークレットや機密情報を渡さない:
+ シークレットや認証情報を設定ファイルに記述しない
+ 機密情報をプロンプトでモデルに直接渡さない
+ シークレットをタスク定義やサービス設定に含めない
+ 機密情報をアプリケーションログに記録しない
+ Parameter Store を使用して機密情報を保存する

## ツール設定
<a name="ecs-mcp-next-steps"></a>

ツールと設定の完全なリストについては、「[Amazon ECS MCP サーバーのツール設定](ecs-mcp-tool-configurations.md)」を参照してください。