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à.
Cosa è AWS App Mesh?
AWS App Meshè un mesh di servizio che facilita il monitoraggio e il controllo dei servizi. Una service mesh è un livello di infrastruttura dedicato alla gestione delle service-to-service comunicazioni, in genere tramite una serie di proxy di rete leggeri distribuiti insieme al codice dell'applicazione. App Mesh di App azione di App azione di comunicazione tra i servizi, offrendo end-to-end visibilità e contribuendo a garantire elevata disponibilità per le applicazioni. App Mesh offre visibilità coerente e controlli del traffico di rete per ogni servizio in un'applicazione.
Aggiungere App Mesh a un'applicazione di esempio
Considera la seguente semplice applicazione di esempio che non utilizza App Mesh. I due servizi possono essere eseguiti su Amazon Elastic Container Intainer Intainer Service (Amazon EKS)AWS Fargate, Kubernetes su istanze Amazon Elastic Compute Cloud (Amazon EKS), Kubernetes su istanze Amazon Elastic Compute Cloud (Amazon EKS), Kubernetes su istanze Amazon Elastic Compute Cloud (Amazon EKS), Kubernetes su istanze Amazon Elastic Compute Cloud (Amazon EKS), Kubernetes su istanze Amazon Elastic Compute Cloud (Amazon EKS
![](images/simple-app-diagram.png)
In questa illustrazione, entrambiserviceA
serviceB
sono individuabili tramite ilapps.local
namespace. Supponiamo, ad esempio, che tu decida di distribuire una nuova versione diserviceb.apps.local
namedservicebv2.apps.local
. Successivamente, desideri indirizzare una percentuale del traffico daservicea.apps.local
aserviceb.apps.local
e una percentuale versoservicebv2.apps.local
. Quando sei sicuro cheservicebv2
stia funzionando bene, vuoi inviargli il 100 percento del traffico.
App Mesh può aiutarti a farlo senza modificare il codice dell'applicazione o i nomi dei servizi registrati. Se usi App Mesh con questa applicazione di esempio, la tua mesh potrebbe assomigliare alla seguente illustrazione.
![](images/simple-app-with-mesh-diagram.png)
In questa configurazione, i servizi non comunicano più direttamente tra loro. Invece, comunicano tra loro tramite un proxy. Il proxy distribuito con ilservicea.apps.local
servizio legge la configurazione App Mesh e invia il traffico versoserviceb.apps.local
o inservicebv2.apps.local
base alla configurazione.
Componenti di App Mesh
App Mesh è composta dai seguenti componenti, illustrazione dell'esempio precedente:
-
Service azione di servizio: una mesh dei servizi è un limite logico per il traffico di rete tra i servizi che si trovano al suo interno. Nell'esempio, la rete è denominata
apps
e contiene tutte le altre risorse per la mesh. Per ulteriori informazioni, consulta Resh di servizio. -
Servizi virtuali: un servizio virtuale è un'astrazione di un servizio effettivo fornita direttamente o indirettamente da un nodo virtuale, direttamente o indirettamente, tramite un router virtuale. Nell'illustrazione, due servizi virtuali rappresentano i due servizi effettivi. I nomi dei servizi virtuali sono i nomi individuabili dei servizi effettivi. Quando un servizio virtuale e un servizio effettivo hanno lo stesso nome, più servizi possono comunicare tra loro utilizzando gli stessi nomi utilizzati prima dell'implementazione di App Mesh. Per ulteriori informazioni, consulta Servizi virtuali.
-
Nodi virtuali: un nodo virtuale agisce come un puntatore logico a un servizio rilevabile, ad esempio un servizio Amazon ECS o Kubernetes. Per ogni servizio virtuale, avrai almeno un nodo virtuale. Nell'illustrazione, il servizio
servicea.apps.local
virtuale ottiene le informazioni di configurazione per il nodo virtuale denominatoserviceA
. Il nodoserviceA
virtuale è configurato con ilservicea.apps.local
nome per l'individuazione del servizio. Il servizioserviceb.apps.local
virtuale è configurato per indirizzare il traffico verso i nodiserviceBv2
virtualiserviceB
e attraverso un router virtuale denominatoserviceB
. Per ulteriori informazioni, consulta Nodi virtuali. -
Router e percorsi virtuali: i router virtuali gestiscono il traffico per uno o più servizi virtuali all'interno della mesh. 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. Nell'illustrazione precedente, il router
serviceB
virtuale ha un percorso che indirizza una percentuale di traffico verso il nodoserviceB
virtuale e una percentuale di traffico verso il nodoserviceBv2
virtuale. Puoi impostare la percentuale di traffico indirizzato a un particolare nodo virtuale e modificarla nel tempo. È possibile indirizzare il traffico in base a criteri quali intestazioni HTTP, percorsi URL o nomi di servizi e metodi gRPC. È possibile configurare i criteri di ripetizione per riprovare una connessione in caso di errore nella risposta. Ad esempio, nell'illustrazione, la politica di ripetizione del percorso può specificare che una connessione aserviceb.apps.local
venga ritentata cinque volte, con dieci secondi tra i tentativi, seserviceb.apps.local
restituisce tipi di errori specifici. Per ulteriori informazioni, consultare Router virtuali e Route. -
Proxy: configuri i tuoi servizi per utilizzare il proxy dopo aver creato la mesh e le relative risorse. Il proxy legge la configurazione di App Mesh e indirizza il traffico in modo appropriato. Nell'illustrazione, tutte le comunicazioni da
servicea.apps.local
aserviceb.apps.local
passano attraverso il proxy distribuito con ciascun servizio. I servizi comunicano tra loro utilizzando gli stessi nomi di ricerca dei servizi utilizzati prima di introdurre App Mesh. Poiché il proxy legge la configurazione App Mesh, puoi controllare come i due servizi comunicano tra loro. Quando si desidera modificare la configurazione di App Mesh, non è necessario modificare o ridistribuire i servizi stessi o i proxy. Per ulteriori informazioni, consulta Immagine dell'inviato.
Come iniziare
Per utilizzare App Mesh devi avere un servizio esistente in esecuzione suAWS Fargate Amazon ECS, Amazon EKS, Kubernetes su Amazon EC2 o Amazon EC2 con Docker.
Per iniziare a usare App Mesh, consulta una delle seguenti guide:
Accesso a App Mesh
Puoi utilizzare App Mesh nei modi seguenti:
- AWS Management Console
-
La console è un'interfaccia basata sul browser che può essere utilizzata per gestire le risorse di App Mesh. Puoi aprire la console App Mesh all'indirizzo https://console.aws.amazon.com/appmesh/
. - AWS CLI
-
Fornisce comandi per un ampio kit di prodotti AWS ed è supportata su Windows, Mac e Linux. Per iniziare, consulta la Guida per l'utente di AWS Command Line Interface. Per ulteriori informazioni sui comandi per App esh, consulazione di appesh nella Documentazione di riferimento per iAWS CLI comandi.
- AWS Tools for Windows PowerShell
-
Fornisce comandi per un ampio kit diAWS prodotti per coloro che eseguono script nell' PowerShell ambiente. Per iniziare, consulta la AWS Tools for Windows PowerShellGuida per l'utente di . Per ulteriori informazioni sui cmdlet per App Mesh, vedere App Mesh in AWSTools for PowerShell Cmdlet Reference.
- AWS CloudFormation
-
Consente di creare un modello che descrive tutte leAWS risorse desiderate. Utilizzando il modello,AWS CloudFormation fornisce e configura le risorse per te. Per iniziare, consulta la (Guida per l'utente di AWS CloudFormation. Per ulteriori informazioni sui tipi di risorse App Mesh, consulta App Mesh Resource Type Reference nel AWS CloudFormationTemplate Reference.
- SDK AWS
-
Forniamo anche degli SDK che consentono di accedere a App Mesh da una varietà di linguaggi di programmazione. Gli SDK si occupano automaticamente di attività come:
Firma crittografica delle richieste di servizio
Nuovi tentativi di richiesta
Gestione delle risposte di errore
Per ulteriori informazioni sugli SDK disponibili, consultare Strumenti per Amazon Web Services
. Per ulteriori informazioni sulle API di App Mesh, consulazione di riferimento dell'AWS App MeshAPI di riferimento.