

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Envoy 代理
<a name="appnet-agent"></a>

**重要**  
终止支持通知：2026 年 9 月 30 日， Amazon 将停止对的支持。 Amazon App Mesh 2026 年 9 月 30 日之后，您将无法再访问 Amazon App Mesh 控制台或 Amazon App Mesh 资源。有关更多信息，请访问此博客文章[从迁移 Amazon App Mesh 到 Amazon ECS Service Connect](https://www.amazonaws.cn/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect)。

代理是为 App Mesh 出售的 Envoy 镜像中的一个进程管理器。代理确保 Envoy 一直保持运行、保持健康并减少停机时间。它会过滤 Envoy 统计数据和辅助数据，以帮助简要了解 Envoy 代理在 App Mesh 中的运行情况。这可以帮助您更快地排除相关错误。

当 Envoy 代理运行状况不佳时，您可以使用代理配置要重启该代理的次数。如果出现故障，代理会在 Envoy 退出时记录最终退出状态。在对故障进行故障排除时，您可以使用此功能。代理还可以促进 Envoy 连接耗尽，这有助于提高应用程序对故障的弹性。

使用以下变量为 Envoy 配置代理：
+ `APPNET_ENVOY_RESTART_COUNT` — 当此变量设置为非零值时，代理会尝试重新启动 Envoy 代理进程，直到轮询时其认为代理进程状态不正常时设置的数字。在代理运行状况检查失败的情况下，与容器编排工具替换任务或容器组 (pod) 相比，这有助于缩短停机时间。
+ `PID_POLL_INTERVAL_MS` — 配置此变量时，默认值保持为 `100`。当设置为此值时，与通过容器编排工具运行状况检查替换任务或容器组 (pod) 相比，您可以更快地检测和重启退出 Envoy 进程。
+ `LISTENER_DRAIN_WAIT_TIME_S` — 配置此变量时，请考虑为停止任务或容器组 (pod) 而设置的容器编排工具超时的情况。例如，如果此值大于编排工具超时时间，则 Envoy 代理只能在编排工具强制停止任务或容器组 (pod) 之前的持续时间内耗尽。
+ `APPNET_AGENT_ADMIN_MODE` — 当此变量设置为 `tcp` 或 `uds` 时，代理会提供本地管理接口。该管理接口充当与 Envoy 代理交互的安全端点， APIs 为运行状况检查、遥测数据提供以下内容，并总结代理的运行状况。
  + `GET /status` — 查询 Envoy 统计数据并返回服务器信息。
  + `POST /drain_listeners` — 耗尽所有入站侦听器。
  + `POST /enableLogging?level=<desired_level>` — 更改所有记录器的 Envoy 日志级别。
  + `GET /stats/prometheus` — 以 Prometheus 格式显示 Envoy 统计数据。
  + `GET /stats/prometheus?usedonly` — 仅显示 Envoy 已更新的统计数据。

有关代理配置变量的更多信息，请参阅 [Envoy 配置变量](https://docs.amazonaws.cn/app-mesh/latest/userguide/envoy-config.html)。

从版本开始，新 Amazon App Mesh 代理包含在 App Mesh 优化的 Envoy 镜像中`1.21.0.0`，无需在客户任务或 pod 中分配额外的资源。