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 altre informazioni scenari di base per la creazione di un gruppo di istanze gestite.

Prima di iniziare

  • Crea un modello di istanza, necessario per creare un modello gruppo di istanze gestite.
  • Se non l'hai già fatto, configura l'autenticazione. L'autenticazione è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine come segue.

    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. Install the Google Cloud CLI, then initialize it by running the following command:

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

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

      1. Install the Google Cloud CLI.
      2. To initialize the gcloud CLI, run the following command:

        gcloud init
      3. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

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

      REST

      Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di 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 un'unica zona, utilizza la console Google Cloud, la 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 vengono visualizzati 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 riparazione automatica 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, che specifica tipo di macchina, immagine disco di avvio, rete e altre proprietà VM 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 del gruppo, la dimensione del gruppo, il modello di istanza e la zona.

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

Sostituisci quanto segue:

  • INSTANCE_GROUP_NAME: il nome di questa gruppo di istanze gestite.
  • SIZE: la dimensione del gruppo di istanze.
  • INSTANCE_TEMPLATE: il nome dell'istanza modello da utilizzare per questo gruppo. Per un modello di istanza regionale, 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, mentre 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 gruppo di istanze gestite in più zone all'interno 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 base è anteposto a questa stringa casuale. Per 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 Creare istanze con nomi specifici nei MIG.

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

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 che specifica il tipo di macchina, l'immagine del disco di avvio, la rete e altre proprietà della VM che vuoi 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 google_compute_instance_group_manager risorsa.

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 che specifica il tipo di macchina, l'immagine del disco di avvio, la rete e altre proprietà della VM che vuoi 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 la dimensione 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: il zone per la richiesta. Se vuoi distribuire le VM del tuo gruppo di istanze gestite su più zone all'interno 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 di questo gruppo di istanze.
  • SIZE: la dimensione del gruppo di istanze.
  • INSTANCE_TEMPLATE: il modello di istanza da utilizzare per questo gruppo.

Se vuoi, 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 base viene anteposto a questa stringa casuale. Per 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 MIG.

A seconda di come configuri e agisci su un gruppo di istanze gestite, vengono applicati diversi criteri e azioni possono influire sulle istanze del gruppo. Per determinare quali account sono operative, consulta Verifica dello stato delle istanze gestite.

Passaggi successivi