在 Amazon ECS 上啟用您的應用程式 - Amazon CloudWatch

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 Amazon ECS 上啟用您的應用程式

依本節所述的自訂設定步驟,在 Amazon ECS 上啟用 CloudWatch Application Signals。

對於在 Amazon ECS 上執行的應用程式,您可以自行安裝和設定 CloudWatch 代理程式和 AWS Distro for OpenTelemetry。在使用自訂 Application Signals 設定啟用的這些架構上,Application Signals 不會自動探索您的服務或其執行所在的叢集或主機的名稱。您必須在自訂設定期間指定這些名稱,而您指定的名稱是顯示在 Application Signals 儀表板中的名稱。

使用自訂設定在 Amazon ECS 上啟用 Application Signals

使用這些自訂設定指示,將 Amazon ECS 上的應用程式加載到 CloudWatch Application Signals。您可以自行安裝和設定 CloudWatch 代理程式和 AWS Distro for OpenTelemetry。

在 Amazon ECS 上部署 Application Signals 的方法有兩種。請選擇最適合您的環境的方法。

  • 使用附屬程式策略部署 – 將 CloudWatch 代理程式附屬程式容器新增至叢集中的每個任務定義。

    優點:

    • 同時支援 ec2Fargate 啟動類型。

    • 當您設定環境變數時,一律可以使用 localhost 作為 IP 位址。

    缺點:

    • 必須為叢集中執行的每個服務任務設定 CloudWatch 代理程式附屬容器。

    • 僅支援 awsvpc 網路模式。

  • 使用常駐程式策略部署 – 只需在叢集中新增 CloudWatch 代理程式任務一次,Amazon ECS 常駐程式排程策略會視需要進行部署。如此可確保每個執行個體能持續接收追蹤與指標,提供集中的可見性,無需代理程式以附屬程式的模式與每個應用程式任務定義並行執行。

    優點:

    • 只需要在叢集中為 CloudWatch 代理程式設定常駐程式服務一次。

    缺點:

    • 不支援 Fargate 啟動類型。

    • 如果使用 awsvpcbridge 網路模式,必須在環境變數中手動指定每個容器執行個體的私有 IP 位址。

無論採用哪種方法,在 Amazon ECS 叢集上,Application Signals 皆不會自動偵測您服務的名稱。必須在自訂設定期間指定服務名稱,且指定的名稱將顯示在 Application Signals 儀表板中。

使用模型內容通訊協定 (MCP) 在 Amazon ECS 上啟用應用程式訊號

您可以使用 CloudWatch Application Signals 模型內容通訊協定 (MCP) 伺服器,透過對話式 AI 互動在 Amazon ECS 叢集上啟用 Application Signals。這提供用於設定 Application Signals 監控的自然語言界面。

MCP 伺服器會了解您的需求並產生適當的組態,以自動化啟用程序。您可以直接描述要啟用的內容,而不是手動遵循主控台步驟或撰寫 CDK 程式碼。

先決條件

使用 MCP 伺服器啟用 Application Signals 之前,請確定您已:

  • 支援 MCP 的開發環境 (例如 Kiro、Claude Desktop、VSCode 搭配 MCP 延伸模組或其他 MCP 相容工具)

  • 在您的 IDE 中設定的 CloudWatch Application Signals MCP 伺服器。如需詳細設定說明,請參閱 CloudWatch Application Signals MCP Server 文件

使用 MCP 伺服器

在 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 伺服器的優點

使用 CloudWatch Application Signals MCP 伺服器有幾個優點:

  • 自然語言界面:描述您想要啟用的內容,而不記住命令或組態語法

  • 內容感知指引:MCP 伺服器了解您的特定環境,並提供量身打造的建議

  • 減少錯誤:自動化組態產生可將手動輸入錯誤降至最低

  • 更快速的設定:更快速地從意圖到實作

  • 學習工具:查看產生的組態並了解 Application Signals 的運作方式

如需有關設定和使用 CloudWatch Application Signals MCP 伺服器的詳細資訊,請參閱 MCP 伺服器文件