

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

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

------