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à.
Nodi virtuali
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 del blog Migrazione da AWS App Mesh ad Amazon ECS Service Connect
Un nodo virtuale funge da puntatore logico a un particolare gruppo di attività, come un ECS servizio Amazon o una distribuzione Kubernetes. Quando crei un nodo virtuale, devi specificare un metodo di rilevamento dei servizi 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'ECSattività Amazon o nelle specifiche del pod Kubernetes. Ad esempio, il valore potrebbe essere. arn:aws:appmesh:
Questo è quindi mappato ai parametri Envoy us-west-2
:111122223333
:mesh/myMesh
/virtualNode/myVirtualNode
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
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
- AWS Management Console
-
Per creare un nodo virtuale utilizzando il AWS Management Console
-
Apri la console App Mesh all'indirizzo https://console.aws.amazon.com/appmesh/
. -
Scegli la mesh in cui vuoi creare il nodo virtuale. Sono elencate tutte le mesh che possiedi e che sono state condivise con te.
-
Scegliere Virtual nodes (Nodi virtuali) nel riquadro di navigazione sinistro.
-
Scegli Crea nodo virtuale e quindi specifica le impostazioni per il tuo nodo virtuale.
-
Per Nome del nodo virtuale, inserisci un nome per il tuo nodo virtuale.
-
Per il metodo di individuazione del servizio, scegli una delle seguenti opzioni:
-
DNS— Specificare il DNSnome host del servizio effettivo rappresentato dal nodo virtuale. Il proxy Envoy è distribuito in Amazon. VPC Il proxy invia le richieste di risoluzione dei nomi al DNS server configurato per. VPC Se il nome host viene risolto, il DNS server restituisce uno o più indirizzi IP. Per ulteriori informazioni sulle VPC DNS impostazioni, vedi Utilizzo con DNS il tuo. VPC Per il tipo di DNS risposta (opzionale), specifica i tipi di endpoint restituiti dal DNS resolver. Load Balancer significa che il DNS resolver restituisce un set di endpoint con carico bilanciato. Endpoints significa che il resolver sta restituendo tutti gli DNS 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 un namespace esistenti. HTTP Facoltativamente, puoi anche specificare gli attributi che App Mesh può AWS Cloud Map richiedere selezionando Aggiungi riga e specificando una chiave e un valore. Vengono restituite solo le istanze che corrispondono a tutte le coppie chiave/valore specificate. Per poter essere utilizzato AWS Cloud Map, l'account deve avere il ruolo collegato al
AWSServiceRoleForAppMesh
servizio. Per ulteriori informazioni in merito AWS Cloud Map, consulta la Guida per gli AWS Cloud Map sviluppatori. -
Nessuno: seleziona se il tuo nodo virtuale non prevede traffico in entrata.
-
-
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 diverse 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 DNS resolver di Envoy preferisce
IPv6
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
-
IPv6preferito
-
Il DNS risolutore dell'inviato preferisce
IPv6
e ricade su.IPv4
-
L'
IPv6
indirizzo restituito da AWS Cloud Map viene utilizzato se disponibile e si torna a utilizzare l'indirizzoIPv4
-
L'endpoint creato per l'app locale utilizza un
IPv6
indirizzo. -
Gli ascoltatori di Envoy si collegano a tutti gli indirizzi.
IPv4
IPv6
-
IPv4preferito
-
Il DNS risolutore dell'inviato preferisce
IPv4
e ricade su.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
-
IPv6solo
-
Il DNS resolver di Envoy utilizza solo.
IPv6
-
Viene utilizzato solo l'
IPv6
indirizzo restituito da. AWS Cloud Map Se AWS Cloud Map restituisce unIPv4
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
-
IPv4solo
-
Il DNS resolver di Envoy utilizza solo.
IPv4
-
Viene utilizzato solo l'
IPv4
indirizzo restituito da. AWS Cloud Map Se AWS Cloud Map restituisce unIPv6
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
-
(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. Route Se aggiorni un nodo virtuale esistente che serve traffico conTLS, c'è la possibilità che i proxy Envoy del client downstream ricevano il contesto di TLS convalida prima che il proxy Envoy per il nodo virtuale che hai aggiornato riceva il certificato. Ciò può causare errori di negoziazione sui proxy Envoy a valle. TLS
-
L'autorizzazione proxy 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 solo di TLS 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 applicata per tutte le porte.
-
Per Metodo di convalida, selezionare una delle seguenti opzioni. Il certificato specificato deve già esistere e soddisfare requisiti specifici. Per ulteriori informazioni, consulta Requisiti del certificato.
-
AWS Private Certificate Authorityhosting: seleziona uno o più certificati esistenti. Per una descrizione completa e end-to-end dettagliata della distribuzione di una mesh con un'applicazione di esempio che utilizza la crittografia con un ACM certificato, consulta Configurazione TLS con AWS Certificate Manager attivo
. GitHub -
Hosting Envoy Secret Discovery Service (SDS): inserisci il nome del server segreto che Envoy recupererà utilizzando il Secret Discovery Service.
-
Hosting locale di file: 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, vedi Configurazione TLS con
certificati forniti dai file. end-to-end TLS GitHub
-
-
(Facoltativo) Inserite un nome alternativo per il soggetto. Per aggiungerne altriSANs, seleziona Aggiungi SAN. SANsdeve essere FQDN o URI formattato.
-
(Facoltativo) Seleziona Fornisci certificato client e una delle opzioni seguenti per fornire un certificato client quando un server lo richiede e abilitare TLS l'autenticazione reciproca. Per ulteriori informazioni sulla mutuaTLS, consulta i documenti di TLSautenticazione reciproca App Mesh.
-
Hosting di Envoy Secret Discovery Service (SDS): inserisci il nome del server segreto che Envoy recupererà utilizzando il Secret Discovery Service.
-
Hosting locale di file: specifica il percorso del file della catena di certificati, nonché la chiave privata, sul file system in cui è distribuito Envoy.
-
-
(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 TLS impostazioni uniche per un backend, seleziona le TLSimpostazioni e quindi seleziona Ignora i valori predefiniti.
-
(Facoltativo) Seleziona Enforce TLS se desideri richiedere che il nodo virtuale comunichi con tutti i backend utilizzando. TLS
-
(Facoltativo) Se desideri richiedere l'uso solo di TLS 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 applicata per tutte le porte.
-
Per Metodo di convalida, selezionare una delle seguenti opzioni. Il certificato specificato deve già esistere e soddisfare requisiti specifici. Per ulteriori informazioni, consulta Requisiti del certificato.
-
AWS Private Certificate Authorityhosting: seleziona uno o più certificati esistenti.
-
Hosting di Envoy Secret Discovery Service (SDS): inserisci il nome dell'Envoy segreto che Envoy recupererà utilizzando il Secret Discovery Service.
-
Hosting locale di file: 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 altriSANs, seleziona Aggiungi SAN. SANsdeve essere FQDN o URI formattato.
-
(Facoltativo) Seleziona Fornisci certificato client e una delle opzioni seguenti per fornire un certificato client quando un server lo richiede e abilitare TLS l'autenticazione reciproca. Per ulteriori informazioni sulla mutuaTLS, consulta i documenti di TLSautenticazione reciproca App Mesh.
-
Hosting di Envoy Secret Discovery Service (SDS): inserisci il nome del server segreto che Envoy recupererà utilizzando il Secret Discovery Service.
-
Hosting locale di file: 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.
-
-
(Facoltativo) Registrazione
Per configurare la registrazione, inserisci il percorso dei registri di HTTP accesso che desideri 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. CloudWatchNota
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.
-
Configurazione del listener
Supporto
HTTP
per gli ascoltatori eHTTP/2
GRPC
TCP
protocolli.HTTPS
non è supportato.-
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.
(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 portMapping protocolli connectionPool e devono essere gli stessi. Se il protocollo del listener è tcp, specifica maxConnections solo. Se il protocollo del listener è grpc o http2, specifica solo. maxRequests Se il protocollo del listener è http, puoi specificare entrambi e. maxConnections maxPendingRequests
-
Per Numero massimo di connessioni, specifica 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
.
-
(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 dei due AWS Cloud Map o DNS con il campo del tipo di risposta impostato su.
ENDPOINTS
Se si utilizza il metodo di rilevamento dei DNS servizi con tipo di risposta asLOADBALANCER
, 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.
-
(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 all'GRPCHealth 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
ohttp2
. 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.
-
(Facoltativo) Abilita TLS la terminazione: configura il modo in cui altri nodi virtuali comunicano con questo nodo virtuale utilizzando. TLS
-
Per Modalità, seleziona la modalità per cui TLS desideri essere configurato sul listener.
-
Per Metodo Certificate, selezionate una delle seguenti opzioni. Il certificato deve soddisfare requisiti specifici. Per ulteriori informazioni, consulta Requisiti del certificato.
-
AWS Certificate Manager hosting: seleziona un certificato esistente.
-
Hosting di 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, 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'TLSautenticazione reciproca quando un client fornisce un certificato. Per ulteriori informazioni sulla mutuaTLS, consulta i documenti di TLSautenticazione reciproca App Mesh.
-
Hosting di Envoy Secret Discovery Service (SDS): inserisci il nome del server segreto che Envoy recupererà utilizzando il Secret Discovery Service.
-
Hosting locale di file: 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 altriSANs, seleziona Aggiungi SAN. SANsdeve essere FQDN o URI formattato.
-
(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.
-
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.
-
-
-
Scegli Crea nodo virtuale per terminare.
-
- AWS CLI
-
Per creare un nodo virtuale utilizzando AWS CLI.
Crea un nodo virtuale da utilizzare DNS per l'individuazione dei servizi utilizzando il seguente comando e un JSON file di input (sostituisci il
red
valori con i tuoi):-
aws appmesh create-virtual-node \ --cli-input-json file://
create-virtual-node-dns
.json -
Contenuto dell'esempio create-virtual-node-dns .json:
{ "meshName": "meshName", "spec": { "listeners": [ { "portMapping": { "port": 80, "protocol": "http" } } ], "serviceDiscovery": { "dns": { "hostname": "serviceBv1.svc.cluster.local" } } }, "virtualNodeName": "nodeName" }
-
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-nodecomando nel AWS CLI riferimento.
-
Eliminazione di un nodo virtuale
Nota
Non è possibile eliminare un nodo virtuale se è specificato come destinazione in qualsiasi route o come provider in qualsiasi servizio virtuale.
- AWS Management Console
-
Per eliminare un nodo virtuale utilizzando il AWS Management Console
-
Apri la console App Mesh all'indirizzo https://console.aws.amazon.com/appmesh/
. -
Scegli la mesh da cui vuoi eliminare un nodo virtuale. Sono elencate tutte le mesh che possiedi e che sono state condivise con te.
-
Scegliere Virtual nodes (Nodi virtuali) nel riquadro di navigazione sinistro.
-
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.
-
Nella casella di conferma, digita
delete
e seleziona Elimina.
-
- AWS CLI
-
Per eliminare un nodo virtuale utilizzando il AWS CLI
-
Usa il seguente comando per eliminare il tuo nodo virtuale (sostituisci il
red
valori con i tuoi):aws appmesh delete-virtual-node \ --mesh-name
meshName
\ --virtual-node-namenodeName
-
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-nodecomando nel AWS CLI riferimento.
-