

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à.

# Concetti relativi all'App Mesh
<a name="concepts"></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) 

**Topics**
+ [Reti di servizio](meshes.md)
+ [Servizi virtuali](virtual_services.md)
+ [Gateway virtuali](virtual_gateways.md)
+ [Nodi virtuali](virtual_nodes.md)
+ [Router virtuali](virtual_routers.md)

# Reti di servizio
<a name="meshes"></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) 

Una mesh dei servizi è un limite logico per il traffico di rete tra i servizi che si trovano al suo interno. Dopo aver creato la mesh dei servizi, puoi creare servizi virtuali, nodi virtuali, router virtuali e route per distribuire il traffico tra le applicazioni nella mesh.

## Creazione di una service mesh
<a name="create-mesh"></a>

**Nota**  
Quando si crea una Mesh, è necessario aggiungere un selettore di namespace. Se il selettore dello spazio dei nomi è vuoto, seleziona tutti i namespace. Per limitare i namespace, utilizzate un'etichetta per associare le risorse App Mesh alla mesh creata.

------
#### [ Console di gestione AWS ]

**Per creare una mesh di servizi utilizzando Console di gestione AWS**

1. Apri la console App Mesh all'indirizzo [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Scegliere **Create mesh (Crea mesh)**.

1. Per **Mesh name (Nome mesh)**, specificare un nome per la mesh dei servizi.

1. (Facoltativo) Scegli **Consenti traffico esterno**. Per impostazione predefinita, i proxy nella mesh inoltrano solo il traffico tra loro. Se consentite il traffico esterno, i proxy nella mesh inoltrano anche il traffico TCP direttamente ai servizi che non sono distribuiti con un proxy definito nella mesh.
**Nota**  
Se specifichi qualche back-end su un nodo virtuale quando utilizzi `ALLOW_ALL`, devi specificare tutte le uscite per quel nodo virtuale come back-end. In caso contrario, `ALLOW_ALL` non funzionerà più per quel nodo virtuale.

1. 

**Preferenza della versione IP**

   Controlla quale versione IP deve essere utilizzata per il traffico all'interno della mesh attivando il comportamento Ignora **la versione IP predefinita**. Per impostazione predefinita, App Mesh utilizza una varietà di versioni IP.
**Nota**  
La mesh applica la preferenza IP a tutti i nodi virtuali e i gateway virtuali all'interno di una mesh. Questo comportamento può essere ignorato su un singolo nodo virtuale impostando la preferenza IP quando si crea o si modifica il nodo. La preferenza IP non può essere ignorata su un gateway virtuale perché la configurazione dei gateway virtuali che consente loro di ascoltare entrambi IPv4 e il IPv6 traffico è la stessa indipendentemente dalla preferenza impostata sulla mesh.
   + Predefinita
     + Il resolver DNS di Envoy preferisce e ricorre a. `IPv6` `IPv4`
     + Utilizziamo l'`IPv4`indirizzo restituito da, AWS Cloud Map se disponibile, e riprendiamo a utilizzare l'indirizzo. `IPv6`
     + L'endpoint creato per l'app locale utilizza un `IPv4` indirizzo.
     + I listener Envoy si collegano a tutti gli indirizzi. `IPv4`
   + IPv6 preferito
     + Il resolver DNS di Envoy `IPv6` preferisce e ricorre a. `IPv4`
     + L'`IPv6`indirizzo restituito da AWS Cloud Map viene utilizzato se disponibile e si torna a utilizzare l'indirizzo `IPv4`
     + L'endpoint creato per l'app locale utilizza un `IPv6` indirizzo.
     + Gli ascoltatori di Envoy si collegano a tutti gli indirizzi. `IPv4` `IPv6`
   + IPv4 preferito
     + Il resolver DNS di Envoy `IPv4` preferisce e ricorre a. `IPv6`
     + Utilizziamo l'`IPv4`indirizzo restituito da, AWS Cloud Map se disponibile, e riprendiamo a utilizzare l'indirizzo. `IPv6`
     + L'endpoint creato per l'app locale utilizza un `IPv4` indirizzo.
     + Gli ascoltatori di Envoy si collegano a tutti gli indirizzi. `IPv4` `IPv6`
   + IPv6 solo
     + Il resolver DNS di Envoy utilizza solo. `IPv6`
     + Viene utilizzato solo l'`IPv6`indirizzo restituito da. AWS Cloud Map Se AWS Cloud Map restituisce un `IPv4` indirizzo, non viene utilizzato alcun indirizzo IP e all'Envoy vengono restituiti risultati vuoti.
     + L'endpoint creato per l'app locale utilizza un indirizzo. `IPv6`
     + Gli ascoltatori di Envoy si collegano a tutti gli indirizzi. `IPv4` `IPv6`
   + IPv4 solo
     + Il resolver DNS di Envoy utilizza solo. `IPv4`
     + Viene utilizzato solo l'`IPv4`indirizzo restituito da. AWS Cloud Map Se AWS Cloud Map restituisce un `IPv6` indirizzo, non viene utilizzato alcun indirizzo IP e all'Envoy vengono restituiti risultati vuoti.
     + L'endpoint creato per l'app locale utilizza un indirizzo. `IPv4`
     + Gli ascoltatori di Envoy si collegano a tutti gli indirizzi. `IPv4` `IPv6`

1. Scegliere **Create mesh (Crea mesh)** per terminare.

1. (Facoltativo) Condividi la mesh con altri account. Una rete condivisa consente alle risorse create da account diversi di comunicare tra loro nella stessa mesh. Per ulteriori informazioni, consulta [Lavorare con mesh condivise](sharing.md).

------
#### [ AWS CLI ]

**Per creare una mesh utilizzando il AWS CLI.**

Create una service mesh utilizzando il seguente comando (sostituite i *red* valori con i vostri):

1. 

   ```
   aws appmesh create-mesh --mesh-name meshName
   ```

1. Output di esempio:

   ```
   {
       "mesh":{
           "meshName":"meshName",
           "metadata":{
               "arn":"arn:aws:appmesh:us-west-2:123456789012:mesh/meshName",
               "createdAt":"2022-04-06T08:45:50.072000-05:00",
               "lastUpdatedAt":"2022-04-06T08:45:50.072000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "123456789012",
               "uid":"a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version":1
           },
           "spec":{},
           "status":{
               "status":"ACTIVE"
           }
       }
   }
   ```

Per ulteriori informazioni sulla creazione di una mesh con AWS CLI for App Mesh, vedete il comando [create-mesh](https://docs.aws.amazon.com/cli/latest/reference/appmesh/create-mesh.html) nel AWS CLI riferimento.

------

## Eliminazione di una mesh
<a name="delete-mesh"></a>

------
#### [ Console di gestione AWS ]

**Per eliminare un gateway virtuale utilizzando Console di gestione AWS**

1. Apri la console App Mesh all'indirizzo [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Scegli la mesh che desideri eliminare. Vengono elencate tutte le mesh che possiedi e che sono state [condivise](sharing.md) con te.

1. Nella casella di conferma, digitate **delete** e fate clic su **Elimina**.

------
#### [ AWS CLI ]

**Per eliminare una mesh utilizzando il AWS CLI**

1. Utilizzate il seguente comando per eliminare la mesh (sostituite i *red* valori con i vostri):

   ```
   aws appmesh delete-mesh \
        --mesh-name meshName
   ```

1. Output di esempio:

   ```
   {
       "mesh": {
           "meshName": "meshName",
           "metadata": {
               "arn":"arn:aws:appmesh:us-west-2:123456789012:mesh/meshName",
               "createdAt": "2022-04-06T08:45:50.072000-05:00",
               "lastUpdatedAt": "2022-04-07T11:06:32.795000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "123456789012",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 1
           },
           "spec": {},
           "status": {
               "status": "DELETED"
           }
       }
   }
   ```

Per ulteriori informazioni sull'eliminazione di una mesh con AWS CLI for App Mesh, vedete il comando [delete-mesh](https://docs.aws.amazon.com/cli/latest/reference/appmesh/delete-mesh.html) nel riferimento. AWS CLI 

------

# Servizi virtuali
<a name="virtual_services"></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) 

Un servizio virtuale è un'astrazione di un servizio reale fornita direttamente o indirettamente da un nodo virtuale mediante un router virtuale. I servizi dipendenti chiamano il servizio virtuale mediante il relativo `virtualServiceName` e tali richieste vengono instradate al nodo virtuale o al router virtuale specificato come provider per il servizio virtuale.

## Creazione di un servizio virtuale
<a name="create-virtual-service"></a>

------
#### [ Console di gestione AWS ]

**Per creare un servizio virtuale utilizzando Console di gestione AWS**

1. Apri la console App Mesh all'indirizzo [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Scegli la mesh in cui desideri creare il servizio virtuale. Vengono elencate tutte le mesh che possiedi e che sono state [condivise](sharing.md) con te.

1. Nel riquadro di navigazione sinistro, scegliere **Virtual services (Servizi virtuali)**.

1. Scegliere **Create virtual service (Crea servizio virtuale)**.

1. In **Virtual service name (Nome servizio virtuale)**, scegliere un nome per il servizio virtuale. Puoi scegliere qualsiasi nome, ma per facilitare la correlazione tra i servizi virtuali e i servizi reali a cui ti rivolgi è consigliato il nome di individuazione del servizio reale a cui ti rivolgi`my-service.default.svc.cluster.local`, ad esempio. In questo modo non è necessario modificare il codice per fare riferimento a un nome diverso da quello a cui fa attualmente riferimento il codice. Il nome specificato deve essere risolto in un indirizzo IP non di loopback perché il contenitore dell'app deve essere in grado di risolvere correttamente il nome prima che la richiesta venga inviata al proxy Envoy. È possibile utilizzare qualsiasi indirizzo IP non di loopback perché né l'app né i contenitori proxy comunicano con questo indirizzo IP. Il proxy comunica con altri servizi virtuali tramite i nomi che hai configurato per essi in App Mesh, non tramite gli indirizzi IP a cui i nomi si riferiscono.

1. Per **Provider**, scegliere il tipo di provider per il servizio virtuale:
   + Se si desidera che il servizio virtuale distribuisca il traffico su più nodi virtuali, selezionare **Virtual router (Router virtuale)** e quindi scegliere il router virtuale da utilizzare dal menu a discesa.
   + Se desideri che il servizio virtuale raggiunga un nodo virtuale direttamente senza un router virtuale, seleziona **Nodo virtuale**, quindi scegli il nodo virtuale da utilizzare dal menu a discesa.
**Nota**  
App Mesh può creare automaticamente una policy Envoy route rettry predefinita per ogni provider di nodi virtuali che definisci a partire dal 29 luglio 2020, anche se non puoi definire tale policy tramite l'API App Mesh. Per ulteriori informazioni, consulta [Politica predefinita per i nuovi tentativi di routing](envoy-defaults.md#default-retry-policy).
   + Se al momento non si desidera che il servizio virtuale instradi il traffico (ad esempio, se il router virtuale o i nodi virtuali non esistono ancora), scegliere **None (Nessuno)**. È possibile aggiornare il provider per questo servizio virtuale in un secondo momento.

1. Scegliere **Create virtual service (Crea servizio virtuale)** per terminare.

------
#### [ AWS CLI ]

**Per creare un servizio virtuale utilizzando. AWS CLI**

Crea un servizio virtuale con un provider di nodi virtuali utilizzando il seguente comando e un file JSON di input (sostituisci i *red* valori con i tuoi):

1. 

   ```
   aws appmesh create-virtual-service \ 
   --cli-input-json file://create-virtual-service-virtual-node.json
   ```

