Crea un gruppo di istanze gestite in una singola zona

Questo documento descrive come creare un gruppo di istanze gestite in una singola zona. Avere tutte le VM del gruppo di istanze gestite in un'unica zona consente di ridurre al minimo la latenza, aspetto utile per alcuni carichi di lavoro, ad esempio quelli batch.

Questo tipo di gruppo di istanze gestite è noto anche come gruppo di istanze gestite a livello di zona.

Puoi anche leggere altri scenari di base per la creazione di un gruppo di istanze gestite.

Prima di iniziare

  • Crea un modello di istanza, necessario per creare un gruppo di istanze 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

    1. Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

      gcloud init
    2. Set a default region and zone.
    3. Terraform

      Per utilizzare gli esempi di Terraform su questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.

      1. Installa Google Cloud CLI.
      2. Per initialize gcloud CLI, esegui questo comando:

        gcloud init
      3. Crea credenziali di autenticazione locali per il tuo Account Google:

        gcloud auth application-default login

      Per ulteriori informazioni, consulta Set up authentication for a local development environment.

      REST

      Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, devi utilizzare le credenziali che fornisci a gcloud CLI.

        Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

        gcloud init

      Per maggiori informazioni, consulta Autenticazione per REST nella documentazione sull'autenticazione di Google Cloud.

Limitazioni

Per visualizzare l'elenco completo delle limitazioni dei gruppi di istanze gestite, che varia in base alla configurazione utilizzata, consulta Limitazioni dei gruppi di istanze gestite.

Crea un gruppo di istanze gestite in una singola zona

Per creare un gruppo di istanze gestite in una singola zona, utilizza la console Google Cloud, gcloud CLI, Terraform o REST.

Console

  1. Nella console Google Cloud, vai alla pagina Gruppi di istanze.

    Vai a Gruppi di istanze

    I passaggi rimanenti verranno visualizzati automaticamente nella console Google Cloud.

  2. Fai clic su Crea gruppo di istanze.
  3. Se vuoi creare un gruppo di istanze gestite stateful, seleziona l'opzione Nuovo gruppo di istanze gestite (stateful). Per aiutarti a decidere, visita la pagina Quando utilizzare gruppi di istanze gestite stateful.
  4. Assegna un nome e, facoltativamente, una descrizione al gruppo di istanze.
  5. Scegli un modello di istanza per il gruppo di istanze o creane uno nuovo.
  6. Specifica il numero di VM per questo gruppo. Ricorda di eseguire il provisioning di un numero sufficiente di VM per supportare la tua applicazione in caso di errore della zona.
  7. In Località, seleziona Zona singola.
  8. Seleziona la Regione e la Zona in cui vuoi creare il tuo gruppo di istanze gestite. Se hai scelto un modello di istanza regionale, viene selezionata automaticamente l'opzione Regione in base alla regione del modello.
  9. Per i gruppi di istanze gestite stateless, la scalabilità automatica è abilitata per impostazione predefinita. Con la scalabilità automatica, il tuo gruppo aggiunge o rimuove automaticamente le istanze in base al suo utilizzo.
  10. Se vuoi, abilita la autohealing per eseguire i controlli di integrità basati su applicazioni sulle VM all'interno del gruppo.
  11. Fai clic su Crea per creare il nuovo profilo.

gcloud

Se non hai già creato un modello di istanza in cui specifichi il tipo di macchina, l'immagine del disco di avvio, la rete e altre proprietà delle VM che vuoi utilizzare per ogni VM nel tuo gruppo di istanze gestite, crea un modello di istanza.

Crea un gruppo di istanze gestite con il comando instance-groups managed create e specifica il nome, la dimensione del gruppo, il modello di istanza e la zona del gruppo.

gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --size SIZE \
    --template INSTANCE_TEMPLATE \
    --zone ZONE

