Cosa è AWS App Mesh? - 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à.

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

In questa illustrazione, entrambiserviceAserviceB 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.

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 è denominataapps 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 servizioservicea.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 routerserviceB 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 daservicea.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.