1. Contenuto dell'**esempio** create-virtual-service-virtual -node.json:

   ```
   {
       "meshName": "meshName",
       "spec": {
           "provider": {
               "virtualNode": {
                   "virtualNodeName": "nodeName"
               }
           }
       },
       "virtualServiceName": "serviceA.svc.cluster.local"
   }
   ```

1. Output di esempio:

   ```
   {
       "virtualService": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualService/serviceA.svc.cluster.local",
               "createdAt": "2022-04-06T09:45:35.890000-05:00",
               "lastUpdatedAt": "2022-04-06T09:45:35.890000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 1
           },
           "spec": {
               "provider": {
                   "virtualNode": {
                       "virtualNodeName": "nodeName"
                   }
               }
           },
           "status": {
               "status": "ACTIVE"
           },
           "virtualServiceName": "serviceA.svc.cluster.local"
       }
   }
   ```

Per ulteriori informazioni sulla creazione di un servizio virtuale con AWS CLI for App Mesh, vedere il [create-virtual-service](https://docs.aws.amazon.com/cli/latest/reference/appmesh/create-virtual-service.html)comando nel AWS CLI riferimento.

------

## Eliminazione di un servizio virtuale
<a name="delete-virtual-service"></a>

**Nota**  
Non è possibile eliminare un servizio virtuale a cui fa riferimento una route gateway. È necessario prima eliminare la route del gateway. 

------
#### [ Console di gestione AWS ]

**Per eliminare un servizio virtuale utilizzando Console di gestione AWS**

1. Apri la console App Mesh all'indirizzo [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Scegli la mesh da cui desideri eliminare un servizio virtuale. Vengono elencate tutte le mesh che possiedi e che sono state [condivise](sharing.md) con te.

1. Nel riquadro di navigazione sinistro, scegliere **Virtual services (Servizi virtuali)**.

1. Scegli il servizio virtuale che desideri eliminare e fai clic su **Elimina** nell'angolo in alto a destra. Puoi eliminare solo un gateway virtuale in cui il tuo account è elencato come **proprietario della risorsa**.

1. Nella casella di conferma, digita **delete** e quindi fai clic su **Elimina**.

------
#### [ AWS CLI ]

**Per eliminare un servizio virtuale utilizzando il AWS CLI**

1. Usa il seguente comando per eliminare il tuo servizio virtuale (sostituisci i *red* valori con i tuoi):

   ```
   aws appmesh delete-virtual-service \
        --mesh-name meshName \
        --virtual-service-name serviceA.svc.cluster.local
   ```

1. Output di esempio:

   ```
   {
       "virtualService": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualService/serviceA.svc.cluster.local",
               "createdAt": "2022-04-06T09:45:35.890000-05:00",
               "lastUpdatedAt": "2022-04-07T10:39:42.772000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 2
           },
           "spec": {
               "provider": {
                   "virtualNode": {
                       "virtualNodeName": "nodeName"
                   }
               }
           },
           "status": {
               "status": "DELETED"
           },
           "virtualServiceName": "serviceA.svc.cluster.local"
       }
   }
   ```

Per ulteriori informazioni sull'eliminazione di un servizio virtuale con AWS CLI for App Mesh, vedere il [delete-virtual-service](https://docs.aws.amazon.com/cli/latest/reference/appmesh/delete-virtual-service.html)comando nel AWS CLI riferimento.

------

# Gateway virtuali
<a name="virtual_gateways"></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) 

Un gateway virtuale consente alle risorse esterne alla mesh di comunicare con le risorse che si trovano all'interno della mesh. Il gateway virtuale rappresenta un proxy Envoy in esecuzione in un servizio Amazon ECS, in un servizio Kubernetes o su un'istanza Amazon. EC2 A differenza di un nodo virtuale, che rappresenta Envoy in esecuzione con un'applicazione, un gateway virtuale rappresenta Envoy distribuito da solo. 

Le risorse esterne devono essere in grado di risolvere un nome DNS in un indirizzo IP assegnato al servizio o all'istanza che esegue Envoy. Envoy può quindi accedere a tutta la configurazione dell'App Mesh per le risorse che si trovano all'interno della mesh. [La configurazione per la gestione delle richieste in arrivo sul Virtual Gateway viene specificata utilizzando Gateway Routes.](https://docs.aws.amazon.com/app-mesh/latest/userguide/gateway-routes.html)

