

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Immagine dell'inviato
<a name="envoy"></a>

**Importante**  
Avviso di fine del supporto: il 30 settembre 2026, AWS verrà interrotto il supporto per. AWS App Mesh Dopo il 30 settembre 2026, non potrai più accedere alla AWS App Mesh console o alle risorse. AWS App Mesh Per ulteriori informazioni, consulta questo post di blog [Migrazione AWS App Mesh da Amazon ECS Service Connect.](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect) 

AWS App Mesh è una service mesh basata sul proxy [Envoy](https://www.envoyproxy.io/).

![\[ECS Task/Kubernetes Pod with Proxy and Microservice Container communicating via ports 8080 and 8081.\]](http://docs.aws.amazon.com/it_it/app-mesh/latest/userguide/images/proxy.png)


È necessario aggiungere un proxy Envoy all'attività Amazon ECS, al pod Kubernetes o all'istanza Amazon EC2 rappresentata dall'endpoint App Mesh, ad esempio un nodo virtuale o un gateway virtuale. App Mesh fornisce un'immagine del contenitore proxy Envoy corredata con gli ultimi aggiornamenti di vulnerabilità e prestazioni. App Mesh verifica ogni nuova versione del proxy Envoy rispetto al set di funzionalità App Mesh prima di rendere disponibile una nuova immagine.

## Varianti dell'immagine Envoy
<a name="envoy-variants"></a>

App Mesh fornisce due varianti dell'immagine del contenitore proxy Envoy. Le differenze tra i due riguardano il modo in cui il proxy Envoy comunica con il piano dati App Mesh e il modo in cui i proxy Envoy comunicano tra loro. Una è un'immagine standard, che comunica con gli endpoint del servizio App Mesh standard. L'altra variante è conforme a FIPS, che comunica con gli endpoint del servizio FIPS App Mesh e applica la crittografia FIPS nelle comunicazioni TLS tra i servizi App Mesh.

[Puoi scegliere un'immagine regionale dall'elenco seguente o un'immagine dal nostro archivio pubblico denominato.](https://gallery.ecr.aws/appmesh/aws-appmesh-envoy) `aws-appmesh-envoy`

**Importante**  
A partire dal 30 giugno 2023, solo l'immagine Envoy `v1.17.2.0-prod` o successiva è compatibile per l'uso con App Mesh. Per i clienti attuali che utilizzavano un'immagine Envoy in precedenza`v1.17.2.0`, anche se gli envoy esistenti continueranno a essere compatibili, consigliamo vivamente di migrare alla versione più recente.
Come best practice, si consiglia vivamente di aggiornare regolarmente la versione di Envoy alla versione più recente. Solo l'ultima versione di Envoy è convalidata con le patch di sicurezza, le versioni di funzionalità e i miglioramenti delle prestazioni più recenti.
La versione `1.17` era un aggiornamento significativo di Envoy. Vedi [Aggiornamento/migrazione a Envoy 1.17 per maggiori dettagli](https://docs.aws.amazon.com/app-mesh/latest/userguide/1.17-migration.html).
La versione o successiva è compatibile. `1.20.0.1` `ARM64`
Per il `IPv6` supporto, è richiesta la versione Envoy `1.20` o successiva.

**Nota**  
FIPS è disponibile solo nelle regioni degli Stati Uniti e del Canada.

Tutte le regioni [supportate](https://docs.aws.amazon.com/general/latest/gr/appmesh.html) possono essere sostituite *Region-code* con qualsiasi regione diversa da `me-south-1``ap-east-1`,`ap-southeast-3`,`eu-south-1`,`il-central-1`, e`af-south-1`.  
Standard  

```
840364872350.dkr.ecr.region-code.amazonaws.com/aws-appmesh-envoy:v1.34.13.0-prod
```
Conforme a FIPS  

```
840364872350.dkr.ecr.region-code.amazonaws.com/aws-appmesh-envoy:v1.34.13.0-prod-fips
```

`me-south-1`  
Standard  

```
772975370895.dkr.ecr.me-south-1.amazonaws.com/aws-appmesh-envoy:v1.34.13.0-prod
```

`ap-east-1`  
Standard  

```
856666278305.dkr.ecr.ap-east-1.amazonaws.com/aws-appmesh-envoy:v1.34.13.0-prod
```

`ap-southeast-3`  
Standard  

```
909464085924.dkr.ecr.ap-southeast-3.amazonaws.com/aws-appmesh-envoy:v1.34.13.0-prod
```

`eu-south-1`  
Standard  

```
422531588944.dkr.ecr.eu-south-1.amazonaws.com/aws-appmesh-envoy:v1.34.13.0-prod
```

`il-central-1`  
Standard  

```
564877687649.dkr.ecr.il-central-1.amazonaws.com/aws-appmesh-envoy:v1.34.13.0-prod
```

`af-south-1`  
Standard  

```
924023996002.dkr.ecr.af-south-1.amazonaws.com/aws-appmesh-envoy:v1.34.13.0-prod
```

`Public repository`  
Standard  

```
public.ecr.aws/appmesh/aws-appmesh-envoy:v1.34.13.0-prod
```
Conforme a FIPS  

```
public.ecr.aws/appmesh/aws-appmesh-envoy:v1.34.13.0-prod-fips
```

**Nota**  
Si consiglia di allocare 512 unità CPU e almeno 64 MiB di memoria nel contenitore Envoy. Su Fargate la quantità di memoria più bassa che è possibile impostare è di 1024 MiB di memoria. L'allocazione delle risorse nel contenitore Envoy può essere aumentata se Container Insights o altre metriche indicano risorse insufficienti a causa di un carico maggiore.

**Nota**  
Tutte le versioni di rilascio `aws-appmesh-envoy` dell'immagine a partire da `v1.22.0.0` sono create come immagini Docker senza distribuzione. Abbiamo apportato questa modifica in modo da poter ridurre le dimensioni dell'immagine e ridurre la nostra esposizione alla vulnerabilità nei pacchetti inutilizzati presenti nell'immagine. Se stai costruendo sulla base dell' aws-appmesh-envoyimmagine e ti affidi ad alcuni pacchetti di AL2 base (ad esempio yum) e funzionalità, ti suggeriamo di copiare i binari dall'interno di un'`aws-appmesh-envoy`immagine per creare una nuova immagine Docker con base. AL2   
Esegui questo script per generare un'immagine docker personalizzata con il tag `aws-appmesh-envoy:v1.22.0.0-prod-al2:`  

```
cat << EOF > Dockerfile
FROM public.ecr.aws/appmesh/aws-appmesh-envoy:v1.22.0.0-prod as envoy

FROM public.ecr.aws/amazonlinux/amazonlinux:2
RUN yum -y update && \
    yum clean all && \
    rm -rf /var/cache/yum

COPY --from=envoy /usr/bin/envoy /usr/bin/envoy
COPY --from=envoy /usr/bin/agent /usr/bin/agent
COPY --from=envoy /aws_appmesh_aggregate_stats.wasm /aws_appmesh_aggregate_stats.wasm

CMD [ "/usr/bin/agent" ]
EOF

docker build -f Dockerfile -t aws-appmesh-envoy:v1.22.0.0-prod-al2 .
```

L'accesso a questa immagine del contenitore in Amazon ECR è controllato da AWS Identity and Access Management (IAM). Di conseguenza, devi utilizzare IAM per verificare di avere accesso in lettura ad Amazon ECR. Ad esempio, quando usi Amazon ECS, puoi assegnare un ruolo di esecuzione di attività appropriato a un'attività Amazon ECS. Se utilizzi policy IAM che limitano l'accesso a risorse Amazon ECR specifiche, assicurati di verificare di consentire l'accesso all'Amazon Resource Name (ARN) specifico della regione che identifica `aws-appmesh-envoy` il repository. Ad esempio, nella `us-west-2` regione, consenti l'accesso alla seguente risorsa:. `arn:aws:ecr:us-west-2:840364872350:repository/aws-appmesh-envoy` Per ulteriori informazioni, consulta [Amazon ECR Managed Policies ](https://docs.aws.amazon.com/AmazonECR/latest/userguide/ecr_managed_policies.html). Se utilizzi Docker su un'istanza Amazon EC2, autentica Docker nel repository. Per ulteriori informazioni, consultare [Autenticazione dei registri](https://docs.aws.amazon.com/AmazonECR/latest/userguide/Registries.html#registry_auth).

Di tanto in tanto rilasciamo nuove funzionalità di App Mesh che dipendono dalle modifiche di Envoy che non sono ancora state unite alle immagini di Envoy upstream. Per utilizzare queste nuove funzionalità di App Mesh prima che le modifiche di Envoy vengano unite a monte, è necessario utilizzare l'immagine del contenitore App Mesh vended Envoy. Per un elenco delle modifiche, consulta i [problemi della GitHub roadmap di App Mesh](https://github.com/aws/aws-app-mesh-roadmap/labels/Envoy%20Upstream) con l'`Envoy Upstream`etichetta. Ti consigliamo di utilizzare l'immagine del contenitore App Mesh Envoy come opzione meglio supportata.

# Variabili di configurazione di Envoy
<a name="envoy-config"></a>

**Importante**  
Avviso di fine del supporto: il 30 settembre 2026, AWS verrà interrotto il supporto per. AWS App Mesh Dopo il 30 settembre 2026, non potrai più accedere alla AWS App Mesh console o alle risorse. AWS App Mesh Per ulteriori informazioni, consulta questo post di blog [Migrazione AWS App Mesh da Amazon ECS Service Connect.](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect) 

Utilizza le seguenti variabili di ambiente per configurare i contenitori Envoy per i gruppi di attività del nodo virtuale App Mesh.

**Nota**  
**App Mesh Envoy 1.17 non supporta l'API xDS v2 di Envoy.** **Se utilizzi [variabili di configurazione Envoy che accettano i file di configurazione](https://docs.aws.amazon.com/app-mesh/latest/userguide/envoy-config.html) di Envoy, devono essere aggiornate all'ultima API xDs v3.**

## Variabili obbligatorie
<a name="envoy-required-config"></a>

La seguente variabile di ambiente è richiesta per tutti i contenitori App Mesh Envoy. Questa variabile può essere utilizzata solo con la versione `1.15.0` o successiva dell'immagine Envoy. Se stai usando una versione precedente dell'immagine, devi invece impostare la `APPMESH_VIRTUAL_NODE_NAME` variabile.

`APPMESH_RESOURCE_ARN`  
Quando aggiungi il contenitore Envoy a un gruppo di attività, imposta questa variabile di ambiente sull'ARN del nodo virtuale o del gateway virtuale rappresentato dal gruppo di attività. L'elenco seguente contiene esempi: ARNs  
+ **Nodo virtuale**: arn:aws:appmesh: :mesh/ /VirtualNode/ *Region-code* *111122223333* *meshName* *virtualNodeName*
+ **Gateway virtuale** — arn:aws:appmesh: *Region-code* ::mesh/ /VirtualGateway/ *111122223333* *meshName* *virtualGatewayName*

## Variabili opzionali
<a name="envoy-optional-config"></a>

La seguente variabile di ambiente è facoltativa per i contenitori App Mesh Envoy.

`ENVOY_LOG_LEVEL`  
Specifica il livello di registro per il contenitore Envoy.  
Valori validi: `trace`, `debug`, `info`, `warn`, `error`, `critical`, `off`  
Impostazione predefinita: `info`

`ENVOY_INITIAL_FETCH_TIMEOUT`  
Speciifica il periodo di attesa da parte di Envoy per la prima risposta di configurazione dal server di gestione durante il processo di inizializzazione.  
Per ulteriori informazioni, vedere Fonti di [configurazione](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) nella documentazione di Envoy. Se il parametro è impostato su `0`, non è previsto alcun timeout.  
Impostazione predefinita: `0`

`ENVOY_CONCURRENCY`  
Imposta l'opzione della `--concurrency` riga di comando all'avvio di Envoy. Questa opzione non è impostata di default. Questa opzione è disponibile dalla versione Envoy `v1.24.0.0-prod` o successiva.  
Per ulteriori informazioni, vedere [Opzioni della riga di comando nella documentazione](https://www.envoyproxy.io/docs/envoy/latest/operations/cli#cmdoption-concurrency) di Envoy.

### Variabili di amministrazione
<a name="envoy-admin-variables"></a>

Usa queste variabili di ambiente per configurare l'interfaccia amministrativa di Envoy.

`ENVOY_ADMIN_ACCESS_PORT`  
Specificate una porta di amministrazione personalizzata su cui Envoy possa ascoltare. Default: `9901`.  
La porta di amministrazione di Envoy deve essere diversa da qualsiasi porta listener sul gateway virtuale o sul nodo virtuale

`ENVOY_ADMIN_ACCESS_LOG_FILE`  
Specificate un percorso personalizzato su cui scrivere i log di accesso di Envoy. Default: `/tmp/envoy_admin_access.log`.

`ENVOY_ADMIN_ACCESS_ENABLE_IPV6`  
Attiva l'interfaccia di amministrazione di Envoy per accettare il traffico, il che consente a questa interfaccia di accettare sia `IPv6` il traffico che il traffico. `IPv4` `IPv6` Per impostazione predefinita, questo flag è impostato su false e Envoy ascolta solo il traffico. `IPv4` Questa variabile può essere utilizzata solo con la versione 1.22.0 o successiva dell'immagine di Envoy.

### Variabili dell'agente
<a name="agent-variables"></a>

Utilizzate queste variabili di ambiente per configurare l' AWS App Mesh Agent for Envoy. Per ulteriori informazioni, consulta App Mesh [Agent for Envoy](https://docs.aws.amazon.com//app-mesh/latest/userguide/appnet-agent.html).

`APPNET_ENVOY_RESTART_COUNT`  
Speciifica il numero di volte in cui l'agente riavvia il processo proxy Envoy all'interno di un'attività o di un pod in esecuzione, se viene chiuso. L'agente registra inoltre lo stato di uscita ogni volta che Envoy esce per facilitare la risoluzione dei problemi. Il valore predefinito di questa variabile è `0`. Quando viene impostato il valore predefinito, l'agente non tenta di riavviare il processo.  
Impostazione predefinita: `0`  
Massimo: `10`

`PID_POLL_INTERVAL_MS`  
Speciifica l'intervallo in millisecondi in cui lo stato del processo del proxy Envoy viene verificato dall'agente. Il valore predefinito è `100`.  
Impostazione predefinita: `100`  
Minimo: `100`  
Massimo: `1000`

`LISTENER_DRAIN_WAIT_TIME_S`  
Speciifica il periodo di tempo in secondi in cui il proxy Envoy attende la chiusura delle connessioni attive prima della chiusura del processo.  
Impostazione predefinita: `20`  
Minimo: `5`  
Massimo: `110`

`APPNET_AGENT_ADMIN_MODE`  
Avvia il server dell'interfaccia di gestione di Agent e lo associa a un indirizzo tcp o a un socket unix.  
Valori validi: `tcp`, `uds`

`APPNET_AGENT_HTTP_PORT`  
Specificare una porta da utilizzare per associare l'interfaccia di gestione di Agent in modalità. `tcp` Assicurati che il valore della porta sia > `1024` if`uid`\$1 =`0`. Assicurati che la porta sia inferiore a`65535`.  
Impostazione predefinita: `9902`

`APPNET_AGENT_ADMIN_UDS_PATH`  
Specificare il percorso del socket del dominio unix per l'interfaccia di gestione dell'agente in `uds` modalità.  
Impostazione predefinita: `/var/run/ecs/appnet_admin.sock`

### Variabili di tracciamento
<a name="tracing-variables"></a>

È possibile configurare nessuno o uno dei seguenti driver di tracciamento.

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

Usa le seguenti variabili di ambiente per configurare App Mesh con AWS X-Ray. Per ulteriori informazioni, consulta la [Guida per gli sviluppatori di AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/).

`ENABLE_ENVOY_XRAY_TRACING`  
Abilita il tracciamento a raggi X utilizzando `127.0.0.1:2000` come endpoint demone predefinito. Per abilitare, imposta il valore su. `1` Il valore predefinito è `0`.

`XRAY_DAEMON_PORT`  
Specificate un valore di porta per sovrascrivere la porta demone X-Ray predefinita:. `2000`

`XRAY_SAMPLING_RATE`  
Specificate una frequenza di campionamento per sostituire la frequenza di campionamento predefinita del tracciante X-Ray (5%). `0.05` Specificate il valore come valore decimale compreso tra e (100%). `0` `1.00` Questo valore viene sovrascritto se specificato. `XRAY_SAMPLING_RULE_MANIFEST` Questa variabile è supportata con le immagini di Envoy della versione e successive. `v1.19.1.1-prod`

`XRAY_SAMPLING_RULE_MANIFEST`  
Specificate un percorso del file nel file system del contenitore Envoy per configurare le regole di campionamento personalizzate localizzate per il tracciante X-Ray. *Per ulteriori informazioni, consulta le regole di [campionamento](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-go-configuration.html#xray-sdk-go-configuration-sampling) nella Guida per gli sviluppatori.AWS X-Ray * Questa variabile è supportata con le immagini di Envoy della versione `v1.19.1.0-prod` e successive.

`XRAY_SEGMENT_NAME`  
Specificate un nome di segmento per le tracce per sovrascrivere il nome predefinito del segmento X-Ray. Per impostazione predefinita, questo valore sarà impostato come. `mesh/resourceName` Questa variabile è supportata con la versione dell'immagine di Envoy `v1.23.1.0-prod` o successiva.

#### Variabili di tracciamento Datadog
<a name="datadog-tracing"></a>

Le seguenti variabili di ambiente ti aiutano a configurare App Mesh con l'agent tracer Datadog. Per ulteriori informazioni, consulta [Agent Configuration](https://docs.datadoghq.com/tracing/send_traces/) nella documentazione di Datadog.

`ENABLE_ENVOY_DATADOG_TRACING`  
Abilita la raccolta di tracce Datadog utilizzando `127.0.0.1:8126` come endpoint predefinito dell'agente Datadog. Per abilitare, imposta il valore su (il valore predefinito è`1`). `0`

`DATADOG_TRACER_PORT`  
Specificate un valore di porta per sovrascrivere la porta predefinita dell'agente Datadog:. `8126`

`DATADOG_TRACER_ADDRESS`  
Specificare un indirizzo IP per sovrascrivere l'indirizzo predefinito dell'agente Datadog:. `127.0.0.1`

`DD_SERVICE`  
Specificate un nome di servizio per le tracce per sovrascrivere il nome di servizio Datadog predefinito:/. `envoy-meshName` `virtualNodeName` Questa variabile è supportata con le immagini di Envoy della versione e successive. `v1.18.3.0-prod`

#### Variabili di tracciamento Jaeger
<a name="jaeger-tracing"></a>

Usa le seguenti variabili di ambiente per configurare App Mesh con Jaeger tracing. Per ulteriori informazioni, consulta [Getting Started nella documentazione](https://www.jaegertracing.io/docs/1.21/getting-started/) di Jaeger. Queste variabili sono supportate con le immagini di Envoy della versione e successive. `1.16.1.0-prod`

`ENABLE_ENVOY_JAEGER_TRACING`  
Abilita la raccolta di tracce Jaeger utilizzando `127.0.0.1:9411` come endpoint Jaeger predefinito. Per abilitarla, impostate il valore su `1` (il valore predefinito è). `0`

`JAEGER_TRACER_PORT`  
Specificate un valore di porta per sovrascrivere la porta Jaeger predefinita:. `9411`

`JAEGER_TRACER_ADDRESS`  
Specificate un indirizzo IP per sostituire l'indirizzo Jaeger predefinito:. `127.0.0.1`

`JAEGER_TRACER_VERSION`  
Specificate se il raccoglitore necessita di tracce in `JSON` formato codificato. `PROTO` Per impostazione predefinita, questo valore sarà impostato su. `PROTO` Questa variabile è supportata con la versione dell'immagine di Envoy `v1.23.1.0-prod` o successiva.

#### Variabile di tracciamento Envoy
<a name="envoy-tracing"></a>

Imposta la seguente variabile di ambiente per utilizzare la tua configurazione di tracciamento. 

`ENVOY_TRACING_CFG_FILE`  
Specificate il percorso del file nel file system del contenitore Envoy. Per ulteriori informazioni, consulta la documentazione [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)di Envoy.  
Se la configurazione di tracciamento richiede la specifica di un cluster di tracciamento, assicurati di configurare la configurazione del cluster associata `static_resources` nello stesso file di configurazione di tracciamento. Ad esempio, Zipkin ha un [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)campo per il nome del cluster che ospita i raccoglitori di tracce e quel cluster deve essere definito staticamente.

### DogStatsVariabili D
<a name="envoy-dogstatsd-config"></a>

Usa le seguenti variabili di ambiente per configurare App Mesh con DogStats D. Per ulteriori informazioni, consulta la documentazione [DogStatsD.](https://docs.datadoghq.com/developers/dogstatsd/)

`ENABLE_ENVOY_DOG_STATSD`  
Abilita le statistiche DogStats D utilizzando `127.0.0.1:8125` come endpoint demone predefinito. Per abilitare, imposta il valore su. `1`

`STATSD_PORT`  
Specificate un valore di porta per sostituire la porta demone DogStats D predefinita.

`STATSD_ADDRESS`  
Specificare un valore di indirizzo IP per sovrascrivere l'indirizzo IP del demone DogStats D predefinito. Default: `127.0.0.1`. Questa variabile può essere utilizzata solo con la versione `1.15.0` o successiva dell'immagine Envoy.

`STATSD_SOCKET_PATH`  
Specificate un socket di dominio unix per il demone D. DogStats Se questa variabile non è specificata e DogStats D è abilitato, il valore predefinito è la porta dell'indirizzo IP del demone DogStats D di. `127.0.0.1:8125` Se la `ENVOY_STATS_SINKS_CFG_FILE` variabile viene specificata contenente una configurazione stats sinks, sostituisce tutte le variabili D. DogStats Questa variabile è supportata con la versione dell'immagine Envoy o successiva. `v1.19.1.0-prod`

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

Le seguenti variabili consentono di configurare App Mesh.

`APPMESH_RESOURCE_CLUSTER`  
Per impostazione predefinita, App Mesh utilizza il nome della risorsa specificato in `APPMESH_RESOURCE_ARN` quando Envoy si riferisce a se stesso nelle metriche e nelle tracce. È possibile ignorare questo comportamento impostando la variabile di ambiente `APPMESH_RESOURCE_CLUSTER` con il proprio nome. Questa variabile può essere utilizzata solo con la versione `1.15.0` o successiva dell'immagine Envoy.

`APPMESH_METRIC_EXTENSION_VERSION`  
Imposta il valore su per `1` abilitare l'estensione delle metriche App Mesh. Per ulteriori informazioni sull'utilizzo dell'estensione delle metriche App Mesh, consulta[Estensione delle metriche per App Mesh](metrics.md).

`APPMESH_DUALSTACK_ENDPOINT`  
Imposta il valore su per `1` connetterti all'endpoint App Mesh Dual Stack. Quando questo flag è impostato, Envoy utilizza il nostro dominio con funzionalità dual stack. Per impostazione predefinita, questo flag è impostato su false e si connette solo al nostro dominio. `IPv4` Questa variabile può essere utilizzata solo con Envoy image versione 1.22.0 o successiva.

### Variabili di stato di Envoy
<a name="envoy-stats-config"></a>

Usa le seguenti variabili di ambiente per configurare App Mesh con Envoy Stats. Per ulteriori informazioni, consulta la documentazione di [Envoy](https://www.envoyproxy.io/docs/envoy/v1.6.0/api-v2/config/metrics/v2/stats.proto) Stats.

`ENABLE_ENVOY_STATS_TAGS`  
Abilita l'uso di tag definiti da App Mesh `appmesh.mesh` e`appmesh.virtual_node`. Per ulteriori informazioni, consulta [config.metrics.v3. TagSpecifier](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/metrics/v3/stats.proto#config-metrics-v3-tagspecifier)nella documentazione di Envoy. Per abilitare, imposta il valore su. `1`

`ENVOY_STATS_CONFIG_FILE`  
Specificate un percorso di file nel file system del contenitore Envoy per sostituire il file di configurazione dei tag Stats predefinito con il vostro. [Per ulteriori informazioni, vedete config.metrics.v3. StatsConfig](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/metrics/v3/stats.proto#config-metrics-v3-statsconfig).  
L'impostazione di una configurazione personalizzata delle statistiche che includa i filtri delle statistiche potrebbe portare Envoy a entrare in uno stato in cui non si sincronizzerà più correttamente con lo stato mondiale dell'App Mesh. Questo è un [bug](https://github.com/envoyproxy/envoy/issues/9856) di Envoy. La nostra raccomandazione è di non eseguire alcun filtraggio delle statistiche in Envoy. [Se il filtraggio è assolutamente necessario, abbiamo elencato un paio di soluzioni alternative in questo numero sulla nostra tabella di marcia.](https://github.com/aws/aws-app-mesh-roadmap/issues/283)

`ENVOY_STATS_SINKS_CFG_FILE`  
Specificate un percorso di file nel file system del contenitore Envoy per sostituire la configurazione predefinita con la vostra. [Per ulteriori informazioni, vedete config.metrics.v3. StatsSink](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/metrics/v3/stats.proto#config-metrics-v3-statssink)nella documentazione di Envoy.

### Variabili obsolete
<a name="envoy-deprecated-variables"></a>

Le variabili di ambiente `APPMESH_VIRTUAL_NODE_NAME` e non `APPMESH_RESOURCE_NAME` sono più supportate nella versione di Envoy o successiva. `1.15.0` Tuttavia, sono ancora supportate per le mesh esistenti. Invece di utilizzare queste variabili con la versione di Envoy `1.15.0` o successiva, usale `APPMESH_RESOURCE_ARN` per tutti gli endpoint App Mesh.

# Impostazioni predefinite di Envoy impostate da App Mesh
<a name="envoy-defaults"></a>

**Importante**  
Avviso di fine del supporto: il 30 settembre 2026, AWS verrà interrotto il supporto per. AWS App Mesh Dopo il 30 settembre 2026, non potrai più accedere alla AWS App Mesh console o alle risorse. AWS App Mesh Per ulteriori informazioni, consulta questo post di blog [Migrazione AWS App Mesh da Amazon ECS Service Connect.](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect) 

Le sezioni seguenti forniscono informazioni sulle impostazioni predefinite di Envoy per la politica di riprova del percorso e l'interruttore automatico impostati da App Mesh.

## Politica predefinita per i nuovi tentativi di routing
<a name="default-retry-policy"></a>

Se non avevi mesh nel tuo account prima del 29 luglio 2020, App Mesh crea automaticamente una politica Envoy route retry predefinita per tutte le richieste HTTP, HTTP/2 e gRPC in qualsiasi mesh del tuo account a partire dal 29 luglio 2020. Se avevi delle mesh nel tuo account prima del 29 luglio 2020, non è stata creata alcuna politica predefinita per i percorsi Envoy esistenti prima, il o dopo il 29 luglio 2020. Questo a meno che tu non [apra un ticket con](https://console.aws.amazon.com/support/home#/case/create) l'assistenza. AWS Dopo che l'assistenza ha elaborato il ticket, viene creata la policy predefinita per tutte le future route Envoy create da App Mesh a partire dalla data di elaborazione del ticket. [Per ulteriori informazioni sulle politiche di riavvio delle rotte di Envoy, consulta config.route.v3. RetryPolicy](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto#envoy-v3-api-msg-config-route-v3-retrypolicy)nella documentazione di Envoy.

App Mesh crea una route Envoy quando si crea una [route](routes.md) App Mesh o si definisce un provider di nodi virtuali per un servizio [virtuale](virtual_services.md) App Mesh. Sebbene sia possibile creare un criterio di ripetizione del percorso App Mesh, non è possibile creare un criterio di ripetizione del percorso App Mesh per un provider di nodi virtuali.

La politica predefinita non è visibile tramite l'API App Mesh. La politica predefinita è visibile solo tramite Envoy. Per visualizzare la configurazione, [abilita l'interfaccia di amministrazione](troubleshooting-best-practices.md#ts-bp-enable-proxy-admin-interface) e invia una richiesta a Envoy per un. `config_dump` La politica predefinita include le seguenti impostazioni:
+ **Numero massimo di tentativi**: `2`
+ Eventi di **riprova gRPC** — `UNAVAILABLE`
+ Eventi di **riprova HTTP** — `503`
**Nota**  
Non è possibile creare una policy di ripetizione del percorso App Mesh che cerchi un codice di errore HTTP specifico. Tuttavia, una politica di ripetizione del percorso App Mesh può cercare `server-error` o`gateway-error`. Entrambi includono `503` errori. Per ulteriori informazioni, consulta [Percorsi](routes.md).
+ **Evento di nuovo tentativo TCP** e `connect-failure` `refused-stream`
**Nota**  
Non è possibile creare una politica di ripetizione del percorso App Mesh che cerchi uno di questi eventi. Tuttavia, è possibile cercare una politica di ripetizione del percorso App Mesh`connection-error`, che è equivalente a`connect-failure`. Per ulteriori informazioni, consulta [Percorsi](routes.md).
+ **Reimpostazione**: Envoy tenta un nuovo tentativo se il server upstream non risponde affatto (timeout). disconnect/reset/read

## Interruttore automatico predefinito
<a name="default-circuit-breaker"></a>

Quando si distribuisce un Envoy in App Mesh, i valori predefiniti di Envoy vengono impostati per alcune impostazioni dell'interruttore automatico. [Per ulteriori informazioni, consulta cluster. CircuitBreakers.Soglie](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/cluster/v3/circuit_breaker.proto.html#envoy-v3-api-msg-config-cluster-v3-circuitbreakers-thresholds) nella documentazione di Envoy. Queste impostazioni non sono visibili tramite l'API App Mesh. Le impostazioni sono visibili solo tramite Envoy. Per visualizzare la configurazione, [abilita l'interfaccia di amministrazione](troubleshooting-best-practices.md#ts-bp-enable-proxy-admin-interface) e invia una richiesta a Envoy per un. `config_dump`

Se non avevi mesh nel tuo account prima del 29 luglio 2020, per ogni Envoy che distribuisci in una mesh creata a partire dal 29 luglio 2020 o dopo tale data, App Mesh disabilita efficacemente gli interruttori automatici modificando i valori predefiniti di Envoy per le impostazioni che seguono. Se avevi delle mesh nel tuo account prima del 29 luglio 2020, i valori predefiniti di Envoy sono impostati per tutti gli Envoy che distribuisci in App Mesh il 29 luglio 2020 o dopo, a meno che [tu](https://console.aws.amazon.com/support/home#/case/create) non apra un ticket con l'assistenza. AWS Una volta che il supporto ha elaborato il ticket, i valori predefiniti di App Mesh per le seguenti impostazioni di Envoy vengono impostati da App Mesh su tutti gli Envoy distribuiti dopo la data di elaborazione del ticket:
+ `max_requests` – `2147483647`
+ `max_pending_requests` – `2147483647`
+ `max_connections` – `2147483647`
+ `max_retries` – `2147483647`

**Nota**  
Indipendentemente dal fatto che i tuoi Envoy abbiano i valori di interruttore predefiniti di Envoy o App Mesh, non puoi modificare i valori.

# Aggiornamento/migrazione a Envoy 1.17
<a name="1.17-migration"></a>

**Importante**  
Avviso di fine del supporto: il 30 settembre 2026, verrà interrotto il supporto per. AWS AWS App Mesh Dopo il 30 settembre 2026, non potrai più accedere alla AWS App Mesh console o alle risorse. AWS App Mesh Per ulteriori informazioni, consulta questo post di blog [Migrazione AWS App Mesh da Amazon ECS Service Connect.](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect) 

## Secret Discovery Service con SPIRE
<a name="spire-update"></a>

Se utilizzi SPIRE (SPIFFE Runtime Environment) con App Mesh per distribuire certificati di fiducia ai tuoi servizi, verifica di utilizzare almeno la versione `0.12.0` dell'[agente SPIRE](https://github.com/spiffe/spire/releases/tag/v0.12.0) (rilasciata a dicembre 2020). Questa è la prima versione che può supportare le versioni di Envoy successive. `1.16`

## Modifiche alle espressioni regolari
<a name="regular-expressions"></a>

A partire da Envoy`1.17`, App Mesh configura Envoy per utilizzare il motore di espressioni [RE2](https://github.com/google/re2)regolari per impostazione predefinita. Questa modifica è evidente alla maggior parte degli utenti, ma le corrispondenze in Routes o Gateway Routes non consentono più riferimenti in avanti o indietro nelle espressioni regolari.

### Aspetto prospettico positivo e negativo
<a name="positive-look-ahead"></a>

**Positivo:** una prospettiva positiva è un'espressione tra parentesi che inizia con: `?=`

```
(?=example)
```

Queste sono le più utili quando si effettua la sostituzione di stringhe perché consentono di abbinare una stringa senza consumare i caratteri come parte della corrispondenza. Poiché App Mesh non supporta la sostituzione di stringhe regex, ti consigliamo di sostituirle con corrispondenze regolari.

```
(example)
```

**Negativo:** una previsione negativa è un'espressione tra parentesi che inizia con. `?!`

```
ex(?!amp)le
```

Le espressioni tra parentesi vengono utilizzate per affermare che una parte dell'espressione non corrisponde a un determinato input. Nella maggior parte dei casi, è possibile sostituirle con un quantificatore zero.

```
ex(amp){0}le
```

Se l'espressione stessa è una classe di caratteri, potete negare l'intera classe e contrassegnarla come facoltativa utilizzando. `?`

```
prefix(?![0-9])suffix => prefix[^0-9]?suffix
```

A seconda del caso d'uso, potresti anche essere in grado di modificare i percorsi per gestirlo.

```
{
    "routeSpec": {
        "priority": 0,
        "httpRoute": {
            "match": {
                "headers": [
                    {
                        "name": "x-my-example-header",
                        "match": {
                            "regex": "^prefix(?!suffix)"
                        }
                    }
                ]
            }
        }
    }
}

{
    "routeSpec": {
        "priority": 1,
        "httpRoute": {
            "match": {
                "headers": [
                    {
                        "name": "x-my-example-header",
                        "match": {
                            "regex": "^prefix"
                        }
                    }
                ]
            }
        }
    }
}
```

La prima corrispondenza del percorso cerca un'intestazione che inizia con «prefisso» ma non seguita da «suffisso». La seconda route fa in modo che corrisponda a tutte le altre intestazioni che iniziano con «prefisso», incluse quelle che terminano con «suffisso». Invece, possono anche essere invertiti per rimuovere il look-ahead negativo.

```
{
    "routeSpec": {
        "priority": 0,
        "httpRoute": {
            "match": {
                "headers": [
                    {
                        "name": "x-my-example-header",
                        "match": {
                            "regex": "^prefix.*?suffix"
                        }
                    }
                ]
            }
        }
    }
}

{
    "routeSpec": {
        "priority": 1,
        "httpRoute": {
            "match": {
                "headers": [
                    {
                        "name": "x-my-example-header",
                        "match": {
                            "regex": "^prefix"
                        }
                    }
                ]
            }
        }
    }
}
```

Questo esempio inverte le rotte per dare maggiore priorità alle intestazioni che terminano con «suffix» e tutte le altre intestazioni che iniziano con «prefix» vengono abbinate alla route con priorità più bassa.

## Riferimenti all'indietro
<a name="back-references"></a>

Un riferimento a ritroso è un modo per scrivere espressioni più brevi ripetendole in un precedente gruppo tra parentesi. Hanno questa forma.

```
(group1)(group2)\1
```

Una barra rovesciata `\` seguita da un numero funge da segnaposto per l'ennesimo gruppo tra parentesi nell'espressione. In questo esempio, `\1` viene utilizzato come metodo alternativo per scrivere una seconda volta. `(group1)`

```
(group1)(group2)(group1)
```

Questi possono essere rimossi semplicemente sostituendo il riferimento all'indietro con il gruppo a cui si fa riferimento, come nell'esempio.

# Agente per inviato
<a name="appnet-agent"></a>

**Importante**  
Avviso di fine del supporto: il 30 settembre 2026, AWS verrà interrotto il supporto per. AWS App Mesh Dopo il 30 settembre 2026, non potrai più accedere alla AWS App Mesh console o alle risorse. AWS App Mesh Per ulteriori informazioni, consulta questo post di blog [Migrazione AWS App Mesh da Amazon ECS Service Connect.](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect) 

L'Agent è un gestore di processi all'interno dell'immagine Envoy fornita per App Mesh. L'agente assicura che Envoy rimanga in funzione, rimanga integro e riduca i tempi di inattività. Filtra le statistiche di Envoy e i dati ausiliari per fornire una visione sintetica del funzionamento del proxy Envoy in App Mesh. Questo può aiutarti a risolvere più rapidamente gli errori correlati.

È possibile utilizzare l'agente per configurare il numero di volte in cui si desidera riavviare il proxy Envoy nel caso in cui il proxy non sia integro. Se si verifica un errore, l'agente registra lo stato di uscita definitivo all'uscita di Envoy. È possibile utilizzarlo per la risoluzione dei problemi. L'agente facilita anche il drenaggio della connessione Envoy, il che aiuta a rendere le applicazioni più resistenti ai guasti. 

Configura l'Agent for Envoy utilizzando queste variabili:
+ `APPNET_ENVOY_RESTART_COUNT`— Quando questa variabile è impostata su un valore diverso da zero, l'agente tenta di riavviare il processo proxy Envoy fino al numero impostato quando ritiene che lo stato del processo proxy non sia corretto durante il polling. Ciò consente di ridurre i tempi di inattività fornendo un riavvio più rapido rispetto alla sostituzione di un'attività o di un pod da parte del container orchestrator in caso di errori del controllo dello stato del proxy. 
+ `PID_POLL_INTERVAL_MS`— Quando si configura questa variabile, l'impostazione predefinita viene mantenuta su. `100` Se impostato su questo valore, consentite un rilevamento e un riavvio più rapidi del processo Envoy alla chiusura rispetto alla sostituzione dell'operazione o del pod tramite i controlli di integrità del container orchestrator.
+ `LISTENER_DRAIN_WAIT_TIME_S`— Quando configuri questa variabile, considera il timeout del container orchestrator impostato per interrompere l'attività o il pod. Ad esempio, se questo valore è maggiore del timeout dell'orchestrator, il proxy Envoy può esaurirsi solo per la durata fino a quando l'orchestrator non interrompe forzatamente l'attività o il pod.
+ `APPNET_AGENT_ADMIN_MODE`— Quando questa variabile è impostata su o, l'agente fornisce un'interfaccia di gestione locale. `tcp` `uds` Questa interfaccia di gestione funge da endpoint sicuro per interagire con il proxy Envoy e fornisce quanto segue APIs per i controlli di integrità, i dati di telemetria e riassume le condizioni operative del proxy.
  + `GET /status`— Interroga le statistiche di Envoy e restituisce le informazioni sul server.
  + `POST /drain_listeners`— Prosciuga tutti gli ascoltatori in entrata.
  + `POST /enableLogging?level=<desired_level>`— Modifica il livello di registrazione di Envoy su tutti i logger.
  + `GET /stats/prometheus`— Mostra le statistiche di Envoy in formato Prometheus.
  + `GET /stats/prometheus?usedonly`— Mostra solo le statistiche aggiornate da Envoy.

Per ulteriori informazioni sulle variabili di configurazione dell'agente, vedere Variabili di configurazione di [Envoy](https://docs.aws.amazon.com/app-mesh/latest/userguide/envoy-config.html).

Il nuovo AWS App Mesh agente è incluso nelle immagini Envoy ottimizzate per App Mesh a partire dalla versione `1.21.0.0` e non richiede l'allocazione di risorse aggiuntive nelle attività o nei pod dei clienti.