在 Amazon ECS 上启用应用程序
遵照本部分的自定义设置步骤,在 Amazon ECS 上启用 CloudWatch Application Signals。
对于在 Amazon ECS 上运行的应用程序,您可以自行安装并配置 CloudWatch 代理和 Amazon Distro for OpenTelemetry。在这些启用了自定义 Application Signals 设置的架构上,Application Signals 不会自动发现您的服务的名称或运行这些服务的主机或集群。您必须在自定义设置期间指定这些名称,而您指定的名称就是显示在 Application Signals 控制面板上的名称。
使用自定义设置在 Amazon ECS 上启用 Application Signals
使用这些自定义设置说明,将您在 Amazon ECS 上的应用程序载入到 CloudWatch Application Signals。您可以自行安装并配置 CloudWatch 代理和 Amazon Distro for OpenTelemetry。
有两种方法可以在 Amazon ECS 上部署 Application Signals。请根据您的环境选择一种适合的方法。
- 使用挎斗策略进行部署 – 向集群中的每个任务定义添加一个 CloudWatch 代理挎斗容器。 - 优势: - 可同时支持 - ec2和- Fargate启动类型。
- 在设置环境变量时,可以始终将 - localhost作为 IP 地址。
 - 劣势: - 必须为集群中运行的每个服务任务设置该 CloudWatch 代理挎斗容器。 
- 仅支持 - awsvpc网络模式。
 
- 使用进程守护程序策略进行部署 – 只需在集群中添加一次 CloudWatch 代理任务,Amazon ECS 进程守护程序计划策略就会根据需要部署该任务。可确保每个实例都持续接收跟踪和指标,从而实现集中可见性,无需在每个应用程序任务定义中将代理作为挎斗运行。 - 优势: - 只需在集群中为 CloudWatch 代理设置一次进程守护程序服务。 
 - 劣势: - 不支持 Fargate 启动类型。 
- 如果您使用的是 - awsvpc或- bridge网络模式,则必须在环境变量中手动指定每个容器实例的私有 IP 地址。
 
无论使用哪种方法,在 Amazon ECS 集群上,Application Signals 都不会自动发现服务的名称。您必须在自定义设置期间指定服务名称,而您指定的名称就是显示在 Application Signals 控制面板上的名称。