Un gruppo di istanze non gestite è una raccolta di istanze di macchine virtuali (VM) che risiedono in un singolo progetto, zona, rete VPC e subnet. Un gruppo di istanze non gestite è utile per raggruppare le VM che richiedono impostazioni di configurazione o ottimizzazione individuali. Puoi utilizzare un gruppo di istanze non gestite nel servizio di backend di un bilanciatore del carico.
Per le VM che richiedono impostazioni di configurazione coerenti, puoi utilizzare un gruppo di istanze gestite basato su un modello di istanza. Ove possibile, valuta la possibilità di utilizzare gruppi di istanze gestite anziché gruppi non gestiti. Per creare un gruppo di istanze gestite, consulta Creare un gruppo di istanze gestite.
Puoi aggiungere entrambi i tipi di gruppo di istanze come backend a un bilanciatore del carico Google Cloud. Per ulteriori informazioni, consulta la panoramica di Cloud Load Balancing. Per il numero di VM per gruppo di istanze supportate da Cloud Load Balancing, vedi VM per gruppo di istanze.
Per saperne di più sui gruppi di istanze, consulta Panoramica dei gruppi di istanze.
Prima di iniziare
- Leggi ulteriori informazioni sulla differenza tra gruppi di istanze gestite e non gestite.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è il processo mediante il quale viene verificata l'identità per l'accesso ai servizi e alle API Google Cloud.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti in Compute Engine nel seguente modo.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Installa Google Cloud CLI, quindi initialize eseguendo questo comando:
gcloud init
- Set a default region and zone.
- Nella console Google Cloud, vai alla pagina Gruppi di istanze.
- Fai clic su Crea gruppo di istanze.
- Fai clic su Nuovo gruppo di istanze non gestite.
- Inserisci un nome per il gruppo di istanze non gestite.
- In Località, seleziona una regione e una zona.
- Seleziona una rete e una Subnet.
- In Istanze VM, seleziona le VM da aggiungere al gruppo.
- Fai clic su Crea.
instance-group-name
: il nome del gruppo che vuoi creare.zone
: la zona in cui vuoi creare il gruppo.instance-group-name
: il nome del gruppo che vuoi creare.zone
: la zona in cui vuoi creare il gruppo.project-id
: l'ID del progetto che contiene il gruppo.instance-group-name
: il nome del gruppo da descrivere.zone
: la zona del gruppo.instance-group-name
: il nome del gruppo da descrivere.zone
: la zona del gruppo.project-id
: l'ID del progetto che contiene il gruppo.- Nella console Google Cloud, vai alla pagina Gruppi di istanze.
- Seleziona dall'elenco uno o più gruppi di istanze non gestite.
- Fai clic su Elimina per rimuovere i gruppi. I gruppi vengono rimossi, ma le VM nei gruppi non vengono eliminate.
instance-group-name
: il nome del gruppo che vuoi eliminare.zone
: la zona del gruppo.instance-group-name
: il nome del gruppo che vuoi eliminare.zone
: la zona del gruppo.project-id
: l'ID del progetto che contiene il gruppo.- Nella console Google Cloud, vai alla pagina Gruppi di istanze.
- Nella colonna Nome dell'elenco, fai clic sul nome del gruppo di istanze a cui vuoi aggiungere le VM. Si apre una pagina con le proprietà del gruppo di istanze e un elenco di VM che fanno già parte del gruppo.
- Fai clic su Modifica per modificare questo gruppo di istanze non gestite.
- In Istanze VM, seleziona una o più VM esistenti da aggiungere al gruppo. Puoi selezionare solo VM nella stessa zona, nella stessa rete VPC e nella stessa subnet delle VM esistenti.
- Fai clic su Salva per aggiungere le nuove VM al gruppo.
instance-group-name
: il nome del gruppo a cui vuoi aggiungere delle VM.zone
: la zona del gruppo.list-of-VM-names
: un elenco delimitato da virgole di VM nella stessa zona, nella stessa rete VPC e nella stessa subnet.instance-group-name
: il nome del gruppo a cui vuoi aggiungere delle VM.zone
: la zona del gruppo.project-id
: l'ID del progetto che contiene il gruppo.instance-1-name
einstance-2-name
: sono i nomi delle VM che vuoi aggiungere al gruppo nella stessa zona, nella stessa rete VPC e nella stessa subnet.- Nella console Google Cloud, vai alla pagina Gruppi di istanze.
- Nella colonna Nome dell'elenco, fai clic sul nome del gruppo di istanze non gestite che vuoi visualizzare. Viene visualizzata una pagina con l'elenco delle istanze incluse nel gruppo.
instance-group-name
: il nome del gruppo di cui vuoi elencare i membri.zone
: la zona del gruppo.instance-group-name
: il nome del gruppo di cui vuoi elencare i membri.zone
: la zona del gruppo.project-id
: l'ID del progetto che contiene il gruppo.- Nella console Google Cloud, vai alla pagina Gruppi di istanze.
- Nella colonna Nome dell'elenco, fai clic sul nome del gruppo di istanze da cui vuoi rimuovere le VM. Si apre una pagina con le proprietà del gruppo di istanze e un elenco di VM incluse nel gruppo.
- Seleziona nell'elenco una o più VM che vuoi rimuovere dal gruppo.
- Fai clic su Rimuovi dal gruppo. Le VM rimosse da un gruppo di istanze non gestito continuano a esistere ed eseguire, a meno che non le arresti o le elimini.
instance-group-name
: il nome del gruppo che contiene le istanze da rimuovere.zone
: la zona del gruppo.list-of-VM-names
: un elenco di VM, delimitato da virgole, che vuoi rimuovere dal gruppo.instance-group-name
: il nome del gruppo che contiene le istanze da rimuovere.zone
: la zona del gruppo.project-id
: l'ID del progetto che contiene il gruppo.instance-1-name
einstance-2-name
: sono i nomi delle VM che vuoi annullare l'associazione dal gruppo.- Il traffico viene bilanciato tra tutte le porte con lo stesso nome di porta.
- Un determinato servizio di backend può inoltrare il traffico a una sola porta denominata alla volta.
Se utilizzi più numeri di porta per una porta denominata, tutte le porte devono riguardare la stessa applicazione.
Ad esempio,
http:80,http:8080
funziona, mahttp:80,http:443
non funziona perché la porta 80 generalmente non supporta TLS.instance-group-a
con una porta denominata dihttp-port:80
instance-group-b
con una porta denominata dihttp-port:79
- Nella console Google Cloud, vai alla pagina Gruppi di istanze.
- Nella colonna Nome dell'elenco, fai clic sul nome del gruppo di istanze in cui vuoi specificare le porte denominate. Si apre una pagina con le proprietà del gruppo di istanze.
- Fai clic su Modifica per modificare questo gruppo di istanze non gestite.
- Nella sezione Mappatura delle porte, fai clic su Aggiungi porta e inserisci il nome di una porta e il relativo numero. Se necessario, aggiungi o rimuovi altre porte denominate.
- Fai clic su Salva per aggiornare l'elenco delle porte denominate per il gruppo di istanze non gestite.
instance-group-name
: il nome del gruppo di istanze.zone
: la zona del gruppo.port-name
eport-number
: il nome e il numero di porta rappresentano una mappatura da un nome scelto a un numero di porta. Puoi specificare più mappature separate da virgole; ad esempio,port-one:80,port-two:8080
è un elenco valido di porte denominate.Descrivi il gruppo di istanze e prendi nota di fingerprint.
Per aggiungere porte denominate, invia una richiesta
POST
utilizzando il metodo instanceGroups.setNamedPorts. Se vuoi rimuovere tutte le porte denominate, impostanamedPorts
su un elenco vuoto.POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups/instance-group-name/setNamedPorts { "fingerprint": "fingerprint", "namedPorts": [ { "name": "port-name", "port": port-number }, { "name": "port-name", "port": port-number }, .... ] }
Sostituisci quanto segue:
instance-group-name
: il nome del gruppo di istanze.zone
: la zona del gruppo.project-id
: l'ID del progetto che contiene il gruppo.port-name
eport-number
: il nome e il numero di porta rappresentano una mappatura da un nome scelto a un numero di porta.fingerprint
: si tratta dell'impronta del passaggio precedente.
- Crea un gruppo di istanze gestite con VM in una zona singola.
- Crea un gruppo di istanze gestite con VM in più zone in una regione.
- Scopri di più su Cloud Load Balancing.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.
Installa Google Cloud CLI, quindi initialize eseguendo questo comando:
gcloud init
Per maggiori informazioni, consulta Autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
Utilizzo di gruppi di istanze non gestite
Creare gruppi
A differenza dei gruppi di istanze gestite, i gruppi di istanze non gestite sono semplicemente raccolte di VM distinte che non condividono un modello di istanza comune. Basta creare un gruppo e aggiungere singole VM al gruppo.
Console
gcloud
Per creare un nuovo gruppo di istanze non gestite, utilizza il comando instance-groups unmanaged create:
gcloud compute instance-groups unmanaged create instance-group-name \ --zone=zone
Sostituisci quanto segue:
REST
Per creare un gruppo di istanze non gestite con REST, invia una richiesta
POST
utilizzando il metodo instanceGroups.insert:POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups { "name": "instance-group-name" }
Sostituisci quanto segue:
Quando crei un nuovo gruppo di istanze non gestite con Google Cloud CLI o REST, non viene aggiunta automaticamente alcuna VM. Puoi aggiungere VM al gruppo di istanze non gestite manualmente.
Elenco e descrizione dei gruppi
Recupera un elenco dei gruppi di istanze non gestite esistenti.
Console
Nella console Google Cloud, la pagina Gruppi di istanze elenca i gruppi di istanze gestite e non gestiti esistenti.
gcloud
Per elencare tutti i gruppi di istanze non gestite nel tuo progetto con Google Cloud CLI, utilizza l'elenco di gruppi di istanze non gestiti:
gcloud compute instance-groups unmanaged list
Per visualizzare informazioni su uno specifico gruppo di istanze non gestite, utilizza il comando instance-groups unmanaged describe:
gcloud compute instance-groups unmanaged describe instance-group-name \ --zone=zone
Sostituisci quanto segue:
REST
Per elencare i gruppi di istanze con REST, invia una richiesta
GET
utilizzando il metodo instanceGroups.list:GET https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups
Per ottenere informazioni su un gruppo di istanze non gestite specifico con l'API, invia una richiesta
GET
utilizzando il metodo instanceGroups.get:GET https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups/instance-group-name
Sostituisci quanto segue:
Eliminazione di gruppi
A differenza di un gruppo di istanze gestite, l'eliminazione di un gruppo di istanze non gestite non comporta l'eliminazione di nessuna delle VM all'interno del gruppo. L'eliminazione di un gruppo di istanze non gestite rimuove solo il raggruppamento logico delle VM.
Non puoi eliminare un gruppo di istanze se è un backend di un bilanciatore del carico Google Cloud. Devi prima rimuovere il backend dal servizio di backend.
Console
gcloud
Per eliminare un gruppo di istanze non gestite, utilizza il comando instance-groups unmanaged delete:
gcloud compute instance-groups unmanaged delete instance-group-name \ --zone=zone
Sostituisci quanto segue:
REST
Per eliminare un gruppo di istanze non gestite con REST, invia una richiesta
DELETE
utilizzando il metodo instanceGroups.delete:DELETE https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups/instance-group-name
Sostituisci quanto segue:
Appartenenza al gruppo
Aggiunta di VM
Dopo aver creato un gruppo di istanze non gestite, puoi aggiungere VM al gruppo. Tuttavia, puoi raggruppare le VM solo se la prima o l'unica interfaccia di rete (
nic0
) di ogni VM è collegata alla stessa rete VPC. Il numero massimo di VM che puoi aggiungere a un gruppo di istanze non gestite è 2000. Se vuoi aggiungere più di 2000 VM al gruppo, contatta l'assistenza.Console
gcloud
Per aggiungere istanze a un gruppo di istanze non gestite, utilizza il comando instance-groups unmanaged add-instances:
gcloud compute instance-groups unmanaged add-instances instance-group-name \ --zone=zone \ --instances=list-of-VM-names
Sostituisci quanto segue:
REST
Per aggiungere VM a un gruppo di istanze non gestite, invia una richiesta
POST
utilizzando il metodo instanceGroups.addInstances:POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups/instance-group-name/addInstances { "instances": [ { "instance": "https://www.googleapis.com/compute/v1/projects/project-id/zones/zone/instances/instance-1-name", "instance": "https://www.googleapis.com/compute/v1/projects/project-id/zones/zone/instances/instance-2-name", .... } ] }
Sostituisci quanto segue:
Elenco delle VM
Puoi recuperare un elenco di VM membri in un gruppo di istanze non gestite.
Console
gcloud
Per elencare le VM in un gruppo di istanze non gestite, utilizza il comando instance-groups unmanaged list-instances:
gcloud compute instance-groups unmanaged list-instances instance-group-name \ --zone=zone
Sostituisci quanto segue:
REST
Per elencare le VM in un gruppo di istanze non gestite, invia una richiesta
POST
utilizzando il metodo instanceGroups.listInstances:POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups/instance-group-name/listInstances
Sostituisci quanto segue:
Rimozione delle VM
Puoi rimuovere le VM da un gruppo di istanze non gestite. La rimozione di una VM dal gruppo di istanze non ne elimina la VM.
Console
gcloud
Per rimuovere le VM da un gruppo di istanze non gestite, utilizza il comando instance-groups unmanaged remove-instances:
gcloud compute instance-groups unmanaged remove-instances instance-group-name \ --zone=zone \ --instances=list-of-VM-names
Sostituisci quanto segue:
REST
Per rimuovere le VM da un gruppo di istanze non gestite, invia una richiesta
POST
utilizzando il metodo instanceGroups.removeInstances. Puoi rimuovere contemporaneamente più VM come mostrato di seguito:POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups/instance-group-name/removeInstances { "instances": [ { "instance": "https://www.googleapis.com/compute/v1/projects/project-id/zones/zone/instances/instance-1-name", "instance": "https://www.googleapis.com/compute/v1/projects/project-id/zones/zone/instances/instance-2-name", .... } ] }
Sostituisci quanto segue:
Utilizzo delle porte denominate
Le porte denominate sono coppie chiave-valore che rappresentano il nome e il numero di una porta. Il nome della porta rappresenta il nome di un servizio o di un'applicazione. Il numero di porta rappresenta la porta su cui viene eseguito il servizio o l'applicazione.
Cloud Load Balancing utilizza le porte denominate. I bilanciatori del carico che fungono da proxy si abbonano a una singola porta denominata nella configurazione del servizio di backend. Il nome della porta viene tradotto in un numero di porta in base alla mappatura della porta denominata del backend di ciascun gruppo di istanze.
Ad esempio, un servizio di backend può sottoscrivere una porta denominata
http-port
. Il gruppo di istanza di backend può avere una porta denominatahttp-port:80
. Il gruppo di istanze di backend indica al bilanciatore del carico di inviare il traffico a una VM del gruppo sulla porta 80 utilizzando un protocollo (ad esempio TCP). Il protocollo è definito nel servizio di backend del bilanciatore del carico.Le porte denominate sono metadati semplici utilizzati dai bilanciatori del carico proxy. Le porte denominate non controllano le risorse di rete o firewall in Compute Engine.
Più numeri di porta per una porta denominata
Puoi assegnare più porte a ciascun nome di servizio. Puoi anche assegnare più nomi di servizio a ciascuna porta.
Tieni presente quanto segue:
In un gruppo di istanze puoi assegnare più porte denominate. Per spiegarci, considera un servizio di backend di esempio che si abbona alla porta denominata
http-port
e che ha due gruppi di istanza di backend:Questo servizio di backend invia il traffico alla porta 80 per le VM in
instance-group-a
e alla porta 79 per le VM ininstance-group-b
.Quando aggiungi lo stesso gruppo di istanze a più servizi di backend (per più bilanciatori del carico) e il gruppo di istanze gestisce porte diverse su ciascun bilanciatore del carico, non aggiungere tutti i numeri di porta a una singola porta denominata. Crea invece una porta denominata univoca e mappala a un insieme di porte che deve essere gestito da ciascun servizio di backend.
Ad esempio, supponi di avere tre applicazioni, ciascuna con il proprio bilanciatore del carico. Ogni applicazione ha il proprio numero di porta: 81 per
app1
, 82 perapp2
e 83 perapp3
. Supponendo che tutti e tre i servizi di backend utilizzino un gruppo di istanze comune, assegna le porte denominate per questo gruppo di istanze come[app1:81, app2:82, app3:83]
.Porte denominate e controlli di integrità
Affinché una porta denominata con più numeri di porta in un servizio di backend funzioni in un Application Load Balancer esterno o in un Application Load Balancer interno, il controllo di integrità deve avere il flag
--use-serving-port
anziché un numero di porta specifico. Questa opzione non è disponibile nella console Google Cloud. Per impostare--use-serving-port
, devi utilizzare Google Cloud CLI o l'API.Ad esempio, supponi di avere un'applicazione che bilancia il carico del traffico su tre porte diverse (81, 82, 83) nello stesso servizio di backend con un singolo gruppo di istanze. Puoi assegnare le porte a questo gruppo di istanze come
[app:81, 82, 83]
. Il controllo di integrità in questo scenario deve avere il flag--use-serving-port
.Per ulteriori informazioni, consulta la documentazione sul controllo di integrità del bilanciamento del carico.
Porte denominate e regole firewall
Le porte denominate non creano né modificano le regole firewall di Google Cloud. Per consentire il traffico alle VM di backend, devi comunque creare le regole firewall necessarie.
Porte denominate e servizi di backend
Oltre a configurare il gruppo di istanze, devi configurare anche il servizio di backend. Ad esempio, supponi di aver impostato la porta denominata su un gruppo di istanze con il nome
my-service-name
e la porta8888
:gcloud compute instance-groups set-named-ports my-unmanaged-ig \ --named-ports=my-service-name:8888
Quindi devi fare riferimento alla porta denominata nella configurazione del servizio di backend con
--port-name
nel servizio di backend impostato sumy-service-name
:gcloud compute backend-services update my-backend-service \ --port-name=my-service-name
Creazione di porte denominate
Console
gcloud
Per aggiungere porte denominate a un gruppo di istanze non gestite, utilizza il comando
instance-groups unmanaged set-named-ports
:gcloud compute instance-groups unmanaged set-named-ports instance-group-name \ --zone=zone \ --named-ports=port-name:port-number,...
Per elencare le porte denominate in un gruppo di istanze non gestite, utilizza il comando
instance-groups unmanaged get-named-ports
:Imposta una o più porte denominate utilizzando il comando
set-named-ports
:gcloud compute instance-groups unmanaged set-named-ports INSTANCE_GROUP \ --named-ports PORT_NAME:PORT,PORT_NAME:PORT
Ad esempio:
gcloud compute instance-groups unmanaged set-named-ports INSTANCE_GROUP \ --named-ports name1:80,name2:8080
Per assegnare più porte a ciascun nome di servizio o più nomi per ogni servizio, crea più voci per ogni nome o porta. Ad esempio, se le porte
10
,20
e80
si riferiscono alla stessa applicazione, puoi assegnarename1
a tutte queste porte. Inoltre, potresti assegnare due nomi,name2
ename3
alla porta8080
. Infine, puoi assegnare la porta9000
alla portaname4
, come nell'esempio seguente:gcloud compute instance-groups unmanaged set-named-ports INSTANCE_GROUP \ --named-ports name1:10,name1:20,name1:80,\ name2:8080,name3:8080,\ name4:9000
Per rimuovere tutte le porte denominate da un gruppo di istanze non gestite con Google Cloud CLI, utilizza instance-groups unmanaged set-named-ports con un elenco vuoto di porte denominate:
gcloud compute instance-groups unmanaged set-named-ports instance-group-name \ --zone=zone \ --named-ports=""
In tutti gli esempi precedenti, sostituisci quanto segue, se presente:
REST
Passaggi successivi
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2024-07-12 UTC.
[{ "type": "thumb-down", "id": "hardToUnderstand", "label":"Hard to understand" },{ "type": "thumb-down", "id": "incorrectInformationOrSampleCode", "label":"Incorrect information or sample code" },{ "type": "thumb-down", "id": "missingTheInformationSamplesINeed", "label":"Missing the information/samples I need" },{ "type": "thumb-down", "id": "translationIssue", "label":"Problema di traduzione" },{ "type": "thumb-down", "id": "otherDown", "label":"Altra" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Facile da capire" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Il problema è stato risolto" },{ "type": "thumb-up", "id": "otherUp", "label":"Altra" }] -