

# Amazon ECS でアプリケーションを有効にする
<a name="CloudWatch-Application-Signals-Enable-ECSMain"></a>

Amazon ECS で CloudWatch Application Signals を有効にするには、このセクションに記載されているカスタムセットアップの手順を実行します。

アプリケーションを Amazon ECS で実行する場合は、CloudWatch エージェントと AWS Distro for OpenTelemetry をインストールして設定します。カスタム Application Signals セットアップで有効になったこれらのアーキテクチャでは、サービス名や、サービスが稼働しているホスト名またはクラスター名が Application Signals によって自動検出されません。これらの名前をカスタムセットアップの際に指定する必要があります。ここで指定した名前が Application Signals ダッシュボードに表示されことになります。

## カスタムセットアップを使用して Amazon ECS で Application Signals を有効にする
<a name="CloudWatch-Application-Signals-Enable-ECS"></a>

Amazon ECS で稼働するアプリケーションを CloudWatch Application Signals にオンボーディングするには、次のカスタムセットアップの手順を実行します。CloudWatch エージェントと AWS Distro for OpenTelemetry は、ご自身でインストールし、設定します。

Amazon ECS に Application Signals をデプロイするには、2 つの方法があります。ご使用の環境に最適なものを選択してください。
+ [サイドカー戦略を使用してデプロイする](CloudWatch-Application-Signals-ECS-Sidecar.md) – CloudWatch エージェントサイドカーコンテナをクラスター内の各タスク定義に追加します。

  利点:
  + `ec2` と `Fargate` の起動タイプのいずれもサポートされます。
  + 環境変数を設定するときは、 を IP アドレスとして `localhost` をいつでも使用できます。

  欠点:
  + クラスターで実行されるサービスタスクごとに CloudWatch エージェントサイドカーコンテナを設定する必要があります。
  + `awsvpc` ネットワークモードのみサポートされています。
+ [デーモン戦略を使用してデプロイする](CloudWatch-Application-Signals-ECS-Daemon.md) – CloudWatch エージェントタスクをクラスターに一度だけ追加すると、必要に応じて [Amazon ECS デーモンスケジューリング戦略](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html#service_scheduler_daemon)がそれをデプロイします。各インスタンスがトレースとメトリクスを継続的に受信し、各アプリケーションタスク定義でエージェントがサイドカーとして実行されなくても、一元的な可視性を実現します。

  利点:
  + CloudWatch エージェント用にデーモンサービスをセットアップする必要があるのは、クラスター内で 1 回だけです。

  欠点:
  + Fargate 起動タイプの場合はサポートされません。
  + `awsvpc` または `bridge` ネットワークモードを使用する場合は、環境変数で各コンテナインスタンスのプライベート IP アドレスを手動で指定する必要があります。

いずれの方法でも、Amazon ECS クラスターの Application Signals では、サービスの名前が自動検出されません。カスタムセットアップの際にサービス名を指定する必要があります。ここで指定した名前が Application Signals ダッシュボードに表示されことになります。

## モデルコンテキストプロトコル (MCP) を使用して Amazon ECS で Application Signals を有効にする
<a name="CloudWatch-Application-Signals-ECS-MCP"></a>

CloudWatch Application Signals モデルコンテキストプロトコル (MCP) サーバーを使用して、会話で AI とやり取りして Amazon ECS クラスターで Application Signals を有効にできます。これは、Application Signals モニタリングを設定するための自然言語インターフェイスになります。

MCP サーバーは、要件を理解し、適切な設定を生成することで、有効化プロセスを自動化します。コンソールの手順を手動で実行したり、CDK コードを記述したりする代わりに、有効にする内容を記述するだけで済みます。

### 前提条件
<a name="CloudWatch-Application-Signals-ECS-MCP-Prerequisites"></a>

MCP サーバーを使用して Application Signals を有効にする前に、以下を用意します。
+ MCP をサポートする開発環境 (Kiro、Claude Desktop、MCP 拡張機能付きの VSCode、その他の MCP 互換ツールなど)
+ IDE で設定された CloudWatch Application Signals MCP サーバー。詳細な設定手順については、[CloudWatch Application Signals MCP サーバーのドキュメント](https://awslabs.github.io/mcp/servers/cloudwatch-applicationsignals-mcp-server)を参照してください。

### MCP サーバーの使用
<a name="CloudWatch-Application-Signals-ECS-MCP-Usage"></a>

IDE で CloudWatch Application Signals MCP サーバーを設定したら、自然言語プロンプトを使用して有効化ガイダンスをリクエストできます。コーディングアシスタントはプロジェクト構造からコンテキストを推測できますが、プロンプトに具体的な詳細を入力すると、確実により正確で関連性が高いガイダンスにできます。アプリケーション言語、Amazon ECS クラスター名、デプロイ戦略 (サイドカーまたはデーモン)、インフラストラクチャとアプリケーションコードへの絶対パスなどの情報を含めます。

**ベストプラクティスプロンプト (具体的で完全):**

```
"Enable Application Signals for my Python service running on ECS.
My app code is in /home/user/flask-api and IaC is in /home/user/flask-api/terraform"

"I want to add observability to my Node.js application on ECS cluster 'production-cluster' using sidecar deployment.
The application code is at /Users/dev/checkout-service and
the task definitions are at /Users/dev/checkout-service/ecs"

"Help me instrument my Java Spring Boot application on ECS with Application Signals using daemon strategy.
Application directory: /opt/apps/payment-api
CDK infrastructure: /opt/apps/payment-api/cdk"
```

**効果の低いプロンプト:**

```
"Enable monitoring for my app"
→ Missing: platform, language, paths

"Enable Application Signals. My code is in ./src and IaC is in ./infrastructure"
→ Problem: Relative paths instead of absolute paths

"Enable Application Signals for my ECS service at /home/user/myapp"
→ Missing: programming language, deployment strategy
```

**クイックテンプレート:**

```
"Enable Application Signals for my [LANGUAGE] service on ECS.
Deployment strategy: [sidecar/daemon]
App code: [ABSOLUTE_PATH_TO_APP]
IaC code: [ABSOLUTE_PATH_TO_IAC]"
```

### MCP サーバーを使用する利点
<a name="CloudWatch-Application-Signals-ECS-MCP-Benefits"></a>

CloudWatch Application Signals MCP サーバーを使用すると、次のようないくつかの利点があります。
+ **自然言語インターフェイス:** コマンドや設定構文を覚えずに、有効にする内容を記述
+ **コンテキストに応じたガイダンス:** MCP サーバーは具体的な環境を理解し、カスタマイズされた推奨事項を提供
+ **エラーの削減:** 設定の自動生成により、手動入力エラーが最小限
+ **設定の高速化:** 意図から実装までの時間を短縮
+ **学習ツール:** 生成された設定を確認し、Application Signals の仕組みを理解

### その他のリソース
<a name="CloudWatch-Application-Signals-ECS-MCP-MoreInfo"></a>

CloudWatch Application Signals MCP サーバーの設定と使用の詳細については、[MCP サーバーのドキュメント](https://awslabs.github.io/mcp/servers/cloudwatch-applicationsignals-mcp-server)を参照してください。