

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

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

**重要**  
支援終止通知：2026 年 9 月 30 日， AWS 將停止支援 AWS App Mesh。2026 年 9 月 30 日之後，您將無法再存取 AWS App Mesh 主控台或 AWS App Mesh 資源。如需詳細資訊，請參閱此部落格文章[從 遷移 AWS App Mesh 至 Amazon ECS Service Connect](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect)。

代理程式是 Envoy 映像中的程序管理員，適用於 App Mesh。代理程式可確保 Envoy 保持執行狀態、保持運作狀態，並減少停機時間。它會篩選 Envoy 統計資料和輔助資料，以提供 Envoy 代理在 App Mesh 中操作的分割檢視。這可協助您更快速地對相關錯誤進行故障診斷。

您可以使用 代理程式來設定您希望在代理狀態不佳時重新啟動 Envoy 代理的次數。如果失敗，客服人員會在 Envoy 結束時記錄最終結束狀態。您可以在故障疑難排解時使用此功能。代理程式也促進 Envoy 連線耗盡，這有助於讓您的應用程式對故障更具彈性。

使用以下變數設定 Agent for 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.aws.amazon.com/app-mesh/latest/userguide/envoy-config.html)。

新的 AWS App Mesh 代理程式包含在從 版本開始的 App Mesh 最佳化 Envoy 映像中`1.21.0.0`，且不需要在客戶任務或 Pod 中配置其他資源。