route del gateway - AWS App Mesh

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

route del gateway

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 gateway in una mesh di servizio.

Creazione di gateway

AWS Management Console
Per creare una route gateway mediante l'AWS Management Console
  1. Apri la console App Mesh all'indirizzo https://console.aws.amazon.com/appmesh/.

  2. Scegli la mesh in cui creare l'gateway. Vengono elencate tutte le mesh che possiedi e che sono state condivise con te.

  3. Scegli Gateway virtuali nella barra di navigazione a sinistra.

  4. Scegli il gateway virtuale a cui desideri associare un nuovo percorso del gateway. Se l'elenco risulta vuoto, è necessario crearne uno prima. Puoi creare un percorso gateway solo per un gateway virtuale di cui il tuo account è elencato come proprietario della risorsa.

  5. Nella tabella Percorsi gateway, scegli Crea percorso gateway.

  6. Per il nome del percorso del gateway, specifica il nome da utilizzare per il percorso del gateway.

  7. Per il tipo di percorso Gateway scegli http, http2 o grpc.

  8. Seleziona un nome di servizio virtuale esistente. Se l'elenco risulta vuoto, è necessario crearne uno prima.

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

  10. (Facoltativo) In Priorità, specifica la priorità per questa rotta del gateway.

  11. Per la configurazione Match, specifica:

    • Se http/http2 è il tipo selezionato:

      • (Facoltativo) Metodo ‐ Specifica l'intestazione del metodo da abbinare nelle richieste http /http2 in entrata.

      • (Facoltativo) Corrispondenza porta ‐ Corrisponde alla porta per il traffico in entrata. La corrispondenza delle porte è necessaria se questo gateway virtuale ha più listener.

      • (Facoltativo) Exact/Suffix hostname ‐ Specifica il nome host che deve essere abbinato alla richiesta in entrata da indirizzare al servizio virtuale di destinazione.

      • (Facoltativo) Percorso prefisso/esatto/regex ‐ Il metodo di corrispondenza del percorso dell'URL.

        • Corrispondenza del prefisso ‐ Una richiesta corrispondente di una rotta gateway viene riscritta con il nome del servizio virtuale di destinazione e il prefisso corrispondente viene riscritto/, 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.

          Importante
          • Non è possibile specificare né l'uno/aws-appmesh*/aws-app-mesh* l'altro per la corrispondenza del prefisso. Questi prefissi sono riservati per il future uso interno di App Mesh.

          • Se sono definiti più percorsi gateway, una richiesta viene abbinata alla rotta con il prefisso più lungo. Ad esempio, se esistessero due percorsi gateway, uno con il prefisso di/chapter e l'altro con il prefisso di/, una richiesta diwww.example.com/chapter/ verrebbe abbinata alla rotta del gateway con il/chapter prefisso.

          Nota

          Se abiliti la corrispondenza basata su Path/Prefix, App Mesh abilita la normalizzazione del percorso (normalize_path e 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 un percorso e si assicura che restituisca il percorso solo se il percorso corrisponde ESATTAMENTE all'URL corrente.

        • Regex match ‐ Utilizzato per descrivere modelli in cui più URL possono effettivamente identificare una singola pagina del sito Web.

      • (Facoltativo) Parametri di interrogazione ‐ Questo campo consente di confrontare i parametri dell'interrogazione.

      • (Facoltativo) Headers ‐ Specifica le intestazioni per http e http2. Dovrebbe corrispondere alla richiesta in entrata da indirizzare al servizio virtuale di destinazione.

    • Se grpc è il tipo selezionato:

      • Tipo di corrispondenza del nome host e (facoltativo) Corrispondenza esatta/suffisso ‐ Specifica il nome host che deve essere abbinato alla richiesta in entrata da indirizzare al servizio virtuale di destinazione.

      • nome servizio grpc ‐ Il servizio grpc funge da API per l'applicazione ed è definito con ProtoBuf.

        Importante

        Non è possibile specificare/aws.app-mesh* oaws.appmesh per il nome del servizio. Questi nomi di servizio sono riservati per il future uso interno di App Mesh.

      • (Facoltativo) Metadati ‐ Specifica i metadati per grpc. Dovrebbe corrispondere alla richiesta in entrata da indirizzare al servizio virtuale di destinazione.

  12. (Facoltativo) Per la configurazione di riscrittura:

    • 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 con il nome del servizio virtuale di destinazione.

        • Sostituisci 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 con il 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 con il 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 con il nome del servizio virtuale di destinazione.

  13. Scegli Crea percorso gateway per terminare.

AWS CLI

Per creare un percorso gateway utilizzando ilAWS CLI.

Crea un percorso gateway usando il seguente comando e inserisci JSON (sostituisci i valori rossi 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
  2. Contenuto dell'esempio create-gateway-route .json:

    { "spec": { "httpRoute" : { "match" : { "prefix" : "/" }, "action" : { "target" : { "virtualService": { "virtualServiceName": "serviceA.svc.cluster.local" } } } } } }
  3. 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 un percorso gateway conAWS CLI for App Mesh, consulta il create-gateway-routecomando nelAWS CLI riferimento.

Elimdi gateway

AWS Management Console
Per eliminare una route gateway mediante l'AWS Management Console
  1. Apri la console App Mesh all'indirizzo https://console.aws.amazon.com/appmesh/.

  2. Scegliere la mesh da cui si desidera eliminare una route gateway. Vengono elencate tutte le mesh che possiedi e che sono state condivise con te.

  3. Scegli Gateway virtuali nella barra di navigazione a sinistra.

  4. Scegli il gateway virtuale da cui desideri eliminare un percorso gateway.

  5. Nella tabella Percorsi del gateway, scegli il percorso del gateway che desideri eliminare e seleziona Elimina. Puoi eliminare un percorso gateway solo se il tuo account è indicato come proprietario della risorsa.

  6. Nella casella di conferma, digitadelete e fai clic su Elimina.

AWS CLI
Per eliminare una route gateway mediante l'AWS CLI
  1. Usa il seguente comando per eliminare il percorso del gateway (sostituisci i valori rossi con i tuoi):

    aws appmesh delete-gateway-route \ --mesh-name meshName \ --virtual-gateway-name virtualGatewayName \ --gateway-route-name gatewayRouteName
  2. 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 un percorso gateway conAWS CLI for App Mesh, consulta il delete-gateway-routecomando nelAWS CLI riferimento.