Che cos'è 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à.

Che cos'è AWS App Mesh?

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 di blog Migrazione AWS App Mesh da Amazon ECS Service Connect.

AWS App Mesh è una service mesh che semplifica il monitoraggio e il controllo dei servizi. Una service mesh è un livello di infrastruttura dedicato alla gestione delle service-to-service comunicazioni, in genere attraverso una serie di proxy di rete leggeri distribuiti insieme al codice dell'applicazione. App Mesh standardizza il modo in cui i tuoi servizi comunicano, offrendoti end-to-end visibilità e contribuendo a garantire un'elevata disponibilità per le tue 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

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 di blog Migrazione AWS App Mesh da Amazon ECS Service Connect.

Considera il seguente semplice esempio di applicazione che non utilizza App Mesh. I due servizi possono essere eseguiti su Amazon Elastic Container Service (Amazon ECS) AWS Fargate, Amazon Elastic Kubernetes Service (Amazon EKS), Kubernetes su istanze Amazon Elastic Compute Cloud (Amazon) o su istanze Amazon con Docker. EC2 EC2

Diagram showing client service connecting to servicea.apps.local, which connects to serviceb.apps.local.

In questa illustrazione, entrambi sono individuabili tramite il namespace. serviceA serviceB apps.local Supponiamo, ad esempio, che tu decida di distribuire una nuova versione di named. serviceb.apps.local servicebv2.apps.local Successivamente, desideri indirizzare una percentuale del traffico da servicea.apps.local a serviceb.apps.local e una percentuale versoservicebv2.apps.local. Quando sei sicuro che servicebv2 stia funzionando bene, vuoi inviare ad esso il 100% del traffico.

App Mesh può aiutarti a farlo senza modificare il codice dell'applicazione o i nomi dei servizi registrati. Se si utilizza App Mesh con questa applicazione di esempio, la mesh potrebbe avere l'aspetto seguente.

Diagram showing App Mesh architecture with virtual services, nodes, and router in a mesh network.

In questa configurazione, i servizi non comunicano più direttamente tra loro. Al contrario, comunicano tra loro tramite un proxy. Il proxy distribuito con il servicea.apps.local servizio legge la configurazione App Mesh e invia il traffico verso serviceb.apps.local o in servicebv2.apps.local base alla configurazione.

Componenti di App Mesh

App Mesh è composta dai seguenti componenti, illustrati nell'esempio precedente:

  • Service Mesh: una service mesh è un confine logico per il traffico di rete tra i servizi che risiedono al suo interno. Nell'esempio, la mesh ha un nome apps e contiene tutte le altre risorse per la mesh. Per ulteriori informazioni, consulta Reti di servizio.

  • Servizi virtuali: un servizio virtuale è un'astrazione di un servizio effettivo fornito 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 che usavano prima dell'implementazione di App Mesh. Per ulteriori informazioni, consulta Servizi virtuali.

  • Nodi virtuali: un nodo virtuale funge da puntatore logico a un servizio individuabile, come un servizio Amazon ECS o Kubernetes. Per ogni servizio virtuale, avrai almeno un nodo virtuale. Nell'illustrazione, il servizio servicea.apps.local virtuale ottiene informazioni di configurazione per il nodo virtuale denominatoserviceA. Il nodo serviceA virtuale è configurato con il servicea.apps.local nome per l'individuazione del servizio. Il servizio serviceb.apps.local virtuale è configurato per instradare il serviceB traffico verso i nodi serviceBv2 virtuali tramite 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 rete 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. Nella figura precedente, il router serviceB virtuale ha un percorso che indirizza una percentuale di traffico verso il nodo serviceB virtuale e una percentuale di traffico verso il nodo serviceBv2 virtuale. È possibile 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 le politiche di ripetizione dei tentativi per riprovare una connessione in caso di errore nella risposta. Ad esempio, nell'illustrazione, la politica di nuovo tentativo per la route può specificare che una connessione a serviceb.apps.local venga ritentata cinque volte, con dieci secondi tra un tentativo e l'altro, se serviceb.apps.local restituisce tipi di errori specifici. Per ulteriori informazioni, consulta Router virtuali e Route.

  • Proxy: i servizi vengono configurati per utilizzare il proxy dopo aver creato la mesh e le relative risorse. Il proxy legge la configurazione dell'App Mesh e indirizza il traffico in modo appropriato. Nell'illustrazione, tutte le comunicazioni da servicea.apps.local a serviceb.apps.local passano attraverso il proxy distribuito con ciascun servizio. I servizi comunicano tra loro utilizzando gli stessi nomi di rilevamento dei servizi utilizzati prima dell'introduzione di App Mesh. Poiché il proxy legge la configurazione App Mesh, puoi controllare il modo in cui i due servizi comunicano tra loro. Quando si desidera modificare la configurazione dell'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 su Amazon ECS AWS Fargate, Amazon EKS, Kubernetes su Amazon o Amazon EC2 con EC2 Docker.

Per iniziare a usare App Mesh, consulta una delle seguenti guide:

Accesso ad App Mesh

Puoi lavorare con App Mesh nei seguenti modi:

AWS Management Console

La console è un'interfaccia basata su browser che puoi utilizzare per gestire le risorse App Mesh. Puoi aprire la console App Mesh all'indirizzo https://console.aws.amazon.com/appmesh/.

AWS CLI

Fornisce comandi per un'ampia gamma di AWS prodotti ed è supportato 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 Mesh, consulta appmesh nel AWS CLI Command Reference.

AWS Tools for Windows PowerShell

Fornisce comandi per un'ampia gamma di AWS prodotti per chi utilizza script nell' PowerShell ambiente. Per iniziare, consulta la AWS Tools for Windows PowerShell Guida per l'utente di . Per ulteriori informazioni sui cmdlet per App Mesh, vedere App Mesh nella Guida di riferimento AWS agli strumenti per i PowerShell cmdlet.

AWS CloudFormation

Consente di creare un modello che descrive tutte le AWS risorse desiderate. Utilizzando il modello, AWS CloudFormation predispone e configura le risorse al posto tuo. 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 CloudFormation Template Reference.

AWS SDKs

Forniamo inoltre SDKs la possibilità di accedere ad App Mesh da una varietà di linguaggi di programmazione. Si occupano SDKs automaticamente di attività come:

  • Firma crittografica delle richieste di servizio

  • Nuovi tentativi di richiesta

  • Gestione delle risposte di errore

Per ulteriori informazioni su available SDKs, consulta Tools for Amazon Web Services.

Per ulteriori informazioni sull'App Mesh APIs, consulta l'AWS App Mesh API Reference.