Accelera lo scale out con VM sospese e arrestate


Questo documento spiega come il pool di istanze virtuali sospese e arrestate di Compute Engine e come puoi utilizzare il pool in standby per accelerare lo scale out di un gruppo di istanze gestite.

Prima di iniziare

  • Consulta la pagina introduttiva sulle VM sospese e arrestate in un gruppo di istanze gestite.
  • Se non l'hai già fatto, configura l'autenticazione. Autenticazione è la procedura di verifica dell'identità per l'accesso ai servizi e alle API di Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione 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. 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.

        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.

Usa l'API MIG per la scalabilità automatica

Ti consigliamo di utilizzare il gestore della scalabilità automatica di Compute Engine per la scalabilità automatica il tuo MIG. Tuttavia, se per qualche motivo preferisci utilizzare un altro gestore della scalabilità automatica, utilizzano gli endpoint API MIG per gestire di VM sospese e arrestate.

Scegli tra pool sospesi e arrestati

La scelta tra pool sospesi e arrestati dipende dal caso d'uso specifico. Per ottenere prestazioni ottimali, dovresti sperimentare diversi tipi di pool in standby per gli scenari di scale out per determinare quale risponde meglio alle tue esigenze. Carichi di lavoro diversi potrebbero mostrare tempi più brevi per la pubblicazione con opzioni diverse. In alcuni casi, l'operazione di copia dello stato della memoria alla VM potrebbe richiedere più tempo rispetto al riavvio della VM o alla creazione di una nuova VM partendo da zero.

Per trovare l'approccio migliore, parti da queste linee guida:

  • Utilizza le VM sospese se le tue VM richiedono un'inizializzazione della memoria dispendiosa in termini di tempo perché le VM sospese mantengono lo stato della memoria. Assicurati che la tua applicazione possa essere sospesa e ripresa. Mantenere lo stato della memoria richiede spazio di archiviazione aggiuntivo e potrebbe comportare un aumento del costi aggiuntivi.
  • Utilizza VM arrestate se l'inizializzazione della VM è incentrata principalmente sulla dei dati archiviati nei dischi permanenti.

Modifica il criterio di standby in un gruppo di istanze gestite

Questa sezione descrive come impostare il ritardo iniziale e come impostare il la modalità pool in standby per fare lo scale out del pool.

Console

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

    Vai a Gruppi di istanze

  2. Nella colonna Nome dell'elenco, fai clic sul nome dell'istanza. in cui vuoi modificare il criterio di standby.

  3. Fai clic su Modifica per modificare questo gruppo di istanze gestite.

  4. Fai clic su Mostra configurazione avanzata.

  5. Nella sezione Pool di standby, in Modalità, seleziona Scale out.

  6. Nel campo Ritardo iniziale, inserisci il numero di secondi necessari Il gruppo di istanze gestite deve attendere prima di sospendere o arrestare una VM. Il ritardo iniziale dà allo script di inizializzazione il tempo di prepararsi per uno scale out rapido.

  7. Fai clic su Salva.

gcloud

Utilizza la Comando beta instance-groups managed update e specificare la modalità operativa e il ritardo iniziale.

gcloud beta compute instance-groups managed update MIG_NAME \
  --standby-policy-mode=scale-out-pool \
  --standby-policy-initial-delay=DELAY \
  [--region=REGION | --zone=ZONE]

Sostituisci quanto segue:

  • MIG_NAME: il nome del gruppo di istanze gestite.
  • DELAY: il numero di secondi in cui Il gruppo di istanze gestite deve attendere prima di sospendere o arrestare una VM. Il ritardo iniziale dà allo script di inizializzazione il tempo di prepararsi per uno scale out rapido.
  • REGION: per un gruppo di istanze gestite a livello di regione, la regione dove si trova il gruppo di istanze gestite.
  • ZONE: per un gruppo di istanze gestite a livello di zona, la zona dove si trova il gruppo di istanze gestite.

API

Utilizza la Metodo instanceGroupManager.update e specificare la modalità operativa e il ritardo iniziale nel corpo della richiesta. Per i gruppi di istanze gestite a livello di regione, utilizza Metodo regionInstanceGroupManager.update.

PUT https://www.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME

{
// ...
"standbyPolicy": {
  "mode": "SCALE_OUT_POOL",
  "initialDelaySec": DELAY
}
// ...
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto.
  • MIG_NAME: il nome del gruppo di istanze gestite.
  • DELAY: il numero di secondi in cui Il gruppo di istanze gestite deve attendere prima di sospendere o arrestare una VM. Il ritardo iniziale dà allo script di inizializzazione il tempo di prepararsi per uno scale out rapido.
  • REGION: per un gruppo di istanze gestite a livello di regione, la regione dove si trova il gruppo di istanze gestite.
  • ZONE: per un gruppo di istanze gestite a livello di zona, la zona dove si trova il gruppo di istanze gestite.

Ridimensiona il pool in standby in un gruppo di istanze gestite

Questa sezione descrive come ridimensionare i pool di VM sospese e arrestate in un gruppo di istanze gestite.

Console

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

    Vai a Gruppi di istanze

  2. Nella colonna Nome dell'elenco, fai clic sul nome dell'istanza. in cui vuoi modificare le dimensioni del pool in standby.

  3. Fai clic su Modifica per modificare questo gruppo di istanze gestite.

  4. Fai clic su Mostra configurazione avanzata.

  5. Nella sezione Pool in standby, inserisci le nuove dimensioni nel Campi VM sospese e VM arrestate.

  6. Fai clic su Salva.

gcloud

Utilizza la Comando instance-groups managed resize beta con i flag --suspended-size e --stopped-size.

gcloud beta compute instance-groups managed resize MIG_NAME \
--suspended-size=SUSPENDED_SIZE \
--stopped-size=STOPPED_SIZE \
[--region=REGION | --zone=ZONE]

Sostituisci quanto segue:

  • MIG_NAME: il nome del gruppo di istanze gestite in cui di sospendere un'istanza
  • SUSPENDED_SIZE: il numero di VM sospese che il gruppo di istanze gestite deve mantenere in qualsiasi momento
  • STOPPED_SIZE: il numero di VM arrestate che il gruppo di istanze gestite deve mantenere in qualsiasi momento
  • REGION: per un gruppo di istanze gestite a livello di regione, la regione dove si trova il gruppo di istanze gestite
  • ZONE: per un gruppo di istanze gestite a livello di zona, la zona dove si trova il gruppo di istanze gestite

API

Utilizza la Metodo instanceGroupManager.update e specificare le dimensioni dei pool di VM sospese e arrestate nella richiesta del testo. Per i gruppi di istanze gestite a livello di regione, utilizza Metodo regionInstanceGroupManager.update.

PUT https://www.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME

{
// ...
"targetSuspendedSize": SUSPENDED_SIZE,
"targetStoppedSize": STOPPED_SIZE
// ...
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto per la richiesta
  • ZONE: per un gruppo di istanze gestite a livello di zona, zona in cui si trova il gruppo di istanze gestite
    • Per un gruppo di istanze gestite a livello di regione, sostituisci zones/ZONE con regions/REGION e specificare la regione il gruppo di istanze gestite
  • MIG_NAME: il nome del gruppo di istanze gestite in cui interrompere un'istanza
  • SUSPENDED_SIZE: il numero di VM sospese che il gruppo di istanze gestite deve mantenere in qualsiasi momento
  • STOPPED_SIZE: il numero di VM arrestate che il gruppo di istanze gestite deve mantenere in qualsiasi momento

Passaggi successivi