Servizi virtuali - 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à.

Servizi 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 servizio virtuale è un'astrazione di un servizio reale fornita direttamente o indirettamente da un nodo virtuale mediante un router virtuale. I servizi dipendenti chiamano il servizio virtuale mediante il relativo virtualServiceName e tali richieste vengono instradate al nodo virtuale o al router virtuale specificato come provider per il servizio virtuale.

Creazione di un servizio virtuale

AWS Management Console
Per creare un servizio virtuale utilizzando AWS Management Console
  1. Apri la console App Mesh all'indirizzo https://console.aws.amazon.com/appmesh/.

  2. Scegli la mesh in cui desideri creare il servizio virtuale. Vengono elencate tutte le mesh che possiedi e che sono state condivise con te.

  3. Nel riquadro di navigazione sinistro, scegliere Virtual services (Servizi virtuali).

  4. Scegliere Create virtual service (Crea servizio virtuale).

  5. In Virtual service name (Nome servizio virtuale), scegliere un nome per il servizio virtuale. Puoi scegliere qualsiasi nome, ma per facilitare la correlazione tra i servizi virtuali e i servizi reali a cui ti rivolgi è consigliato il nome di individuazione del servizio reale a cui ti rivolgimy-service.default.svc.cluster.local, ad esempio. In questo modo non è necessario modificare il codice per fare riferimento a un nome diverso da quello a cui fa attualmente riferimento il codice. Il nome specificato deve essere risolto in un indirizzo IP non di loopback perché il contenitore dell'app deve essere in grado di risolvere correttamente il nome prima che la richiesta venga inviata al proxy Envoy. È possibile utilizzare qualsiasi indirizzo IP non di loopback perché né l'app né i contenitori proxy comunicano con questo indirizzo IP. Il proxy comunica con altri servizi virtuali tramite i nomi che hai configurato per essi in App Mesh, non tramite gli indirizzi IP a cui i nomi si riferiscono.

  6. Per Provider, scegliere il tipo di provider per il servizio virtuale:

    • Se si desidera che il servizio virtuale distribuisca il traffico su più nodi virtuali, selezionare Virtual router (Router virtuale) e quindi scegliere il router virtuale da utilizzare dal menu a discesa.

    • Se desideri che il servizio virtuale raggiunga un nodo virtuale direttamente senza un router virtuale, seleziona Nodo virtuale, quindi scegli il nodo virtuale da utilizzare dal menu a discesa.

      Nota

      App Mesh può creare automaticamente una policy Envoy route rettry predefinita per ogni provider di nodi virtuali che definisci a partire dal 29 luglio 2020, anche se non puoi definire tale policy tramite App Mesh. API Per ulteriori informazioni, consulta Politica predefinita per i nuovi tentativi di routing.

    • Se al momento non si desidera che il servizio virtuale instradi il traffico (ad esempio, se il router virtuale o i nodi virtuali non esistono ancora), scegliere None (Nessuno). È possibile aggiornare il provider per questo servizio virtuale in un secondo momento.

  7. Scegliere Create virtual service (Crea servizio virtuale) per terminare.

AWS CLI

Per creare un servizio virtuale utilizzando. AWS CLI

Creare un servizio virtuale con un provider di nodi virtuali utilizzando il seguente comando e un JSON file di input (sostituire il red valori con i tuoi):

  1. aws appmesh create-virtual-service \ --cli-input-json file://create-virtual-service-virtual-node.json
  2. Contenuto dell'esempio create-virtual-service-virtual -node.json:

    { "meshName": "meshName", "spec": { "provider": { "virtualNode": { "virtualNodeName": "nodeName" } } }, "virtualServiceName": "serviceA.svc.cluster.local" }
  3. Output di esempio:

    { "virtualService": { "meshName": "meshName", "metadata": { "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualService/serviceA.svc.cluster.local", "createdAt": "2022-04-06T09:45:35.890000-05:00", "lastUpdatedAt": "2022-04-06T09:45:35.890000-05:00", "meshOwner": "123456789012", "resourceOwner": "210987654321", "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 1 }, "spec": { "provider": { "virtualNode": { "virtualNodeName": "nodeName" } } }, "status": { "status": "ACTIVE" }, "virtualServiceName": "serviceA.svc.cluster.local" } }

Per ulteriori informazioni sulla creazione di un servizio virtuale con AWS CLI for App Mesh, vedere il create-virtual-servicecomando nel AWS CLI riferimento.

Eliminazione di un servizio virtuale

Nota

Non è possibile eliminare un servizio virtuale a cui fa riferimento una route gateway. È necessario prima eliminare la route del gateway.

AWS Management Console
Per eliminare un servizio virtuale utilizzando AWS Management Console
  1. Apri la console App Mesh all'indirizzo https://console.aws.amazon.com/appmesh/.

  2. Scegli la mesh da cui desideri eliminare un servizio virtuale. Vengono elencate tutte le mesh che possiedi e che sono state condivise con te.

  3. Nel riquadro di navigazione sinistro, scegliere Virtual services (Servizi virtuali).

  4. Scegli il servizio virtuale che desideri eliminare e fai clic su Elimina nell'angolo in alto a destra. Puoi eliminare solo un gateway virtuale in cui il tuo account è elencato come proprietario della risorsa.

  5. Nella casella di conferma, digita delete e quindi fai clic su Elimina.

AWS CLI
Per eliminare un servizio virtuale utilizzando il AWS CLI
  1. Usa il seguente comando per eliminare il tuo servizio virtuale (sostituisci il red valori (con i tuoi):

    aws appmesh delete-virtual-service \ --mesh-name meshName \ --virtual-service-name serviceA.svc.cluster.local
  2. Output di esempio:

    { "virtualService": { "meshName": "meshName", "metadata": { "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualService/serviceA.svc.cluster.local", "createdAt": "2022-04-06T09:45:35.890000-05:00", "lastUpdatedAt": "2022-04-07T10:39:42.772000-05:00", "meshOwner": "123456789012", "resourceOwner": "210987654321", "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 2 }, "spec": { "provider": { "virtualNode": { "virtualNodeName": "nodeName" } } }, "status": { "status": "DELETED" }, "virtualServiceName": "serviceA.svc.cluster.local" } }

Per ulteriori informazioni sull'eliminazione di un servizio virtuale con AWS CLI for App Mesh, vedere il delete-virtual-servicecomando nel AWS CLI riferimento.