

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

# Envoy 組態變數
<a name="envoy-config"></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)。

使用下列環境變數來設定 App Mesh 虛擬節點任務群組的 Envoy 容器。

**注意**  
App Mesh Envoy 1.17 不支援 Envoy 的 **v2 xDS** API。如果您使用的是接受 [Envoy 組態檔案的 Envoy 組態變數](https://docs.aws.amazon.com/app-mesh/latest/userguide/envoy-config.html)，則必須將其更新為最新的** v3 xDS** API。

## 必要變數
<a name="envoy-required-config"></a>

所有 App Mesh Envoy 容器都需要下列環境變數。此變數只能與版本 `1.15.0`或更新版本的 Envoy 映像搭配使用。如果您使用的是舊版映像，則必須改為設定 `APPMESH_VIRTUAL_NODE_NAME`變數。

`APPMESH_RESOURCE_ARN`  
當您將 Envoy 容器新增至任務群組時，請將此環境變數設定為虛擬節點的 ARN 或任務群組代表的虛擬閘道。下列清單包含範例 ARNs：  
+ **虛擬節點** – arn：aws：appmesh：*Region-code*：*111122223333*：mesh/*meshName*/virtualNode/*virtualNodeName*
+ **虛擬閘道** – arn：aws：appmesh：*Region-code*：*111122223333*：mesh/*meshName*/virtualGateway/*virtualGatewayName*

## 選用變數
<a name="envoy-optional-config"></a>

下列環境變數對於 App Mesh Envoy 容器而言是選用的。

`ENVOY_LOG_LEVEL`  
指定 Envoy 容器的日誌層級。  
有效值：`trace`、`debug`、`info`、 `warn`、`error`、`critical`、`off`  
預設：`info`

`ENVOY_INITIAL_FETCH_TIMEOUT`  
指定 Envoy 在初始化程序期間等待來自管理伺服器的第一個組態回應的時間量。  
如需詳細資訊，請參閱 Envoy 文件中的[組態來源](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/config_source.proto#envoy-v3-api-field-config-core-v3-configsource-initial-fetch-timeout)。設為 `0` 時，不會發生逾時。  
預設：`0`

`ENVOY_CONCURRENCY`  
啟動 Envoy 時設定`--concurrency`命令列選項。預設不會設定此值。此選項可從 Envoy 版本 `v1.24.0.0-prod` 或更新版本取得。  
如需詳細資訊，請參閱 Envoy 文件中的[命令列選項](https://www.envoyproxy.io/docs/envoy/latest/operations/cli#cmdoption-concurrency)。

### 管理員變數
<a name="envoy-admin-variables"></a>

使用這些環境變數來設定 Envoy 的管理介面。

`ENVOY_ADMIN_ACCESS_PORT`  
指定 Envoy 要接聽的自訂管理員連接埠。預設：`9901`。  
Envoy 管理員連接埠應與虛擬閘道或虛擬節點上的任何接聽程式連接埠不同

`ENVOY_ADMIN_ACCESS_LOG_FILE`  
指定要寫入 Envoy 存取日誌的自訂路徑。預設：`/tmp/envoy_admin_access.log`。

`ENVOY_ADMIN_ACCESS_ENABLE_IPV6`  
切換 Envoy 的管理界面以接受`IPv6`流量，這可讓此界面同時接受 `IPv4`和 `IPv6`流量。根據預設，此旗標設定為 false，Envoy 只會接聽`IPv4`流量。此變數只能與 Envoy 映像版本 1.22.0 或更新版本搭配使用。

### 代理程式變數
<a name="agent-variables"></a>

使用這些環境變數來設定 AWS App Mesh Agent for Envoy。如需詳細資訊，請參閱 App Mesh [Agent for Envoy](https://docs.aws.amazon.com//app-mesh/latest/userguide/appnet-agent.html)。

`APPNET_ENVOY_RESTART_COUNT`  
指定代理程式在執行中的任務或 Pod 中重新啟動 Envoy 代理程序的次數，如果結束的話。客服人員也會在每次 Envoy 結束時記錄結束狀態，以簡化故障診斷。此變數的預設值是 `0`。設定預設值時，代理程式不會嘗試重新啟動程序。  
預設：`0`  
上限：`10`

`PID_POLL_INTERVAL_MS`  
指定代理程式檢查 Envoy 代理程序狀態的間隔，以毫秒為單位。預設值為 `100`。  
預設：`100`  
下限：`100`  
上限：`1000`

`LISTENER_DRAIN_WAIT_TIME_S`  
指定 Envoy 代理在程序結束之前等待作用中連線關閉的時間，以秒為單位。  
預設：`20`  
下限：`5`  
上限：`110`

`APPNET_AGENT_ADMIN_MODE`  
啟動客服人員的管理界面伺服器，並將其繫結至 tcp 地址或 unix 通訊端。  
有效值：`tcp`、`uds`

`APPNET_AGENT_HTTP_PORT`  
在 `tcp` 模式中指定用於繫結 Agent 管理介面的連接埠。`1024` 如果 ！= `uid` ，請確保連接埠值為 >`0`。確保連接埠小於 `65535`。  
預設：`9902`

`APPNET_AGENT_ADMIN_UDS_PATH`  
在 `uds` 模式下為客服人員的管理界面指定 unix 網域通訊端路徑。  
預設：`/var/run/ecs/appnet_admin.sock`

### 追蹤變數
<a name="tracing-variables"></a>

您可以設定無或下列任一追蹤驅動程式。

#### AWS X-Ray 變數
<a name="envoy-xray-config"></a>

使用下列環境變數來設定 App Mesh AWS X-Ray。如需詳細資訊，請參閱《AWS X-Ray 開發人員指南》[https://docs.aws.amazon.com/xray/latest/devguide/](https://docs.aws.amazon.com/xray/latest/devguide/)。

`ENABLE_ENVOY_XRAY_TRACING`  
使用 `127.0.0.1:2000`做為預設協助程式端點來啟用 X-Ray 追蹤。若要啟用，請將 值設定為 `1`。預設值為 `0`。

`XRAY_DAEMON_PORT`  
指定連接埠值以覆寫預設的 X-Ray 協助程式連接埠：`2000`。

`XRAY_SAMPLING_RATE`  
指定取樣率以覆寫 X-Ray 追蹤器的預設取樣率 `0.05`(5%)。將值指定為介於 `0`和 `1.00`(100%) 之間的小數。如果`XRAY_SAMPLING_RULE_MANIFEST`指定 ，則會覆寫此值。版本 `v1.19.1.1-prod`和更新版本的 Envoy 映像支援此變數。

`XRAY_SAMPLING_RULE_MANIFEST`  
在 Envoy 容器檔案系統中指定檔案路徑，以設定 X-Ray 追蹤器的當地語系化自訂取樣規則。如需詳細資訊，請參閱《 *AWS X-Ray 開發人員指南*》中的[取樣規則](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-go-configuration.html#xray-sdk-go-configuration-sampling)。版本 `v1.19.1.0-prod`和更新版本的 Envoy 映像支援此變數。

`XRAY_SEGMENT_NAME`  
指定追蹤的區段名稱，以覆寫預設的 X-Ray 區段名稱。根據預設，此值會設定為 `mesh/resourceName`。Envoy 映像版本 `v1.23.1.0-prod`或更新版本支援此變數。

#### Datadog 追蹤變數
<a name="datadog-tracing"></a>

下列環境變數可協助您使用 Datadog 代理程式追蹤器設定 App Mesh。如需詳細資訊，請參閱 Datadog 文件中的[客服人員組態](https://docs.datadoghq.com/tracing/send_traces/)。

`ENABLE_ENVOY_DATADOG_TRACING`  
啟用使用 `127.0.0.1:8126`做為預設 Datadog 代理程式端點的 Datadog 追蹤收集。若要啟用，請將值設定為 `1`（預設值為 `0`)。

`DATADOG_TRACER_PORT`  
指定連接埠值以覆寫預設 Datadog 代理程式連接埠：`8126`。

`DATADOG_TRACER_ADDRESS`  
指定 IP 地址以覆寫預設 Datadog 代理程式地址：`127.0.0.1`。

`DD_SERVICE`  
指定追蹤的服務名稱，以覆寫預設的 Datadog 服務名稱：`envoy-meshName`/`virtualNodeName`。版本 `v1.18.3.0-prod`和更新版本的 Envoy 映像支援此變數。

#### Jaeger 追蹤變數
<a name="jaeger-tracing"></a>

使用下列環境變數來設定 App Mesh 搭配 Jaeger 追蹤。如需詳細資訊，請參閱 Jaeger 文件中的[入門](https://www.jaegertracing.io/docs/1.21/getting-started/)。版本 `1.16.1.0-prod`和更新版本的 Envoy 映像支援這些變數。

`ENABLE_ENVOY_JAEGER_TRACING`  
啟用使用 `127.0.0.1:9411`做為預設 Jaeger 端點的 Jaeger 追蹤集合。若要啟用，請將值設定為 `1`（預設值為 `0`)。

`JAEGER_TRACER_PORT`  
指定連接埠值以覆寫預設的 Jaeger 連接埠：`9411`。

`JAEGER_TRACER_ADDRESS`  
指定 IP 地址以覆寫預設的 Jaeger 地址：`127.0.0.1`。

`JAEGER_TRACER_VERSION`  
指定收集器是否需要 `JSON`或`PROTO`編碼格式的追蹤。根據預設，此值會設為 `PROTO`。Envoy 映像版本 `v1.23.1.0-prod`或更新版本支援此變數。

#### Envoy 追蹤變數
<a name="envoy-tracing"></a>

將下列環境變數設定為使用您自己的追蹤組態。

`ENVOY_TRACING_CFG_FILE`  
在 Envoy 容器檔案系統中指定檔案路徑。如需詳細資訊，請參閱 Envoy 文件[https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/trace/v3/http_tracer.proto#envoy-v3-api-msg-config-trace-v3-tracing](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/trace/v3/http_tracer.proto#envoy-v3-api-msg-config-trace-v3-tracing)中的 。  
如果追蹤組態需要指定追蹤叢集，請務必在相同的追蹤組態檔案中`static_resources`，於 下設定相關聯的叢集組態。例如，Zipkin 有一個託管追蹤收集器的叢集名稱[https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/trace/v3/zipkin.proto#config-trace-v3-zipkinconfig](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/trace/v3/zipkin.proto#config-trace-v3-zipkinconfig)欄位，該叢集需要靜態定義。

### DogStatsD 變數
<a name="envoy-dogstatsd-config"></a>

使用下列環境變數來設定 App Mesh 搭配 DogStatsD。如需詳細資訊，請參閱 [DogStatsD](https://docs.datadoghq.com/developers/dogstatsd/) 文件。

`ENABLE_ENVOY_DOG_STATSD`  
使用 `127.0.0.1:8125`做為預設協助程式端點來啟用 DogStatsD 統計資料。若要啟用，請將 值設定為 `1`。

`STATSD_PORT`  
指定連接埠值以覆寫預設的 DogStatsD 協助程式連接埠。

`STATSD_ADDRESS`  
指定 IP 地址值以覆寫預設的 DogStatsD 協助程式 IP 地址。預設：`127.0.0.1`。此變數只能與版本 `1.15.0`或更新版本的 Envoy 映像搭配使用。

`STATSD_SOCKET_PATH`  
指定 DogStatsD 協助程式的 unix 網域通訊端。如果未指定此變數並啟用 DogStatsD，則此值預設為 的 DogStatsD 協助程式 IP 地址連接埠`127.0.0.1:8125`。如果`ENVOY_STATS_SINKS_CFG_FILE`指定變數包含統計資料接收器組態，則會覆寫所有 DogStatsD 變數。Envoy 映像版本 `v1.19.1.0-prod`或更新版本支援此變數。

### App Mesh 變數
<a name="envoy-appmesh-variables"></a>

下列變數可協助您設定 App Mesh。

`APPMESH_RESOURCE_CLUSTER`  
根據預設，當 Envoy 在指標和追蹤中參考本身`APPMESH_RESOURCE_ARN`時，App Mesh 會使用您在 中指定的資源名稱。您可以藉由使用自己的名稱設定 `APPMESH_RESOURCE_CLUSTER` 環境變數，以覆寫此行為。此變數只能與版本 `1.15.0`或更新版本的 Envoy 映像搭配使用。

`APPMESH_METRIC_EXTENSION_VERSION`  
將 值設定為 `1`以啟用 App Mesh 指標延伸。如需使用 App Mesh 指標延伸的詳細資訊，請參閱 [App Mesh 的指標延伸](metrics.md)。

`APPMESH_DUALSTACK_ENDPOINT`  
將 值設定為 `1` 以連線至 App Mesh Dual Stack 端點。設定此旗標時，Envoy 會使用支援雙堆疊的網域。根據預設，此旗標設定為 false，且只會連線到我們的`IPv4`網域。此變數只能與 Envoy 映像版本 1.22.0 或更新版本搭配使用。

### Envoy 統計資料變數
<a name="envoy-stats-config"></a>

使用下列環境變數來設定 App Mesh 搭配 Envoy Stats。如需詳細資訊，請參閱 [Envoy Stats](https://www.envoyproxy.io/docs/envoy/v1.6.0/api-v2/config/metrics/v2/stats.proto) 文件。

`ENABLE_ENVOY_STATS_TAGS`  
啟用 App Mesh 定義的標籤 `appmesh.mesh`和 的使用`appmesh.virtual_node`。如需詳細資訊，請參閱 Envoy 文件中的 [config.metrics.v3.TagSpecifier](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/metrics/v3/stats.proto#config-metrics-v3-tagspecifier)。若要啟用，請將 值設定為 `1`。

`ENVOY_STATS_CONFIG_FILE`  
在 Envoy 容器檔案系統中指定檔案路徑，以使用您自己的檔案覆寫預設 Stats 標籤組態檔案。如需詳細資訊，請參閱 [config.metrics.v3.StatsConfig](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/metrics/v3/stats.proto#config-metrics-v3-statsconfig)。  
設定包含統計資料篩選條件的自訂統計資料組態，可能會導致 Envoy 進入不再與世界 App Mesh 狀態正確同步的狀態。這是 Envoy 中的[錯誤](https://github.com/envoyproxy/envoy/issues/9856)。我們建議不要在 Envoy 中執行任何統計資料篩選。如果篩選是絕對必要的，我們在藍圖上列出了[此問題](https://github.com/aws/aws-app-mesh-roadmap/issues/283)中的幾個解決方法。

`ENVOY_STATS_SINKS_CFG_FILE`  
在 Envoy 容器檔案系統中指定檔案路徑，以使用您自己的組態覆寫預設組態。如需詳細資訊，請參閱 Envoy 文件中的 [config.metrics.v3.StatsSink](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/metrics/v3/stats.proto#config-metrics-v3-statssink)。

### 已棄用變數
<a name="envoy-deprecated-variables"></a>

Envoy 版本 `APPMESH_RESOURCE_NAME` `1.15.0`或更新版本不再支援環境變數 `APPMESH_VIRTUAL_NODE_NAME` 和 。不過，現有網格仍支援這些網格。將 `APPMESH_RESOURCE_ARN`用於所有 App Mesh 端點，而不是將這些變數與 Envoy 版本 `1.15.0` 或更新版本搭配使用。