Envoy 代理 - Amazon App Mesh
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Envoy 代理

重要

终止支持通知:2026 年 9 月 30 日, Amazon 将停止对的支持。 Amazon App Mesh 2026 年 9 月 30 日之后,您将无法再访问 Amazon App Mesh 控制台或 Amazon App Mesh 资源。如需了解更多信息,请访问此博客文章从迁移 Amazon App Mesh 到 Amazon S ECS ervice 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 — 当此变量设置为 tcpuds 时,代理会提供本地管理接口。该管理接口充当与 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 配置变量

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