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

Percorsi 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 consente di lavorare con route gateway in una mesh dei servizi.

Creazione di una route gateway

AWS Management Console

Per creare una route gateway utilizzando la route gatewayAWS Management Console

  1. Apri la console App Mesh all'indirizzohttps://console.aws.amazon.com/appmesh/.

  2. Scegli la mesh in cui creare la route gateway. Tutte le mesh che possiedi e che sono statecondivisocon te sono elencati.

  3. ScegliGateway virtualinel menu di navigazione a sinistra.

  4. Scegli il gateway virtuale a cui desideri associare una nuova route gateway. Se l'elenco risulta vuoto, è necessario:creare un gateway virtualela vendetta. È possibile creare un percorso gateway solo per un gateway virtuale il cui account è elencato comeProprietà della risorsa.

  5. NelPercorsi gatewaytavolo, scegliCrea route gateway.

  6. PerNome della route del gateway, specifica il nome da utilizzare per il percorso del gateway.

  7. PerTipo di routing gatewayscegli una delle opzioniHTTP P,HTTP2, oppuregrcp.

  8. Seleziona un esistenteNome del servizio virtuale. Se l'elenco risulta vuoto, è necessario creare unservizio virtualela vendetta.

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

  10. (Opzionale) PerPriorità, specifica la priorità per questa route gateway.

  11. PerMatchconfigurazione, specificare:

    • Sehttp://http2è il tipo selezionato:

      • (Opzionale)Metodo‐ Specifica l'intestazione del metodo da abbinare in entrataHTTP P/HTTP2richieste.

      • (Opzionale)Incontro alla porta‐ Abbina la porta al traffico in entrata. La partita alla porta ènecessariose questo gateway virtuale ha più ascoltatori.

      • (Opzionale)Nome host esatto/suffisso‐ Specifica il nome host che deve essere abbinato alla richiesta in arrivo per il routing al servizio virtuale di destinazione.

      • (Opzionale)Percorso prefisso/Exact/Regex‐ Il metodo per abbinare il percorso dell'URL.

        • Corrisponde prefisso‐ Una richiesta corrispondente da un percorso gateway viene riscritta con il nome del servizio virtuale di destinazione e il prefisso corrispondente viene riscritto in/, per impostazione predefinita. A seconda di come si configura 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 seguenti modelli./aws-appmesh*o/aws-app-mesh*perCorrisponde prefisso. Questi prefissi sono riservati per il future uso interno di App Mesh.

          • Se sono definiti più percorsi gateway, una richiesta viene abbinata al percorso con il prefisso più lungo. Ad esempio, se esistessero due percorsi gateway, di cui uno con il prefisso di/chaptere uno con il prefisso di/, quindi una richiesta perwww.example.com/chapter/sarebbe abbinato al percorso del gateway con il/chapterprefisso.

          Nota

          Se abilitiPercorso/Prefixabbinamento basato, App Mesh consente la normalizzazione del percorso (normalizzare_pathemerge_slashes) per ridurre al minimo la probabilità di vulnerabilità legate alla confusione del percorso.

          Le vulnerabilità relative alla confusione dei percorsi si verificano quando le parti che partecipano alla richiesta utilizzano rappresentazioni di percorsi diverse.

        • Corrisponde esatto‐ Il parametro esatto disabilita la corrispondenza parziale per un percorso e assicura che restituisca il percorso solo se il percorso è unPRECISOcorrispondono all'URL corrente.

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

      • (Opzionale)Parametri di query‐ Questo campo consente di trovare una corrispondenza in base ai parametri della ricerca.

      • (Opzionale)Intestazioni‐ Specifica le intestazioni perHTTP PeHTTP2. Dovrebbe corrispondere alla richiesta in arrivo da indirizzare al servizio virtuale di destinazione.

    • SegrPCè il tipo selezionato:

      • Tipo di corrispondenza del nome hoste (facoltativo)Corrispondenza esatta/suff‐ Specifica il nome host che deve essere abbinato alla richiesta in arrivo per il routing al servizio virtuale di destinazione.

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

        Importante

        Non puoi specificare/aws.app-mesh*oaws.appmeshper ilNome servizio. Questi nomi di servizio sono riservati per il future utilizzo interno di App Mesh.

      • (Opzionale)Metadati‐ Specifica i metadati pergrPC. Dovrebbe corrispondere alla richiesta in arrivo da indirizzare al servizio virtuale di destinazione.

  12. (Opzionale) PerRiscriviConfigurazione:

    • Sehttp://http2è il tipo selezionato:

      • SePrefixè il tipo di partita selezionato:

        • Ignora la riscrittura automatica del nome host‐ Per impostazione predefinita, il nome host viene riscritto con il nome del servizio virtuale di destinazione.

        • Ignora la riscrittura automatica del prefisso‐ Quando è attivata,Riscrittura del prefissospecifica il valore del prefisso riscritto.

      • SePercorso esattoè il tipo di partita selezionato:

        • Ignora la riscrittura automatica del nome host‐ per impostazione predefinita, il nome host viene riscritto con il nome del servizio virtuale di destinazione.

        • Riscrittura del path‐ Specifica il valore del percorso riscritto. Nessun percorso predefinito.

      • SePercorso regexè il tipo di partita selezionato:

        • Ignora la riscrittura automatica del nome host‐ per impostazione predefinita, il nome host viene riscritto con il nome del servizio virtuale di destinazione.

        • Riscrittura del path‐ Specifica il valore del percorso riscritto. Nessun percorso predefinito.

    • SegrPCè il tipo selezionato:

      • Ignora la riscrittura automatica del nome host‐ Per impostazione predefinita, il nome host viene riscritto con il nome del servizio virtuale di destinazione.

  13. ScegliCrea route gatewayper finire.

AWS CLI

Per creare una route gateway utilizzando la route gatewayAWS CLI.

Crea un percorso gateway utilizzando il seguente comando e inserisci JSON (sostituisci ilrossovalori 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 dellaesempio 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 CLIper App Mesh, vedere lacreate-gateway-routecomando nelAWS CLIriferimento.

Eliminazione di una route gateway gateway

AWS Management Console

Per eliminare una route gateway mediante la route gateway mediante laAWS Management Console

  1. Apri la console App Mesh all'indirizzohttps://console.aws.amazon.com/appmesh/.

  2. Scegli la mesh da cui si desidera eliminare una route gateway. Tutte le mesh che possiedi e che sono statecondivisocon te sono elencati.

  3. ScegliGateway virtualinel menu di navigazione a sinistra.

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

  5. NelPercorsi gatewaytabella, scegli il percorso del gateway che desideri eliminare e selezionaElimina. Puoi eliminare un percorso gateway solo se il tuo account è elencato comeProprietà della risorsa.

  6. Nella casella di conferma, digitare:deletee quindi fare clic suElimina.

AWS CLI

Per eliminare una route gateway mediante la route gateway mediante laAWS CLI

  1. Utilizza il comando seguente per eliminare la route gateway (sostituisci larossovalori 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 CLIper App Mesh, vedere ladelete-gateway-routecomando nelAWS CLIriferimento.