**Importante**  
Un gateway virtuale con un HTTP o un HTTP2 listener riscrive il nome host della richiesta in entrata nel nome del servizio virtuale di destinazione Gateway Route e il prefisso corrispondente dal Gateway Route viene riscritto in, per impostazione predefinita. `/` Ad esempio, se hai configurato il prefisso Gateway route match con e`/chapter`, se la richiesta in arrivo è, la richiesta verrebbe riscritta su. `/chapter/1` `/1` Per configurare le riscritture, consulta la sezione [Creazione di una route gateway](https://docs.aws.amazon.com/app-mesh/latest/userguide/gateway-routes.html#create-gateway-route) da Gateway Routes.  
Quando si crea un gateway virtuale, `proxyConfiguration` e non `user` deve essere configurato.

Per completare una end-to-end procedura dettagliata, consulta [Configurazione](https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-ingress-gateway) del gateway in ingresso.

## Creazione di un gateway virtuale
<a name="create-virtual-gateway"></a>

**Nota**  
Quando si crea un gateway virtuale, è necessario aggiungere un selettore di namespace con un'etichetta per identificare l'elenco di namespace a cui associare Gateway Routes al gateway virtuale creato.

------
#### [ Console di gestione AWS ]

**Per creare un gateway virtuale utilizzando il Console di gestione AWS**

1. Apri la console App Mesh all'indirizzo [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Scegli la mesh in cui vuoi creare il gateway virtuale. Sono elencate tutte le mesh che possiedi e che sono state [condivise](sharing.md) con te.

1. Scegli **Gateway virtuali nella barra** di navigazione a sinistra.

1. Scegli **Crea gateway virtuale**.

1. Per **Nome gateway virtuale**, inserisci un nome per il tuo gateway virtuale.

1. (Facoltativo, ma consigliato) Configura le impostazioni **predefinite delle politiche del client**.

   1. (Facoltativo) Seleziona **Enforce TLS** se desideri che il gateway comunichi solo con i servizi virtuali utilizzando Transport Layer Security (TLS).

   1. (Facoltativo) Per **Porte**, specifica una o più porte su cui desideri imporre la comunicazione TLS con i servizi virtuali.

   1. Per **Metodo di convalida**, selezionate una delle seguenti opzioni. Il certificato specificato deve già esistere e soddisfare requisiti specifici. Per ulteriori informazioni, consulta [Requisiti del certificato](tls.md#virtual-node-tls-prerequisites).
      + **AWS Autorità di certificazione privata**hosting: seleziona uno o più **certificati** esistenti.
      + Hosting **Envoy Secret Discovery Service (SDS)**: inserisci il nome del segreto che Envoy recupera utilizzando Secret Discovery Service.
      + **Hosting di file locale**: specifica il percorso del file della **catena di certificati** sul file system in cui è distribuito Envoy.

   1. (Facoltativo) Inserite un nome alternativo per il **soggetto**. Per aggiungerne altri SANs, seleziona **Aggiungi SAN**. SANs deve essere in formato FQDN o URI.

   1. (Facoltativo) Seleziona **Fornisci certificato client** e una delle opzioni seguenti per fornire un certificato client quando un server lo richiede e abilitare l'autenticazione TLS reciproca. Per ulteriori informazioni su Mutual TLS, consulta i documenti di [autenticazione TLS Mutual](https://docs.aws.amazon.com/app-mesh/latest/userguide/mutual-tls.html) App Mesh.
      + Hosting **Envoy Secret Discovery Service (SDS)**: inserisci il nome del segreto che Envoy recupera utilizzando Secret Discovery Service.
      + **Hosting di file locale**: specifica il percorso del file della **catena di certificati**, nonché la **chiave privata**, sul file system in cui è distribuito Envoy. Per una descrizione completa e dettagliata end-to-end dell'implementazione di una mesh con un'applicazione di esempio che utilizza la crittografia con file locali, vedi [Configurazione di TLS con certificati TLS](https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-tls-file-provided) forniti da file su. GitHub

1. **(Facoltativo) Per configurare la registrazione, seleziona Registrazione.** Immettete il **percorso dei log di accesso HTTP** che desiderate che Envoy utilizzi. Ti consigliamo il `/dev/stdout` percorso in modo da poter utilizzare i driver di registro Docker per esportare i log di Envoy su un servizio come Amazon Logs. CloudWatch 
**Nota**  
I log devono ancora essere integrati da un agente nell'applicazione e inviati a una destinazione. Questo percorso file indica a Envoy dove inviare i log. 

1. **Configura** il listener.

   1. Seleziona un **protocollo** e specifica la **porta** su cui Envoy ascolta il traffico. Il listener **http** consente la transizione della connessione ai websocket. È possibile fare clic su **Aggiungi ascoltatore per aggiungere più ascoltatori.** Il pulsante **Rimuovi rimuoverà** quel listener.

   1. (Facoltativo) **Abilita il pool di connessioni** 

      Il pool di connessioni limita il numero di connessioni che Virtual Gateway Envoy può stabilire contemporaneamente. Ha lo scopo di proteggere l'istanza di Envoy dal sovraccarico di connessioni e consente di adattare la modellazione del traffico alle esigenze delle applicazioni.

      È possibile configurare le impostazioni del pool di connessioni sul lato di destinazione per un listener gateway virtuale. App Mesh imposta le impostazioni del pool di connessioni lato client su infinite per impostazione predefinita, semplificando la configurazione della mesh.
**Nota**  
I protocolli `connectionPool` e `connectionPool` PortMapping devono essere gli stessi. Se il protocollo del listener è `grpc` o`http2`, specifica solo. `maxRequests` Se il protocollo del listener è`http`, puoi specificare entrambi `maxConnections` e. `maxPendingRequests` 
      + Per **Numero massimo di connessioni**, specificare il numero massimo di connessioni in uscita.
      + Per **Maximum requests**, specifica il numero massimo di richieste parallele che possono essere stabilite con Virtual Gateway Envoy.
      + (Facoltativo) Per il numero **massimo di richieste in sospeso**, specifica il numero di richieste in eccesso dopo il numero **massimo di connessioni** messe in coda da un Envoy. Il valore predefinito è `2147483647`.

   1. **(Facoltativo) Se desideri configurare un controllo sanitario per il tuo listener, seleziona Abilita il controllo dello stato.**

      Una politica di controllo dello stato di salute è facoltativa, ma se si specificano valori per una politica sanitaria, è necessario specificare i valori per **Healthy threshold**, **Health check interval**, **Health check protocol**, **Timeout period** e **Unhealthy** threshold.
      + Per il **protocollo Health check**, scegli un protocollo. Se si seleziona **grpc**, il servizio deve essere conforme al [GRPC Health](https://github.com/grpc/grpc/blob/master/doc/health-checking.md) Checking Protocol.
      + Per **Health check port (Porta del controllo dello stato)**, specificare la porta su cui deve essere eseguito il controllo dello stato.
      + Per **Healthy threshold (Soglia di integrità)**, specificare il numero di controlli dello stato andati a buon fine consecutivi che devono verificarsi prima di dichiarare il listener integro.
      + Per **Health check interval (Intervallo del controllo dello stato)**, specificare il periodo di tempo in millisecondi tra ogni esecuzione del controllo dello stato.
      + Per **Path (Percorso)**, specificare il percorso di destinazione per la richiesta di controllo dello stato. Questo valore viene utilizzato solo se il **protocollo Health check** è `http` o`http2`. Il valore viene ignorato per gli altri protocolli.
      + Per **Periodo di timeout**, specifica il tempo di attesa per ricevere una risposta dal controllo sanitario in millisecondi.
      + Per **Unhealthy threshold (Soglia di mancata integrità)**, specificare il numero di controlli dello stato non andati consecutivamente a buon fine che sono necessari per dichiarare il listener non integro.

   1. **(Facoltativo) Se desideri specificare se i client comunicano con questo gateway virtuale tramite TLS, seleziona Abilita la terminazione TLS.**
      + Per **Modalità**, selezionate la modalità per la quale desiderate che TLS sia configurato sul listener.
      + Per **Metodo Certificate**, selezionate una delle seguenti opzioni. Il certificato deve soddisfare requisiti specifici. Per ulteriori informazioni, consulta [Requisiti del certificato](tls.md#virtual-node-tls-prerequisites).
        + **AWS Certificate Manager hosting**: seleziona un **certificato** esistente.
        + Hosting **Envoy Secret Discovery Service (SDS)**: inserisci il nome del segreto che Envoy recupera utilizzando Secret Discovery Service.
        + **Hosting di file locale**: specifica il percorso della **catena di certificati** e dei file con **chiave privata** sul file system in cui è distribuito Envoy.
      + (Facoltativo) Seleziona **Richiedi certificato client** e una delle opzioni seguenti per abilitare l'autenticazione TLS reciproca se il client fornisce un certificato. Per ulteriori informazioni su Mutual TLS, consulta i documenti di [autenticazione TLS Mutual](https://docs.aws.amazon.com/app-mesh/latest/userguide/mutual-tls.html) App Mesh.
        + Hosting **Envoy Secret Discovery Service (SDS)**: inserisci il nome del segreto che Envoy recupera utilizzando Secret Discovery Service.
        + **Hosting di file locale**: specifica il percorso del file della **catena di certificati** sul file system in cui è distribuito Envoy.
      + (Facoltativo) Inserite un nome alternativo per il **soggetto**. Per aggiungerne altri SANs, seleziona **Aggiungi SAN**. SANs deve essere in formato FQDN o URI.

1. Scegli **Crea gateway virtuale per terminare**.

------
#### [ AWS CLI ]

**Per creare un gateway virtuale utilizzando AWS CLI.**

Crea un gateway virtuale utilizzando il seguente comando e inserisci JSON (sostituisci i *red* valori con i tuoi):

1. 

   ```
   aws appmesh create-virtual-gateway \ 
   --mesh-name meshName \ 
   --virtual-gateway-name virtualGatewayName \ 
   --cli-input-json file://create-virtual-gateway.json
   ```

1. Contenuto dell'**esempio create-virtual-gateway .json**:

   ```
   {
       "spec": {
         "listeners": [
           {
             "portMapping": {
               "port": 9080,
               "protocol": "http"
             }
           }
         ]
       }
   }
   ```

1. Output di esempio:

   ```
   {
       "virtualGateway": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:123456789012:mesh/meshName/virtualGateway/virtualGatewayName",
               "createdAt": "2022-04-06T10:42:42.015000-05:00",
               "lastUpdatedAt": "2022-04-06T10:42:42.015000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "123456789012",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 1
           },
           "spec": {
               "listeners": [
                   {
                       "portMapping": {
                           "port": 9080,
                           "protocol": "http"
                       }
                   }
               ]
           },
           "status": {
               "status": "ACTIVE"
           },
           "virtualGatewayName": "virtualGatewayName"
       }
   }
   ```

Per ulteriori informazioni sulla creazione di un gateway virtuale con AWS CLI for App Mesh, vedere il [create-virtual-gateway](https://docs.aws.amazon.com/cli/latest/reference/appmesh/create-virtual-gateway.html)comando nel AWS CLI riferimento.

------

## Implementa un gateway virtuale
<a name="deploy-virtual-gateway"></a>

[Implementa un servizio Amazon ECS o Kubernetes che contenga solo il contenitore Envoy.](envoy.md) Puoi anche distribuire il contenitore Envoy su un'istanza Amazon. EC2 Per ulteriori informazioni, consulta [Guida introduttiva a App Mesh e Amazon EC2](https://docs.aws.amazon.com/app-mesh/latest/userguide/getting-started-ec2.html). Per ulteriori informazioni su come eseguire la distribuzione su Amazon ECS, consulta [Getting started with App Mesh and Amazon ECS](https://docs.aws.amazon.com/app-mesh/latest/userguide/getting-started-ecs.html) o [Getting started with AWS App Mesh and Kubernetes to deploy to Kubernetes](https://docs.aws.amazon.com/app-mesh/latest/userguide/getting-started-kubernetes.html). È necessario impostare la variabile di `APPMESH_RESOURCE_ARN` ambiente su `mesh/mesh-name/virtualGateway/virtual-gateway-name` e non specificare la configurazione del proxy in modo che il traffico del proxy non venga reindirizzato verso se stesso. Per impostazione predefinita, App Mesh utilizza il nome della risorsa specificata in `APPMESH_RESOURCE_ARN` quando Envoy si riferisce a se stesso nei parametri e nelle tracce. È possibile ignorare questo comportamento impostando la variabile di ambiente `APPMESH_RESOURCE_CLUSTER ` con il proprio nome.

Ti consigliamo di distribuire più istanze del contenitore e configurare un Network Load Balancer per bilanciare il carico del traffico verso le istanze. Il nome di rilevamento del servizio del load balancer è il nome che si desidera che i servizi esterni utilizzino per accedere alle risorse presenti nella mesh, ad esempio. *myapp.example.com* Per ulteriori informazioni, consulta [Creazione di un Network Load Balancer](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-network-load-balancer.html) (Amazon ECS), [Creazione di un Load Balancer esterno](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/) (Kubernetes) o [Tutorial: Aumenta la](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-increase-availability.html) disponibilità della tua applicazione su Amazon. EC2 Puoi anche trovare altri esempi e procedure dettagliate nei nostri esempi di [App](https://docs.aws.amazon.com/app-mesh/latest/userguide/examples.html) Mesh.

Abilita l'autorizzazione proxy per Envoy. Per ulteriori informazioni, consulta [Autorizzazione Envoy Proxy](proxy-authorization.md).

## Eliminazione di un gateway virtuale
<a name="delete-virtual-gateway"></a>

------
#### [ Console di gestione AWS ]

**Per eliminare un gateway virtuale utilizzando il Console di gestione AWS**

1. Apri la console App Mesh all'indirizzo [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Scegli la mesh da cui desideri eliminare un gateway virtuale. Vengono elencate tutte le mesh che possiedi e che sono state [condivise](sharing.md) con te.

1. Scegli **Gateway virtuali nella barra** di navigazione a sinistra.

1. Scegli il gateway virtuale che desideri eliminare e seleziona **Elimina**. Non è possibile eliminare un gateway virtuale se ha delle route gateway associate. È necessario prima eliminare tutte le route gateway associate. Puoi eliminare solo un gateway virtuale in cui il tuo account è elencato come **proprietario della risorsa**.

1. Nella casella di conferma, digita **delete** e seleziona **Elimina**.

------
#### [ AWS CLI ]

**Per eliminare un gateway virtuale utilizzando il AWS CLI**

1. Utilizza il seguente comando per eliminare il gateway virtuale (sostituisci i *red* valori con i tuoi):

   ```
   aws appmesh delete-virtual-gateway \
        --mesh-name meshName \
        --virtual-gateway-name virtualGatewayName
   ```

1. Output di esempio:

   ```
   {
       "virtualGateway": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:123456789012:mesh/meshName/virtualGateway/virtualGatewayName",
               "createdAt": "2022-04-06T10:42:42.015000-05:00",
               "lastUpdatedAt": "2022-04-07T10:57:22.638000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "123456789012",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 2
           },
           "spec": {
               "listeners": [
                   {
                       "portMapping": {
                           "port": 9080,
                           "protocol": "http"
                       }
                   }
               ]
           },
           "status": {
               "status": "DELETED"
           },
           "virtualGatewayName": "virtualGatewayName"
       }
   }
   ```

Per ulteriori informazioni sull'eliminazione di un gateway virtuale con AWS CLI for App Mesh, vedere il [delete-virtual-gateway](https://docs.aws.amazon.com/cli/latest/reference/appmesh/delete-virtual-gateway.html)comando nel AWS CLI riferimento.

------

# Percorsi gateway
<a name="gateway-routes"></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) 

Una route gateway è collegata a un gateway virtuale e instrada il traffico a un servizio virtuale esistente. Se una route corrisponde a una richiesta, può distribuire il traffico a un servizio virtuale di destinazione. Questo argomento ti aiuta a lavorare con i percorsi gateway in una service mesh.

## Creazione di una route gateway
<a name="create-gateway-route"></a>

------
#### [ Console di gestione AWS ]

**Per creare una route gateway utilizzando il Console di gestione AWS**

1. Apri la console App Mesh all'indirizzo [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Scegli la mesh in cui desideri creare la route gateway. Sono elencate tutte le mesh che possiedi e che sono state [condivise](sharing.md) con te.

1. Scegli **Gateway virtuali nella barra** di navigazione a sinistra.

1. Scegli il gateway virtuale a cui desideri associare una nuova rotta gateway. Se non ne è elencato nessuno, devi prima [creare un gateway virtuale](virtual_gateways.md#create-virtual-gateway). Puoi creare un gateway solo per un gateway virtuale il cui account è indicato come **proprietario della risorsa**.

1. Nella tabella **Routes gateway**, scegli **Crea gateway route**.

1. Per **il nome della route del gateway**, specifica il nome da utilizzare per la route del gateway.

1. Per il **tipo di route Gateway**, scegli **http**, **http2** o **grpc**.

1. Seleziona un nome di **servizio virtuale** esistente. Se non ne è elencato nessuno, devi prima creare un [servizio virtuale](virtual_services.md#create-virtual-service).

1. Scegli la porta che corrisponde alla destinazione per la **porta del fornitore di servizi virtuali**. La porta del provider di servizi virtuali è **necessaria** quando il provider (router o nodo) del servizio virtuale selezionato ha più listener.

1. (Facoltativo) Per **Priorità**, specificare la priorità per questa route gateway.

1. Per la configurazione **Match**, specificare:
   + 

     Se **http/http2** è il tipo selezionato:
     + ****(Facoltativo) **Metodo** ‐ Specifica l'intestazione del metodo da abbinare nelle richieste http/http2 in entrata.****
     + (Facoltativo) **Port match ‐ Corrisponde alla porta** per il traffico in entrata. Port Match è **necessario** se questo gateway virtuale ha più listener.
     + (Facoltativo) **Hostname esatto/suffisso ‐ Specifico il nome** host a cui deve corrispondere la richiesta in entrata da indirizzare al servizio virtuale di destinazione.
     + (Facoltativo) **Prefix/Exact/Regexpath** ‐ Il metodo per abbinare il percorso dell'URL.
       + **Prefix match** ‐ Per impostazione predefinita, una richiesta corrispondente proveniente da una route gateway viene riscritta nel nome del servizio virtuale di destinazione e il prefisso corrispondente viene riscritto in. `/` A seconda di come configuri il servizio virtuale, potrebbe utilizzare un router virtuale per indirizzare la richiesta a diversi nodi virtuali, in base a prefissi o intestazioni specifici. 
**Importante**  
**Non puoi specificare nessuno dei due `/aws-appmesh*` o prefix match`/aws-app-mesh*`.** Questi prefissi sono riservati per future applicazioni interne all'App Mesh.
Se vengono definite più rotte gateway, una richiesta viene abbinata alla route con il prefisso più lungo. Ad esempio, se esistessero due route gateway, una con il prefisso di `/chapter` e l'altra con il prefisso di`/`, una richiesta di `www.example.com/chapter/` verrebbe abbinata alla route gateway con il prefisso. `/chapter`
**Nota**  
Se abiliti la corrispondenza basata su **Path** **/Prefix**, App Mesh abilita la normalizzazione del percorso ([normalize\$1path](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-field-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager-normalize-path) e [merge\$1slashes](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-field-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager-merge-slashes)) per ridurre al minimo la probabilità di vulnerabilità legate alla confusione dei percorsi.  
Le vulnerabilità legate alla confusione dei percorsi si verificano quando le parti che partecipano alla richiesta utilizzano rappresentazioni di percorso diverse.
       + **Corrispondenza** esatta ‐ Il parametro exact disabilita la corrispondenza parziale per un percorso e fa in modo che restituisca il percorso solo se il percorso corrisponde **ESATTAMENTE** all'URL corrente.
       + **Regex match** ‐ Utilizzato per descrivere modelli in cui più di uno URLs possono effettivamente identificare una singola pagina sul sito Web.
     + (Opzionale) **Parametri di interrogazione** ‐ Questo campo consente di abbinare i parametri della query.
     + **(Facoltativo) **Intestazioni** ‐ Specificano le intestazioni per **http** e http2.** Deve corrispondere alla richiesta in entrata da indirizzare al servizio virtuale di destinazione.
   + 

     Se **grpc** è il tipo selezionato:
     + **Tipo di corrispondenza del nome host** e (opzionale) corrispondenza **esatta/suffisso ‐ Specificano il nome host a cui deve corrispondere** la richiesta in entrata da indirizzare al servizio virtuale di destinazione. 
     + **nome del servizio grpc ‐ Il servizio** **grpc** funge da API per l'applicazione ed è definito con. ProtoBuf
**Importante**  
Non è possibile specificare `/aws.app-mesh*` o `aws.appmesh` per il nome del **servizio**. Questi nomi di servizio sono riservati per usi interni futuri di App Mesh.
     + **(Facoltativo) **Metadata** ‐ Specifica i metadati per grpc.** Deve corrispondere alla richiesta in entrata da indirizzare al servizio virtuale di destinazione.

1. (Facoltativo) Per la configurazione **Rewrite**:
   + 

     Se **http/http2** è il tipo selezionato:
     + 

       Se **Prefix** è il tipo di corrispondenza selezionato:
       + **Sostituisci la riscrittura automatica del nome host** ‐ Per impostazione predefinita, il nome host viene riscritto nel nome del servizio virtuale di destinazione.
       + **Ignora la riscrittura automatica del prefisso ‐ Quando è attivata, Prefix rewrite** **specifica il valore del prefisso riscritto.**
     + 

       Se **Exact** Path è il tipo di corrispondenza selezionato:
       + **Sostituisci la riscrittura automatica del nome host**: per impostazione predefinita, il nome host viene riscritto nel nome del servizio virtuale di destinazione.
       + **Riscrittura del percorso** ‐ Specifica il valore del percorso riscritto. Nessun percorso predefinito.
     + 

       Se **Regex Path** è il tipo di corrispondenza selezionato:
       + **Sostituisci la riscrittura automatica del nome host**: per impostazione predefinita, il nome host viene riscritto nel nome del servizio virtuale di destinazione.
       + **Riscrittura del percorso** ‐ Specifica il valore del percorso riscritto. Nessun percorso predefinito.
   + 

     Se **grpc** è il tipo selezionato:
     + **Sostituisci la riscrittura automatica del nome host** ‐ Per impostazione predefinita, il nome host viene riscritto nel nome del servizio virtuale di destinazione.

1. Scegli **Crea percorso gateway per terminare**.

------
#### [ AWS CLI ]

**Per creare una route gateway utilizzando AWS CLI.**

Crea una route gateway utilizzando il seguente comando e inserisci JSON (sostituisci i *red* valori con i tuoi):

1. 

   ```
   aws appmesh create-virtual-gateway \ 
   --mesh-name meshName \ 
   --virtual-gateway-name virtualGatewayName \
   --gateway-route-name gatewayRouteName \ 
   --cli-input-json file://create-gateway-route.json
   ```

1. Contenuto dell'**esempio create-gateway-route .json**:

   ```
   {
       "spec": {
           "httpRoute" : {
               "match" : {
                   "prefix" : "/"
               },
               "action" : {
                   "target" : {
                       "virtualService": {
                           "virtualServiceName": "serviceA.svc.cluster.local"
                       }
                   }
               }
           }
       }
   }
   ```

1. Output di esempio:

   ```
   {
       "gatewayRoute": {
           "gatewayRouteName": "gatewayRouteName",
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualGateway/virtualGatewayName/gatewayRoute/gatewayRouteName",
               "createdAt": "2022-04-06T11:05:32.100000-05:00",
               "lastUpdatedAt": "2022-04-06T11:05:32.100000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 1
           },
           "spec": {
               "httpRoute": {
                   "action": {
                       "target": {
                           "virtualService": {
                               "virtualServiceName": "serviceA.svc.cluster.local"
                           }
                       }
                   },
                   "match": {
                       "prefix": "/"
                   }
               }
           },
           "status": {
               "status": "ACTIVE"
           },
           "virtualGatewayName": "gatewayName"
       }
   }
   ```

Per ulteriori informazioni sulla creazione di una route gateway con AWS CLI for App Mesh, consulta il [create-gateway-route](https://docs.aws.amazon.com/cli/latest/reference/appmesh/create-gateway-route.html)comando nel AWS CLI riferimento.

------

## Eliminazione di una route gateway
<a name="delete-gateway-route"></a>

------
#### [ Console di gestione AWS ]

**Per eliminare una route gateway utilizzando il Console di gestione AWS**

1. Apri la console App Mesh all'indirizzo [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Scegli la mesh da cui desideri eliminare una route gateway. Sono elencate tutte le mesh che possiedi e che sono state [condivise](sharing.md) con te.

1. Scegli **Gateway virtuali nella barra** di navigazione a sinistra.

1. Scegli il gateway virtuale da cui desideri eliminare un percorso di gateway.

1. Nella tabella delle **rotte del gateway**, scegli la route del gateway che desideri eliminare e seleziona **Elimina**. Puoi eliminare una route gateway solo se il tuo account è elencato come **proprietario della risorsa**.

1. Nella casella di conferma, digita **delete** e quindi fai clic su **Elimina**.

------
#### [ AWS CLI ]

**Per eliminare una route gateway utilizzando il AWS CLI**

1. Utilizzate il seguente comando per eliminare la route del gateway (sostituite i *red* valori con i vostri):

   ```
   aws appmesh delete-gateway-route \
        --mesh-name meshName \
        --virtual-gateway-name virtualGatewayName \
        --gateway-route-name gatewayRouteName
   ```

1. Output di esempio:

   ```
   {
       "gatewayRoute": {
           "gatewayRouteName": "gatewayRouteName",
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualGateway/virtualGatewayName/gatewayRoute/gatewayRouteName",
               "createdAt": "2022-04-06T11:05:32.100000-05:00",
               "lastUpdatedAt": "2022-04-07T10:36:33.191000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 2
           },
           "spec": {
               "httpRoute": {
                   "action": {
                       "target": {
                           "virtualService": {
                               "virtualServiceName": "serviceA.svc.cluster.local"
                           }
                       }
                   },
                   "match": {
                       "prefix": "/"
                   }
               }
           },
           "status": {
               "status": "DELETED"
           },
           "virtualGatewayName": "virtualGatewayName"
       }
   }
   ```

Per ulteriori informazioni sull'eliminazione di una route gateway con AWS CLI for App Mesh, consulta il [delete-gateway-route](https://docs.aws.amazon.com/cli/latest/reference/appmesh/delete-gateway-route.html)comando nel AWS CLI riferimento.

------

# Nodi virtuali
<a name="virtual_nodes"></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) 

Un nodo virtuale agisce come un puntatore logico a un particolare gruppo di attività, ad esempio un servizio Amazon ECS o una distribuzione Kubernetes. Quando crei un nodo virtuale, devi specificare un metodo di rilevamento del servizio per il tuo gruppo di attività. *Qualsiasi traffico in entrata previsto dal nodo virtuale viene specificato come listener.* *Qualsiasi servizio virtuale a cui un nodo virtuale invia traffico in uscita viene specificato come backend.*

I metadati di risposta per il tuo nuovo nodo virtuale contengono l'Amazon Resource Name (ARN) associato al nodo virtuale. Imposta questo valore come variabile di `APPMESH_RESOURCE_ARN` ambiente per il contenitore proxy Envoy del tuo gruppo di attività nella definizione dell'attività di Amazon ECS o nella specifica del pod Kubernetes. Ad esempio, il valore potrebbe essere. `arn:aws:appmesh:us-west-2:111122223333:mesh/myMesh/virtualNode/myVirtualNode` Questo è quindi mappato ai parametri Envoy `node.id` e `node.cluster`. È necessario utilizzare `1.15.0` o una versione successiva dell'immagine Envoy quando si imposta questa variabile. Per ulteriori informazioni sulle variabili App Mesh Envoy, vedere. [Immagine dell'inviato](envoy.md)

**Nota**  
Per impostazione predefinita, App Mesh utilizza il nome della risorsa specificata in `APPMESH_RESOURCE_ARN` quando Envoy si riferisce a se stesso nei parametri e nelle tracce. È possibile ignorare questo comportamento impostando la variabile di ambiente `APPMESH_RESOURCE_CLUSTER` con il proprio nome.

## Creazione di un nodo virtuale
<a name="vn-create-virtual-node"></a>

------
#### [ Console di gestione AWS ]

**Per creare un nodo virtuale utilizzando Console di gestione AWS**

1. Apri la console App Mesh all'indirizzo [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Scegli la mesh in cui vuoi creare il nodo virtuale. Sono elencate tutte le mesh che possiedi e che sono state [condivise](sharing.md) con te.

1. Scegliere **Virtual nodes (Nodi virtuali)** nel riquadro di navigazione sinistro.

1. Scegli **Crea nodo virtuale** e quindi specifica le impostazioni per il tuo nodo virtuale.

1. Per **Nome del nodo virtuale**, inserisci un nome per il tuo nodo virtuale.

1. Per il **metodo di individuazione del servizio**, scegli una delle seguenti opzioni:
   + **DNS**: specifica il **nome host DNS** del servizio effettivo rappresentato dal nodo virtuale. Il proxy Envoy viene distribuito in un Amazon VPC. Il proxy invia le richieste di risoluzione dei nomi al server DNS configurato per il VPC. Se il nome host viene risolto, il server DNS restituisce uno o più indirizzi IP. Per ulteriori informazioni sulle impostazioni DNS del VPC, consulta [Uso del DNS con](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html) il VPC. Per il **tipo di risposta DNS** (opzionale), specifica i tipi di endpoint restituiti dal resolver DNS. **Load Balancer** significa che il resolver DNS restituisce un set di endpoint con carico bilanciato. **Endpoints** significa che il resolver DNS sta restituendo tutti gli endpoint. Per impostazione predefinita, si presume che il tipo di risposta sia **Load Balancer**.
**Nota**  
Se usi **Route53**, dovrai usare **Load Balancer**.
   + **AWS Cloud Map****— Specificare un nome di **servizio e uno spazio dei nomi HTTP** esistenti.** **Facoltativamente, puoi anche specificare gli attributi che App Mesh può AWS Cloud Map richiedere selezionando **Aggiungi riga** e specificando una **chiave** e un valore.** Verranno restituite solo le istanze che corrispondono a tutte le key/value coppie specificate. Per poter essere utilizzato AWS Cloud Map, il tuo account deve avere il ruolo collegato al `AWSServiceRoleForAppMesh` [servizio](using-service-linked-roles.md). Per ulteriori informazioni in merito AWS Cloud Map, consulta la Guida per gli [AWS Cloud Map sviluppatori](https://docs.aws.amazon.com/cloud-map/latest/dg/).
   + **Nessuno**: seleziona se il tuo nodo virtuale non prevede traffico in entrata.

1. 

**Preferenza della versione IP**

   Controlla quale versione IP deve essere utilizzata per il traffico all'interno della mesh attivando il comportamento **Override della versione IP predefinita**. Per impostazione predefinita, App Mesh utilizza una varietà di versioni IP.
**Nota**  
L'impostazione della preferenza IP sul nodo virtuale sostituisce solo la preferenza IP impostata per la mesh su questo nodo specifico.
   + Predefinita
     + Il resolver DNS di Envoy `IPv6` preferisce e ricorre a. `IPv4`
     + Utilizziamo l'`IPv4`indirizzo restituito da, AWS Cloud Map se disponibile, e riprendiamo a utilizzare l'indirizzo. `IPv6`
     + L'endpoint creato per l'app locale utilizza un `IPv4` indirizzo.
     + I listener Envoy si collegano a tutti gli indirizzi. `IPv4`
   + IPv6 preferito
     + Il resolver DNS di Envoy `IPv6` preferisce e ricorre a. `IPv4`
     + L'`IPv6`indirizzo restituito da AWS Cloud Map viene utilizzato se disponibile e si torna a utilizzare l'indirizzo `IPv4`
     + L'endpoint creato per l'app locale utilizza un `IPv6` indirizzo.
     + Gli ascoltatori di Envoy si collegano a tutti gli indirizzi. `IPv4` `IPv6`
   + IPv4 preferito
     + Il resolver DNS di Envoy `IPv4` preferisce e ricorre a. `IPv6`
     + Utilizziamo l'`IPv4`indirizzo restituito da, AWS Cloud Map se disponibile, e riprendiamo a utilizzare l'indirizzo. `IPv6`
     + L'endpoint creato per l'app locale utilizza un `IPv4` indirizzo.
     + Gli ascoltatori di Envoy si collegano a tutti gli indirizzi. `IPv4` `IPv6`
   + IPv6 solo
     + Il resolver DNS di Envoy utilizza solo. `IPv6`
     + Viene utilizzato solo l'`IPv6`indirizzo restituito da. AWS Cloud Map Se AWS Cloud Map restituisce un `IPv4` indirizzo, non viene utilizzato alcun indirizzo IP e all'Envoy vengono restituiti risultati vuoti.
     + L'endpoint creato per l'app locale utilizza un indirizzo. `IPv6`
     + Gli ascoltatori di Envoy si collegano a tutti gli indirizzi. `IPv4` `IPv6`
   + IPv4 solo
     + Il resolver DNS di Envoy utilizza solo. `IPv4`
     + Viene utilizzato solo l'`IPv4`indirizzo restituito da. AWS Cloud Map Se AWS Cloud Map restituisce un `IPv6` indirizzo, non viene utilizzato alcun indirizzo IP e all'Envoy vengono restituiti risultati vuoti.
     + L'endpoint creato per l'app locale utilizza un indirizzo. `IPv4`
     + Gli ascoltatori di Envoy si collegano a tutti gli indirizzi. `IPv4` `IPv6`

1. 

**(Facoltativo) Impostazioni predefinite delle **politiche del client: configura i requisiti predefiniti** per la comunicazione con i servizi virtuali di backend.**
**Nota**  
Se desideri abilitare Transport Layer Security (TLS) per un nodo virtuale esistente, ti consigliamo di creare un nuovo nodo virtuale, che rappresenti lo stesso servizio del nodo virtuale esistente, su cui abilitare TLS. Quindi sposta gradualmente il traffico verso il nuovo nodo virtuale utilizzando un router e un percorso virtuali. Per ulteriori informazioni sulla creazione di un percorso e sulla regolazione dei pesi per la transizione, consulta. [Percorsi](routes.md) Se aggiorni un nodo virtuale esistente che serve traffico con TLS, è possibile che i proxy Envoy del client downstream ricevano il contesto di convalida TLS prima che il proxy Envoy per il nodo virtuale che hai aggiornato riceva il certificato. Ciò può causare errori di negoziazione TLS sui proxy Envoy a valle.
[L'autorizzazione proxy](proxy-authorization.md) deve essere abilitata per il proxy Envoy distribuito con l'applicazione rappresentata dai nodi virtuali del servizio di backend. Quando si abilita l'autorizzazione proxy, si consiglia di limitare l'accesso solo ai nodi virtuali con cui il nodo virtuale comunica.
   + (Facoltativo) Seleziona **Enforce TLS** se desideri richiedere al nodo virtuale di comunicare con tutti i backend utilizzando Transport Layer Security (TLS).
   + **(Facoltativo) Se desideri richiedere l'uso di TLS solo per una o più porte specifiche, inserisci un numero in Porte.** Per aggiungere porte aggiuntive, seleziona **Aggiungi porta**. Se non specifichi alcuna porta, TLS viene applicato per tutte le porte.
   + Per **Metodo di convalida**, selezionate una delle seguenti opzioni. Il certificato specificato deve già esistere e soddisfare requisiti specifici. Per ulteriori informazioni, consulta [Requisiti del certificato](tls.md#virtual-node-tls-prerequisites).
     + **AWS Autorità di certificazione privata**hosting: seleziona uno o più **certificati** esistenti. Per una descrizione completa e dettagliata end-to-end della distribuzione di una mesh con un'applicazione di esempio che utilizza la crittografia con un certificato ACM, consulta [Configurazione di TLS con Certificate Manager AWS on](https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/tls-with-acm). GitHub
     + Hosting **Envoy Secret Discovery Service (SDS)**: inserisci il nome del server segreto che Envoy recupererà utilizzando Secret Discovery Service.
     + **Hosting di file locale**: specifica il percorso del file della **catena di certificati** sul file system in cui è distribuito Envoy. Per una descrizione completa dell'implementazione di una mesh con un'applicazione di esempio che utilizza la crittografia con file locali, consulta [Configurazione di TLS con certificati TLS](https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-tls-file-provided) forniti da file su. end-to-end GitHub
   + **(Facoltativo) Inserisci un nome alternativo per il soggetto.** Per aggiungerne altri SANs, seleziona **Aggiungi SAN**. SANs deve essere in formato FQDN o URI.
   + (Facoltativo) Seleziona **Fornisci certificato client** e una delle opzioni seguenti per fornire un certificato client quando un server lo richiede e abilitare l'autenticazione TLS reciproca. Per ulteriori informazioni su Mutual TLS, consulta i documenti di [autenticazione TLS Mutual TLS](https://docs.aws.amazon.com/app-mesh/latest/userguide/mutual-tls.html) di App Mesh.
     + Hosting **Envoy Secret Discovery Service (SDS)**: inserisci il nome del segreto che Envoy recupererà utilizzando il Secret Discovery Service.
     + **Hosting di file locale**: specifica il percorso del file della **catena di certificati**, nonché la **chiave privata**, sul file system in cui è distribuito Envoy.

1. 

**(Facoltativo) **Backend del servizio**: specifica il servizio virtuale App Mesh con cui comunicherà il nodo virtuale.**
   + Inserisci il nome del servizio virtuale App Mesh o il nome completo di Amazon Resource Name (ARN) per il servizio virtuale con cui comunica il tuo nodo virtuale.
   + **(Facoltativo) Se desideri configurare impostazioni TLS uniche per un backend, seleziona Impostazioni TLS e quindi seleziona **Ignora impostazioni predefinite**.**
     + (Facoltativo) Seleziona **Enforce TLS** se desideri richiedere al nodo virtuale di comunicare con tutti i backend tramite TLS.
     + **(Facoltativo) Se desideri richiedere l'uso di TLS solo per una o più porte specifiche, inserisci un numero in Porte.** Per aggiungere porte aggiuntive, seleziona **Aggiungi porta**. Se non specifichi alcuna porta, TLS viene applicato per tutte le porte.
     + Per **Metodo di convalida**, selezionate una delle seguenti opzioni. Il certificato specificato deve già esistere e soddisfare requisiti specifici. Per ulteriori informazioni, consulta [Requisiti del certificato](tls.md#virtual-node-tls-prerequisites).
       + **AWS Autorità di certificazione privata**hosting: seleziona uno o più **certificati** esistenti.
       + Hosting **Envoy Secret Discovery Service (SDS)**: inserisci il nome dell'inviato segreto che Envoy recupererà utilizzando il Secret Discovery Service.
       + **Hosting di file locale**: specifica il percorso del file della **catena di certificati** sul file system in cui è distribuito Envoy.
     + (Facoltativo) Inserite un nome alternativo per il **soggetto**. Per aggiungerne altri SANs, seleziona **Aggiungi SAN**. SANsdeve essere in formato FQDN o URI.
     + (Facoltativo) Seleziona **Fornisci certificato client** e una delle opzioni seguenti per fornire un certificato client quando un server lo richiede e abilitare l'autenticazione TLS reciproca. Per ulteriori informazioni su Mutual TLS, consulta i documenti di [autenticazione TLS Mutual TLS](https://docs.aws.amazon.com/app-mesh/latest/userguide/mutual-tls.html) di App Mesh.
       + Hosting **Envoy Secret Discovery Service (SDS)**: inserisci il nome del segreto che Envoy recupererà utilizzando il Secret Discovery Service.
       + **Hosting di file locale**: specifica il percorso del file della **catena di certificati**, nonché la **chiave privata**, sul file system in cui è distribuito Envoy.
   + **Per aggiungere backend aggiuntivi, seleziona Aggiungi backend.**

1. **(Facoltativo) Registrazione**

   Per configurare la registrazione, immettere il percorso dei log di accesso HTTP che deve essere utilizzato da Envoy. Ti consigliamo il `/dev/stdout` percorso in modo da poter utilizzare i driver di registro Docker per esportare i log di Envoy su un servizio come Amazon Logs. CloudWatch 
**Nota**  
I log devono ancora essere integrati da un agente nell'applicazione e inviati a una destinazione. Questo percorso file indica a Envoy dove inviare i log. 

1. **Configurazione del listener**

   Supporto `HTTP` per gli ascoltatori e `HTTP/2` `GRPC` `TCP` protocolli. `HTTPS`non è supportato.

   1. **Se il nodo virtuale prevede traffico in entrata, specifica una **porta** e un **protocollo** per il listener.** Il listener **http** consente la transizione della connessione ai websocket. È possibile fare clic su **Aggiungi ascoltatore per aggiungere più ascoltatori.** Il pulsante **Rimuovi rimuoverà** quel listener.

   1. 

**(Facoltativo) **Abilita il pool di connessioni****

      Il pool di connessioni limita il numero di connessioni che un Envoy può stabilire contemporaneamente con il cluster di applicazioni locale. Ha lo scopo di proteggere l'applicazione locale dal sovraccarico di connessioni e consente di adattare la modellazione del traffico alle esigenze delle applicazioni.

      È possibile configurare le impostazioni del pool di connessioni sul lato di destinazione per un listener di nodi virtuali. App Mesh imposta le impostazioni del pool di connessioni lato client su infinite per impostazione predefinita, semplificando la configurazione della mesh.
**Nota**  
I protocolli ConnectionPool e PortMapping devono essere gli stessi. Se il protocollo del listener è tcp, specifica solo maxConnections. Se il protocollo del listener è grpc o http2, specifica solo maxRequests. Se il protocollo del listener è http, puoi specificare sia MaxConnections che. maxPendingRequests 
      + Per **Numero massimo di connessioni**, specificare il numero massimo di connessioni in uscita.
      + (Facoltativo) Per il numero **massimo di richieste in sospeso**, specifica il numero di richieste in eccesso dopo il numero **massimo di connessioni** che un Envoy metterà in coda. Il valore predefinito è `2147483647`.

   1. 

****(Facoltativo) Abilita il rilevamento dei valori anomali****

      Il rilevamento dei valori anomali applicato al client Envoy consente ai client di intraprendere azioni quasi immediate sulle connessioni con guasti anomali noti osservati. È una forma di implementazione di un interruttore automatico che tiene traccia dello stato di salute dei singoli host nel servizio upstream.

      Il rilevamento dei valori anomali determina dinamicamente se gli endpoint in un cluster upstream offrono prestazioni diverse dagli altri e li rimuove dal set di bilanciamento del carico integro.
**Nota**  
Per configurare in modo efficace il rilevamento dei valori anomali per un nodo virtuale del server, il metodo di individuazione dei servizi di quel nodo virtuale può essere uno AWS Cloud Map o il DNS con il campo del tipo di risposta impostato su. `ENDPOINTS` Se si utilizza il metodo di rilevamento del servizio DNS con tipo di risposta as`LOADBALANCER`, il proxy Envoy sceglierà un solo indirizzo IP per il routing verso il servizio upstream. Ciò annulla il comportamento di rilevamento dei valori anomali che comporta l'espulsione di un host non integro da un set di host. Consulta la sezione Metodo di rilevamento del servizio per maggiori dettagli sul comportamento del proxy Envoy in relazione al tipo di rilevamento del servizio.
      + Per **gli errori del server**, specifica il numero di 5xx errori consecutivi necessari per l'espulsione.
      + Per Intervallo di **rilevamento dei valori anomali, specificate l'intervallo** di tempo e l'unità tra l'analisi del flusso di espulsione.
      + Per **Durata dell'espulsione di Base**, specificate la quantità di tempo e l'unità di base per cui viene espulso un host.
      + Per **Percentuale di espulsione**, specifica la percentuale massima di host nel pool di bilanciamento del carico che possono essere espulsi.

   1. 

**(Facoltativo) **Abilita il controllo sanitario**: configura le impostazioni per una politica di controllo dello stato di salute.**

      Una politica di controllo dello stato di salute è facoltativa, ma se si specificano valori per una politica sanitaria, è necessario specificare i valori per **Healthy threshold**, **Health check interval**, **Health check protocol**, **Timeout period** e **Unhealthy** threshold.
      + Per il **protocollo Health check**, scegli un protocollo. Se si seleziona **grpc**, il servizio deve essere conforme al [GRPC Health](https://github.com/grpc/grpc/blob/master/doc/health-checking.md) Checking Protocol.
      + Per **Health check port (Porta del controllo dello stato)**, specificare la porta su cui deve essere eseguito il controllo dello stato.
      + Per **Healthy threshold (Soglia di integrità)**, specificare il numero di controlli dello stato andati a buon fine consecutivi che devono verificarsi prima di dichiarare il listener integro.
      + Per **Health check interval (Intervallo del controllo dello stato)**, specificare il periodo di tempo in millisecondi tra ogni esecuzione del controllo dello stato.
      + Per **Path (Percorso)**, specificare il percorso di destinazione per la richiesta di controllo dello stato. Questo valore viene utilizzato solo se il **protocollo Health check** è `http` o`http2`. Il valore viene ignorato per gli altri protocolli.
      + In **Timeout period (Periodo di timeout)**, specificare il periodo di tempo di attesa quando si riceve una risposta dal controllo dello stato, in millisecondi.
      + Per **Unhealthy threshold (Soglia di mancata integrità)**, specificare il numero di controlli dello stato non andati consecutivamente a buon fine che sono necessari per dichiarare il listener non integro.

   1. 

**(Facoltativo) **Abilita la terminazione TLS**: configura il modo in cui altri nodi virtuali comunicano con questo nodo virtuale utilizzando TLS.**
      + Per **Modalità**, seleziona la modalità per cui desideri configurare TLS sul listener.
      + Per **Metodo Certificate**, selezionate una delle seguenti opzioni. Il certificato deve soddisfare requisiti specifici. Per ulteriori informazioni, consulta [Requisiti del certificato](tls.md#virtual-node-tls-prerequisites).
        + **AWS Certificate Manager hosting**: seleziona un **certificato** esistente.
        + Hosting **Envoy Secret Discovery Service (SDS)**: inserisci il nome dell'Envoy segreto che Envoy recupererà utilizzando il Secret Discovery Service.
        + **Hosting di file locale**: specifica il percorso del file della **catena di certificati**, nonché la **chiave privata**, sul file system in cui è distribuito il proxy Envoy.
      + (Facoltativo) Seleziona **Richiedi certificati client** e una delle opzioni seguenti per abilitare l'autenticazione TLS reciproca quando un client fornisce un certificato. Per ulteriori informazioni su Mutual TLS, consulta i documenti di [autenticazione TLS Mutual TLS](https://docs.aws.amazon.com/app-mesh/latest/userguide/mutual-tls.html) di App Mesh.
        + Hosting **Envoy Secret Discovery Service (SDS)**: inserisci il nome del segreto che Envoy recupererà utilizzando il Secret Discovery Service.
        + **Hosting di file locale**: specifica il percorso del file della **catena di certificati** sul file system in cui è distribuito Envoy.
      + (Facoltativo) Inserite un nome alternativo per il **soggetto**. Per aggiungerne altri SANs, seleziona **Aggiungi SAN**. SANsdeve essere in formato FQDN o URI.

   1. 

****(Facoltativo) Timeout****
**Nota**  
 Se specifichi un timeout maggiore di quello predefinito, assicurati di configurare un router virtuale e un percorso con un timeout maggiore di quello predefinito. Tuttavia, se riduci il timeout a un valore inferiore a quello predefinito, è facoltativo aggiornare i timeout su Route. [Per ulteriori informazioni, consulta Routes.](https://docs.aws.amazon.com/app-mesh/latest/userguide/routes.html)
      + **Timeout della richiesta****: puoi specificare un timeout della richiesta se hai selezionato **grpc**, **http** o **http2** come protocollo del listener.** L'impostazione predefinita è 15 secondi. Il valore `0` disabilita il timeout.
      + **Durata di inattività**: è possibile specificare una durata di inattività per qualsiasi protocollo di ascolto. Il valore predefinito è 300 secondi.

1. Scegli **Crea nodo virtuale per terminare**.

------
#### [ AWS CLI ]

**Per creare un nodo virtuale utilizzando AWS CLI.**

Crea un nodo virtuale che utilizza DNS per l'individuazione dei servizi utilizzando il seguente comando e un file JSON di input (sostituisci i *red* valori con i tuoi):

1. 

   ```
   aws appmesh create-virtual-node \
   --cli-input-json file://create-virtual-node-dns.json
   ```

1. Contenuto dell'**esempio .json** create-virtual-node-dns:

   ```
   {
       "meshName": "meshName",
       "spec": {
           "listeners": [
               {
                   "portMapping": {
                       "port": 80,
                       "protocol": "http"
                   }
               }
           ],
           "serviceDiscovery": {
               "dns": {
                   "hostname": "serviceBv1.svc.cluster.local"
               }
           }
       },
       "virtualNodeName": "nodeName"
   }
   ```

1. Output di esempio:

   ```
   {
       "virtualNode": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualNode/nodeName",
               "createdAt": "2022-04-06T09:12:24.348000-05:00",
               "lastUpdatedAt": "2022-04-06T09:12:24.348000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 1
           },
           "spec": {
               "listeners": [
                   {
                       "portMapping": {
                           "port": 80,
                           "protocol": "http"
                       }
                   }
               ],
               "serviceDiscovery": {
                   "dns": {
                       "hostname": "serviceBv1.svc.cluster.local"
                   }
               }
           },
           "status": {
               "status": "ACTIVE"
           },
           "virtualNodeName": "nodeName"
       }
   }
   ```

Per ulteriori informazioni sulla creazione di un nodo virtuale con AWS CLI for App Mesh, vedere il [create-virtual-node](https://docs.aws.amazon.com/cli/latest/reference/appmesh/create-virtual-node.html)comando nel AWS CLI riferimento.

------

## Eliminazione di un nodo virtuale
<a name="delete-virtual-node"></a>

**Nota**  
Non è possibile eliminare un nodo virtuale se è specificato come destinazione in qualsiasi [route](routes.md) o come provider in qualsiasi [servizio virtuale](virtual_services.md).

------
#### [ Console di gestione AWS ]

**Per eliminare un nodo virtuale utilizzando Console di gestione AWS**

1. Apri la console App Mesh all'indirizzo [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Scegli la mesh da cui vuoi eliminare un nodo virtuale. Sono elencate tutte le mesh che possiedi e che sono state [condivise](sharing.md) con te.

1. Scegliere **Virtual nodes (Nodi virtuali)** nel riquadro di navigazione sinistro.

1. Nella tabella **Nodi virtuali**, scegli il nodo virtuale che desideri eliminare e seleziona **Elimina**. Per eliminare un nodo virtuale, l'ID dell'account deve essere elencato nelle colonne Proprietario della **rete Mesh o Proprietario** **della risorsa** del nodo virtuale.

1. Nella casella di conferma, digita **delete** e seleziona **Elimina**.

------
#### [ AWS CLI ]

**Per eliminare un nodo virtuale utilizzando AWS CLI**

1. Usa il seguente comando per eliminare il tuo nodo virtuale (sostituisci i *red* valori con i tuoi):

   ```
   aws appmesh delete-virtual-node \
        --mesh-name meshName \
        --virtual-node-name nodeName
   ```

1. Output di esempio:

   ```
   {
       "virtualNode": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualNode/nodeName",
               "createdAt": "2022-04-06T09:12:24.348000-05:00",
               "lastUpdatedAt": "2022-04-07T11:03:48.120000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 2
           },
           "spec": {
               "backends": [],
               "listeners": [
                   {
                       "portMapping": {
                           "port": 80,
                           "protocol": "http"
                       }
                   }
               ],
               "serviceDiscovery": {
                   "dns": {
                       "hostname": "serviceBv1.svc.cluster.local"
                   }
               }
           },
           "status": {
               "status": "DELETED"
           },
           "virtualNodeName": "nodeName"
       }
   }
   ```

Per ulteriori informazioni sull'eliminazione di un nodo virtuale con AWS CLI for App Mesh, vedere il [delete-virtual-node](https://docs.aws.amazon.com/cli/latest/reference/appmesh/delete-virtual-node.html)comando nel AWS CLI riferimento.

------

# Router virtuali
<a name="virtual_routers"></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) 

I router virtuali gestiscono il traffico per uno o più servizi virtuali all'interno della mesh. Dopo aver creato un router virtuale, è possibile creare e associarvi route che indirizzano le richieste in entrata a diversi nodi virtuali.

![\[Virtual router diagram showing HTTP route with prefix and targets B and B' for different service versions.\]](http://docs.aws.amazon.com/it_it/app-mesh/latest/userguide/images/virtual_router.png)


*Qualsiasi traffico in entrata previsto dal router virtuale deve essere specificato come listener.*

## Creazione di un router virtuale
<a name="create-virtual-router"></a>

------
#### [ Console di gestione AWS ]

**Per creare un router virtuale utilizzando il Console di gestione AWS**
**Nota**  
Quando si crea un router virtuale, è necessario aggiungere un selettore di namespace con un'etichetta per identificare l'elenco di namespace per associare i percorsi al router virtuale creato.

1. Apri la console App Mesh all'indirizzo [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Scegli la mesh in cui vuoi creare il router virtuale. Sono elencate tutte le mesh che possiedi e che sono state [condivise](sharing.md) con te.

1. Nel riquadro di navigazione sinistro, scegliere **Virtual routers (Router virtuali)**.

1. Scegliere **Create virtual router (Crea router virtuali)**.

1. In **Virtual router name (Nome router virtuale)**, specificare un nome per il router virtuale. Il nome può contenere un massimo di 255 lettere, numeri, trattini e caratteri di sottolineatura.

1. (Facoltativo) Per la configurazione del **listener**, specificate una **porta** e un **protocollo** per il router virtuale. Il `http` listener consente la transizione della connessione ai websocket. È possibile fare clic su **Aggiungi ascoltatore per aggiungere più ascoltatori.** Il pulsante **Rimuovi rimuoverà** quel listener.

1. Scegliere **Create virtual router (Crea router virtuale)** per terminare.

------
#### [ AWS CLI ]

**Per creare un router virtuale utilizzando. AWS CLI**

Crea un router virtuale utilizzando il seguente comando e inserisci JSON (sostituisci i *red* valori con i tuoi):

1. 

   ```
   aws appmesh create-virtual-router \
        --cli-input-json file://create-virtual-router.json
   ```

1. Contenuto dell'**esempio .json** create-virtual-router

1. 

   ```
   {
       "meshName": "meshName",
       "spec": {
           "listeners": [
               {
                   "portMapping": {
                       "port": 80,
                       "protocol": "http"
                   }
               }
           ]
       },
       "virtualRouterName": "routerName"
   }
   ```

1. Output di esempio:

   ```
   {
       "virtualRouter": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualRouter/routerName",
               "createdAt": "2022-04-06T11:49:47.216000-05:00",
               "lastUpdatedAt": "2022-04-06T11:49:47.216000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 1
           },
           "spec": {
               "listeners": [
                   {
                       "portMapping": {
                           "port": 80,
                           "protocol": "http"
                       }
                   }
               ]
           },
           "status": {
               "status": "ACTIVE"
           },
           "virtualRouterName": "routerName"
       }
   }
   ```

Per ulteriori informazioni sulla creazione di un router virtuale con AWS CLI for App Mesh, consulta il [create-virtual-router](https://docs.aws.amazon.com/cli/latest/reference/appmesh/create-virtual-router.html)comando nel AWS CLI riferimento.

------

## Eliminazione di un router virtuale
<a name="delete-virtual-router"></a>

**Nota**  
Non è possibile eliminare un router virtuale se dispone di [percorsi](routes.md) o se è specificato come provider per qualsiasi [servizio virtuale](virtual_services.md).

------
#### [ Console di gestione AWS ]

**Per eliminare un router virtuale utilizzando il Console di gestione AWS**

1. Apri la console App Mesh all'indirizzo [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Scegli la mesh da cui vuoi eliminare un router virtuale. Sono elencate tutte le mesh che possiedi e che sono state [condivise](sharing.md) con te.

1. Nel riquadro di navigazione sinistro, scegliere **Virtual routers (Router virtuali)**.

1. Nella tabella **Router virtuali**, scegli il router virtuale che desideri eliminare e seleziona **Elimina** nell'angolo in alto a destra. Per eliminare un router virtuale, l'ID dell'account deve essere elencato nelle colonne **Mesh owner** o **Resource owner** del router virtuale.

1. Nella casella di conferma, digita **delete** e quindi fai clic su **Elimina**.

------
#### [ AWS CLI ]

**Per eliminare un router virtuale utilizzando il AWS CLI**

1. Usa il seguente comando per eliminare il router virtuale (sostituisci i *red* valori con i tuoi):

   ```
   aws appmesh delete-virtual-router \
        --mesh-name meshName \
        --virtual-router-name routerName
   ```

1. Output di esempio:

   ```
   {
       "virtualRouter": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualRouter/routerName",
               "createdAt": "2022-04-06T11:49:47.216000-05:00",
               "lastUpdatedAt": "2022-04-07T10:49:53.402000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 2
           },
           "spec": {
               "listeners": [
                   {
                       "portMapping": {
                           "port": 80,
                           "protocol": "http"
                       }
                   }
               ]
           },
           "status": {
               "status": "DELETED"
           },
           "virtualRouterName": "routerName"
       }
   }
   ```

Per ulteriori informazioni sull'eliminazione di un router virtuale con AWS CLI for App Mesh, consulta il [delete-virtual-router](https://docs.aws.amazon.com/cli/latest/reference/appmesh/delete-virtual-router.html)comando nel AWS CLI riferimento.

------

# Percorsi
<a name="routes"></a>

**Importante**  
Avviso di fine del supporto: il 30 settembre 2026, AWS interromperà 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) 

Un percorso è associato a un router virtuale. Il percorso viene utilizzato per abbinare le richieste per il router virtuale e per distribuire il traffico ai nodi virtuali associati. Se un percorso corrisponde a una richiesta, può distribuire il traffico verso uno o più nodi virtuali di destinazione. È possibile specificare la ponderazione relativa per ogni nodo virtuale. Questo argomento aiuta a lavorare con le rotte in una service mesh.

## Creare un percorso
<a name="create-route"></a>

------
#### [ Console di gestione AWS ]

**Per creare un percorso utilizzando il Console di gestione AWS**

1. Apri la console App Mesh all'indirizzo [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Scegli la mesh in cui vuoi creare il percorso. Sono elencate tutte le mesh che possiedi e che sono state [condivise](sharing.md) con te.

1. Nel riquadro di navigazione sinistro, scegliere **Virtual routers (Router virtuali)**.

1. Scegli il router virtuale a cui desideri associare un nuovo percorso. Se non ne è elencato nessuno, devi prima [creare un router virtuale](virtual_routers.md#create-virtual-router).

1. Nella tabella **Routes (Route)**, scegliere **Create route (Crea route)**. Per creare un percorso, l'ID del tuo account deve essere indicato come **proprietario della risorsa** del percorso.

1. In **Route name (Nome route)**, specificare il nome da utilizzare per la route.

1. Per **Tipo di percorso**, scegli il protocollo che desideri instradare. Il protocollo selezionato deve corrispondere al protocollo listener selezionato per il router virtuale e il nodo virtuale verso cui instradare il traffico.

1. (Facoltativo) Per la **priorità del percorso**, specifica una priorità compresa tra 0 e 1000 da utilizzare per il percorso. Le route vengono messe in corrispondenza in base al valore specificato, dove 0 è la priorità più alta.

1. (Facoltativo) Scegli Configurazione **aggiuntiva**. Dai protocolli in basso, scegli il protocollo selezionato per **Tipo di percorso** e specifica le impostazioni desiderate nella console.

1. Per la **configurazione di Target**, seleziona il nodo virtuale App Mesh esistente verso cui indirizzare il traffico e specifica un **Weight**. Puoi scegliere **Aggiungi destinazione** per aggiungere altre destinazioni. La percentuale per tutti gli obiettivi deve essere pari a 100. Se non è elencato alcun nodo virtuale, devi prima [crearne](virtual_nodes.md#vn-create-virtual-node) uno. Se il nodo virtuale selezionato ha più listener, è **richiesta** la **porta Target**.

1. Per la configurazione **Match**, specifica:

   *La configurazione **Match** non è disponibile per `tcp`*
   + 

     Se **http/http2** è il tipo selezionato:
     + ****(Facoltativo) **Metodo** ‐ specifica l'intestazione del metodo da abbinare nelle richieste http/http2 in entrata.****
     + (Facoltativo) **Port match ‐ Corrisponde alla porta** per il traffico in entrata. La corrispondenza delle porte è **richiesta** se questo router virtuale ha più listener.
     + (Facoltativo) **Prefix/Exact/Regexpath** ‐ metodo per abbinare il percorso dell'URL.
       + **Prefix match** ‐ una richiesta corrispondente proveniente da una route gateway viene riscritta nel nome del servizio virtuale di destinazione e il prefisso corrispondente viene riscritto in, per impostazione predefinita. `/` A seconda di come configuri il servizio virtuale, potrebbe utilizzare un router virtuale per indirizzare la richiesta a diversi nodi virtuali, in base a prefissi o intestazioni specifici. 
**Nota**  
Se abiliti la corrispondenza basata su **Path** **/Prefix**, App Mesh abilita la normalizzazione del percorso ([normalize\$1path](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-field-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager-normalize-path) e [merge\$1slashes](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-field-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager-merge-slashes)) per ridurre al minimo la probabilità di vulnerabilità legate alla confusione dei percorsi.  
Le vulnerabilità legate alla confusione dei percorsi si verificano quando le parti che partecipano alla richiesta utilizzano rappresentazioni di percorso diverse.
       + **Corrispondenza** esatta: il parametro esatto disabilita la corrispondenza parziale per una rotta e si assicura che restituisca la rotta solo se il percorso corrisponde ESATTAMENTE all'URL corrente.
       + **Regex match** ‐ usato per descrivere modelli in cui più di uno URLs possono effettivamente identificare una singola pagina sul sito web.
     + (Facoltativo) **Parametri di interrogazione** ‐ questo campo consente di abbinare i parametri della query.
     + **(Facoltativo) **Headers** ‐ specifica le intestazioni per **http** e http2.** Deve corrispondere alla richiesta in entrata da indirizzare al servizio virtuale di destinazione.
   + 

     Se **grpc** è il tipo selezionato:
     + **Nome del servizio** ‐ il servizio di destinazione per il quale abbinare la richiesta.
     + **Nome del metodo** ‐ il metodo di destinazione per il quale abbinare la richiesta.
     + (Facoltativo) **Metadati** ‐ specifica `Match` in base alla presenza di metadati. Affinché la richiesta venga elaborata, tutti devono corrispondere.

1. Seleziona **Crea percorso**.

------
#### [ AWS CLI ]

**Per creare un percorso utilizzando il AWS CLI.**

Crea un percorso gRPC usando il seguente comando e inserisci JSON (sostituisci *red* i valori con i tuoi):

1. 

   ```
   aws appmesh create-route \
        --cli-input-json file://create-route-grpc.json
   ```

1. **Contenuto dell'esempio .json** create-route-grpc

   ```
   {
       "meshName" : "meshName",
       "routeName" : "routeName",
       "spec" : {
          "grpcRoute" : {
             "action" : {
                "weightedTargets" : [
                   {
                      "virtualNode" : "nodeName",
                      "weight" : 100
                   }
                ]
             },
             "match" : {
                "metadata" : [
                   {
                      "invert" : false,
                      "match" : {
                         "prefix" : "123"
                      },
                      "name" : "myMetadata"
                   }
                ],
                "methodName" : "nameOfmethod",
                "serviceName" : "serviceA.svc.cluster.local"
             },
             "retryPolicy" : {
                "grpcRetryEvents" : [ "deadline-exceeded" ],
                "httpRetryEvents" : [ "server-error", "gateway-error" ],
                "maxRetries" : 3,
                "perRetryTimeout" : {
                   "unit" : "s",
                   "value" : 15
                },
                "tcpRetryEvents" : [ "connection-error" ]
             }
          },
          "priority" : 100
       },
       "virtualRouterName" : "routerName"
   }
   ```

1. Output di esempio:

   ```
   {
       "route": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualRouter/routerName/route/routeName",
               "createdAt": "2022-04-06T13:48:20.749000-05:00",
               "lastUpdatedAt": "2022-04-06T13:48:20.749000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 1
           },
           "routeName": "routeName",
           "spec": {
               "grpcRoute": {
                   "action": {
                       "weightedTargets": [
                           {
                               "virtualNode": "nodeName",
                               "weight": 100
                           }
                       ]
                   },
                   "match": {
                       "metadata": [
                           {
                               "invert": false,
                               "match": {
                                   "prefix": "123"
                               },
                               "name": "myMetadata"
                           }
                       ],
                       "methodName": "nameOfMehod",
                       "serviceName": "serviceA.svc.cluster.local"
                   },
                   "retryPolicy": {
   "grpcRetryEvents": [
                           "deadline-exceeded"
                       ],
                       "httpRetryEvents": [
                           "server-error",
                           "gateway-error"
                       ],
                       "maxRetries": 3,
                       "perRetryTimeout": {
                           "unit": "s",
                           "value": 15
                       },
                       "tcpRetryEvents": [
                           "connection-error"
                       ]
                   }
               },
               "priority": 100
           },
           "status": {
               "status": "ACTIVE"
           },
           "virtualRouterName": "routerName"
       }
   }
   ```

Per ulteriori informazioni sulla creazione di un percorso con AWS CLI for App Mesh, vedere il comando [create-route](https://docs.aws.amazon.com/cli/latest/reference/appmesh/create-route.html) nel AWS CLI riferimento.

------

### gRPC
<a name="grpc"></a>

### **(Facoltativo) Match**

+ (Facoltativo) Inserire il **nome** del servizio di destinazione per cui corrispondere alla richiesta. Se non specifichi un nome, le richieste a qualsiasi servizio vengono abbinate.
+ (Facoltativo) Immettete il **nome** del metodo di destinazione per cui corrispondere alla richiesta. Se non specifichi un nome, le richieste relative a qualsiasi metodo vengono abbinate. Se si specifica un nome di metodo, è necessario specificare un nome di servizio.

### (Facoltativo) **Metadati**


Seleziona **Add metadata (Aggiungi metadati)**.
+ (Facoltativo) Inserisci il **nome dei metadati** in base al quale desideri eseguire il routing, seleziona un **tipo di corrispondenza** e inserisci un valore di **corrispondenza**. Selezionando **Inverti si** otterrà il risultato opposto. Ad esempio, se si specifica un **nome di metadati**`myMetadata`, un **tipo di corrispondenza** di **Exact**, un **valore di corrispondenza** di `123` e si seleziona **Inverti**, la route viene abbinata per qualsiasi richiesta il cui nome di metadati inizi con un nome di metadati diverso da. `123`
+ (Facoltativo) Seleziona **Aggiungi metadati per aggiungere fino a dieci elementi di metadati**. 

### **(Facoltativo) Politica di nuovo tentativo**


Una policy per i nuovi tentativi consente ai client di proteggersi da guasti di rete intermittenti o da guasti lato server intermittenti. La politica relativa ai nuovi tentativi è facoltativa, ma consigliata. I valori di timeout del tentativo definiscono il timeout per ogni tentativo (incluso il tentativo iniziale). Se non definisci una politica per i nuovi tentativi, App Mesh può creare automaticamente una politica predefinita per ciascuno dei tuoi percorsi. Per ulteriori informazioni, consulta [Politica predefinita per i nuovi tentativi di routing](envoy-defaults.md#default-retry-policy).
+ Per il **timeout Riprova**, inserisci il numero di unità per la durata del timeout. È richiesto un valore se si seleziona un evento di ripetizione del protocollo.
+ Per l'unità **di timeout Retry, seleziona un'unità**. È richiesto un valore se si seleziona un evento di ripetizione del protocollo.
+ Per Numero **massimo di tentativi**, inserisci il numero massimo di tentativi in caso di esito negativo della richiesta. È richiesto un valore se si seleziona un evento di ripetizione del protocollo. Consigliamo un valore di almeno due.
+ Seleziona uno o più **eventi di ripetizione HTTP**. **Ti consigliamo di selezionare almeno **stream-error e gateway-error**.**
+ **Seleziona un evento di nuovo tentativo TCP.**
+ Seleziona uno o più eventi di **riprova gRPC**. **Ti consigliamo di selezionare almeno **annullati** e non disponibili.**

### **(Facoltativo) Timeout**

+ L'impostazione predefinita è 15 secondi. Se hai specificato una **politica di nuovi** tentativi, la durata specificata qui deve essere sempre maggiore o uguale alla durata dei nuovi tentativi moltiplicata per il **numero massimo di tentativi definito nella politica Riprova**, in modo che la **politica dei nuovi** tentativi possa essere completata. **Se specifichi una durata superiore a 15 secondi, assicurati che anche il timeout specificato per il listener di qualsiasi nodo virtuale Target sia superiore a 15 secondi.** Per ulteriori informazioni, consulta [Virtual](https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_nodes.html) Nodes.
+ Il valore `0` disabilita il timeout. 
+ Il periodo massimo di inattività del percorso.

### HTTP e HTTP/2
<a name="http-http2"></a>

### (Facoltativo) Corrispondenza

+ Specificate il **prefisso** a cui deve corrispondere la rotta. Ad esempio, se il nome del servizio virtuale è `service-b.local` e desideri che la route corrisponda alle richieste in `service-b.local/metrics`, il prefisso deve essere `/metrics`. Specificare i `/` percorsi per tutto il traffico.
+ (Facoltativo) Seleziona un **metodo**. 
+ (Facoltativo) Seleziona uno **schema**. Applicabile solo per i HTTP2 percorsi. 

### (Facoltativo) Intestazioni

+ (Facoltativo) Seleziona **Aggiungi intestazione**. Inserisci il **nome dell'intestazione** in base al quale desideri eseguire il routing, seleziona un **tipo di corrispondenza** e inserisci un valore di **corrispondenza**. Selezionando **Inverti si** otterrà il risultato opposto. Ad esempio, se si specifica un'intestazione denominata `clientRequestId` con un **prefisso** di `123` e si seleziona **Inverti**, la route viene abbinata per qualsiasi richiesta con un'intestazione che inizia con un valore diverso da. `123`
+ **(Facoltativo) Seleziona Aggiungi intestazione.** Puoi aggiungere fino a dieci intestazioni. 

### **(Facoltativo) Politica di riprova**


Una policy per i nuovi tentativi consente ai client di proteggersi da guasti di rete intermittenti o da guasti lato server intermittenti. La politica relativa ai nuovi tentativi è facoltativa, ma consigliata. I valori di timeout del tentativo definiscono il timeout per ogni tentativo (incluso il tentativo iniziale). Se non definisci una politica per i nuovi tentativi, App Mesh può creare automaticamente una politica predefinita per ciascuno dei tuoi percorsi. Per ulteriori informazioni, consulta [Politica predefinita per i nuovi tentativi di routing](envoy-defaults.md#default-retry-policy).
+ Per il **timeout Riprova**, inserisci il numero di unità per la durata del timeout. È richiesto un valore se si seleziona un evento di ripetizione del protocollo.
+ Per l'unità **di timeout Retry, seleziona un'unità**. È richiesto un valore se si seleziona un evento di ripetizione del protocollo.
+ Per Numero **massimo di tentativi**, inserisci il numero massimo di tentativi in caso di esito negativo della richiesta. È richiesto un valore se si seleziona un evento di ripetizione del protocollo. Consigliamo un valore di almeno due.
+ Seleziona uno o più **eventi di ripetizione HTTP**. **Ti consigliamo di selezionare almeno **stream-error e gateway-error**.**
+ **Seleziona un evento di nuovo tentativo TCP.**

### **(Facoltativo) Timeout**

+ **Timeout della richiesta**: l'impostazione predefinita è 15 secondi. Se hai specificato una **politica di nuovi** tentativi, la durata specificata qui deve essere sempre maggiore o uguale alla durata dei nuovi tentativi moltiplicata per il **numero massimo di tentativi definito nella politica Riprova**, in modo da consentire il completamento della **politica** di nuovi tentativi.
+ **Durata di inattività: l'impostazione predefinita** è 300 secondi.
+ Il valore `0` disabilita il timeout.

**Nota**  
 Se specifichi un timeout maggiore di quello predefinito, assicurati che anche il timeout specificato per il listener per tutti i partecipanti al nodo virtuale sia maggiore del valore predefinito. Tuttavia, se riduci il timeout a un valore inferiore a quello predefinito, è facoltativo aggiornare i timeout nei nodi virtuali. [Per ulteriori informazioni, consulta Virtual Nodes.](https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_nodes.html)

### TCP
<a name="tcp"></a>

### **(Facoltativo) Timeout**

+ **Durata di inattività**: l'impostazione predefinita è 300 secondi.
+ Il valore `0` disabilita il timeout.

## Eliminazione di un percorso
<a name="delete-route"></a>

------
#### [ Console di gestione AWS ]

**Per eliminare un percorso utilizzando il Console di gestione AWS**

1. Apri la console App Mesh all'indirizzo [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Scegli la mesh da cui desideri eliminare un percorso. Sono elencate tutte le mesh che possiedi e che sono state [condivise](sharing.md) con te.

1. Nel riquadro di navigazione sinistro, scegliere **Virtual routers (Router virtuali)**.

1. Scegli il router da cui desideri eliminare un percorso.

1. Nella tabella **Percorsi**, scegli il percorso che desideri eliminare e seleziona **Elimina** nell'angolo in alto a destra.

1. Nella casella di conferma, digita **delete** e quindi fai clic su **Elimina**.

------
#### [ AWS CLI ]

**Per eliminare un percorso utilizzando il AWS CLI**

1. Usa il seguente comando per eliminare la tua rotta (sostituisci i *red* valori con i tuoi):

   ```
   aws appmesh delete-route \
        --mesh-name meshName \
        --virtual-router-name routerName \
        --route-name routeName
   ```

1. Output di esempio:

   ```
   {
       "route": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualRouter/routerName/route/routeName",
               "createdAt": "2022-04-06T13:46:54.750000-05:00",
               "lastUpdatedAt": "2022-04-07T10:43:57.152000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "210987654321",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 2
           },
           "routeName": "routeName",
           "spec": {
               "grpcRoute": {
                   "action": {
                       "weightedTargets": [
                           {
                               "virtualNode": "nodeName",
                               "weight": 100
                           }
                       ]
                   },
                   "match": {
                       "metadata": [
                           {
                               "invert": false,
                               "match": {
                                   "prefix": "123"
                               },
                               "name": "myMetadata"
                           }
                       ],
                       "methodName": "methodName",
                       "serviceName": "serviceA.svc.cluster.local"
                   },
                   "retryPolicy": {
                       "grpcRetryEvents": [
                           "deadline-exceeded"
                       ],
                       "httpRetryEvents": [
                           "server-error",
                           "gateway-error"
                       ],
                       "maxRetries": 3,
                       "perRetryTimeout": {
                           "unit": "s",
                           "value": 15
                       },
                       "tcpRetryEvents": [
                           "connection-error"
                       ]
                   }
               },
               "priority": 100
           },
           "status": {
               "status": "DELETED"
           },
           "virtualRouterName": "routerName"
       }
   }
   ```

Per ulteriori informazioni sull'eliminazione di un percorso con AWS CLI for App Mesh, vedere il comando [delete-route](https://docs.aws.amazon.com/cli/latest/reference/appmesh/delete-route.html) nel riferimento. AWS CLI 

------