Sostituisci quanto segue:

  • INSTANCE_GROUP_NAME: il nome del gruppo di istanze.
  • SIZE: la dimensione del gruppo di istanze.
  • INSTANCE_TEMPLATE: il nome del modello di istanza da utilizzare per questo gruppo. Per un modello di istanza a livello di regione, devi specificare l'URL completo o parziale del modello. Un esempio di URL completo è https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/instanceTemplates/example-regional-instance-template e un URL parziale è projects/example-project/regions/us-central1/instanceTemplates/example-regional-instance-template.
  • ZONE: una delle zone disponibili per Compute Engine. Se vuoi distribuire le VM del tuo gruppo di istanze gestite in più zone di una regione, consulta Creare un gruppo di istanze gestite a livello di regione.

Facoltativamente, puoi fornire il flag --base-instance-name. Poiché queste VM si basano su un modello comune, a ogni VM viene assegnata una stringa casuale come parte del nome della VM. Il nome di base è anteposto a questa stringa casuale. Ad esempio, se imposti il nome di base su test, le VM avranno nomi come test-yahs e test-qtyz. Se hai bisogno di nomi specifici, consulta Creazione di istanze con nomi specifici nei gruppi di istanze gestite.

Ad esempio, il comando seguente crea un gruppo di istanze denominato gruppo-esempio, con nome VM di base test. Il gruppo contiene tre istanze:

gcloud compute instance-groups managed create example-group \
    --base-instance-name test \
    --size 3 \
    --template an-instance-template \
    --zone us-central1-f

Terraform

Se non hai già creato un modello di istanza in cui specifichi il tipo di macchina, l'immagine del disco di avvio, la rete e altre proprietà delle VM che vuoi utilizzare per ogni VM nel tuo gruppo di istanze gestite, crea un modello di istanza.

Per creare un gruppo di istanze gestite a livello di zona, puoi utilizzare la risorsa google_compute_instance_group_manager.

resource "google_compute_instance_group_manager" "default" {

  name               = "example-group"
  base_instance_name = "test"
  target_size        = 3
  zone               = "us-central1-f"

  version {
    instance_template = google_compute_instance_template.default.id
    name              = "primary"
  }
}

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.

REST

Se non hai già creato un modello di istanza in cui specifichi il tipo di macchina, l'immagine del disco di avvio, la rete e altre proprietà delle VM che vuoi utilizzare per ogni VM nel tuo gruppo di istanze gestite, crea un modello di istanza.

Crea un gruppo di istanze gestite con il metodo instanceGroupManagers.insert. Nel corpo della richiesta, includi il nome e le dimensioni del gruppo e l'URL del modello di istanza.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers

{
  "versions": [
    {
      "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE"
    }
  ],
  "name": "INSTANCE_GROUP_NAME",
  "targetSize": SIZE
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto per la richiesta.
  • ZONE: la zona per la richiesta. Se vuoi distribuire le VM del tuo gruppo di istanze gestite in più zone di una regione, sostituisci zones/ZONE con regions/REGION e specifica una regione. Per ulteriori informazioni, consulta Creare un gruppo di istanze gestite a livello di regione.
  • INSTANCE_GROUP_NAME: il nome del gruppo di istanze.
  • SIZE: la dimensione del gruppo di istanze.
  • INSTANCE_TEMPLATE: il modello di istanza da utilizzare per questo gruppo.

Facoltativamente, puoi fornire il campo base-name. Poiché queste VM si basano su un modello comune, a ogni VM viene assegnata una stringa casuale come parte del nome della VM. Il nome di base è anteposto a questa stringa casuale. Ad esempio, se imposti il nome di base su test, le VM avranno nomi come test-yahs e test-qtyz. Se hai bisogno di nomi specifici, consulta Creazione di istanze con nomi specifici nei gruppi di istanze gestite.

A seconda di come configuri e agisci su un gruppo di istanze gestite, vari criteri e azioni possono influire sulle istanze nel gruppo. Per determinare quali istanze gestite sono in esecuzione, consulta Controllo dello stato delle istanze gestite.

Passaggi successivi