Scalabilità basata su pianificazioni

La scalabilità automatica basata su pianificazione consente di migliorare la disponibilità dei carichi di lavoro pianificando la capacità in anticipo rispetto al carico previsto. Se esegui il carico di lavoro su un gruppo di istanze gestite, puoi pianificare un numero obbligatorio di istanze di macchine virtuali (VM) per pattern di carico ricorrenti ed eventi una tantum. Utilizza le pianificazioni di scalabilità se l'inizializzazione del carico di lavoro richiede molto tempo e vuoi fare lo scale out prima dei picchi di carico previsti.

Questo documento descrive come creare, elencare, modificare, disabilitare, riattivare ed eliminare le pianificazioni di scalabilità per un gruppo di istanze gestite esistente. Per ulteriori informazioni sui gruppi di istanze gestite e sulla scalabilità automatica, consulta Creazione di gruppi di istanze gestite e Scalabilità automatica dei gruppi di istanze.

Prima di iniziare

  • Scopri i nozioni di base del gestore della scalabilità automatica.
  • 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.

    Seleziona la scheda relativa a come prevedi di utilizzare gli esempi in questa pagina:

    Console

    Quando utilizzi la console Google Cloud per accedere ai servizi e alle API di Google Cloud, non devi configurare l'autenticazione.

    gcloud

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

      gcloud init
    2. Imposta una regione e una zona predefinite.

    Terraform

    Per utilizzare gli esempi Terraform in questa pagina da un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura 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 Configura l'autenticazione per un ambiente di sviluppo locale.

    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

Limitazioni

Le pianificazioni di scalabilità sono limitate dalle limitazioni per tutti i gestori della scalabilità automatica e dalle seguenti limitazioni:

  • Puoi avere fino a 128 pianificazioni di scalabilità per gruppo di istanze gestite. Per mitigare questo limite, elimina le pianificazioni di scalabilità con uno stato OBSOLETE e che non prevedi di eseguire di nuovo.
  • La durata minima per le pianificazioni di scalabilità è 5 minuti.

Creazione di una pianificazione di scalabilità

Puoi creare fino a 128 pianificazioni di scalabilità per gruppo di istanze gestite. Per ulteriori informazioni, consulta Impostazioni di pianificazione della scalabilità.

Le istruzioni seguenti spiegano come creare una pianificazione di scalabilità per un gruppo di istanze gestite.

Console

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

    Vai a Gruppi di istanze

  2. Fai clic sul nome di un gruppo di istanze gestite nell'elenco.

  3. Fai clic su Modifica.

  4. Se non esiste una configurazione di scalabilità automatica:

    1. In Scalabilità automatica, fai clic su Configura la scalabilità automatica.
    2. In Modalità di scalabilità automatica, seleziona On: aggiungi e rimuovi istanze al gruppo per abilitare la scalabilità automatica. Se vuoi scalare il gruppo di istanze gestite solo in base alle pianificazioni, elimina la metrica di utilizzo della CPU predefinita dopo aver aggiunto le pianificazioni.
  5. Per ogni pianificazione di scalabilità che vuoi aggiungere:

    1. Espandi la sezione Pianificazioni di scalabilità automatica, fai clic su Gestisci pianificazioni e poi su Crea pianificazione.
    2. Nel riquadro Crea pianificazione di scalabilità, inserisci un Nome.
    3. (Facoltativo) Inserisci una descrizione.
    4. Inserisci il numero di istanze minime richieste fornite da questa pianificazione quando è attiva.
    5. Specifica l'ora di inizio e la ricorrenza della pianificazione di scalabilità utilizzando l'interfaccia predefinita oppure, se vuoi configurare una pianificazione con un'ora di inizio e una ricorrenza più complesse, utilizzando un'espressione cron.
      • Interfaccia predefinita
        1. Nel campo Ora di inizio, digita o fai clic su per selezionare un'ora di inizio.
        2. Nel campo Ricorrenza, seleziona la frequenza di ripetizione della pianificazione. Se selezioni Ogni settimana o Ogni mese, utilizza il menu a discesa aggiuntivo per selezionare i giorni della settimana o il mese di inizio della pianificazione.
      • Espressione cron
        1. Per abilitare, fai clic sul pulsante di attivazione/disattivazione Usa espressione CRON.
        2. Inserisci un'espressione CRON.
    6. Nel campo Fuso orario, seleziona un fuso orario.

    7. Nei campi Durata e Unità di tempo, inserisci una durata e seleziona l'unità di tempo corrispondente.

    8. Fai clic su Salva. Viene visualizzato il riquadro Pianificazioni di scalabilità.

    9. (Facoltativo) Puoi creare un'altra pianificazione di scalabilità facendo clic su Crea pianificazione.

  6. Al termine della creazione delle pianificazioni, fai clic su Fine.

  7. Per chiudere la pagina Gruppi di istanze, fai clic su Salva.

gcloud

Per aggiungere una pianificazione di scalabilità a un gruppo di istanze gestite che non dispone di un criterio di scalabilità automatica esistente, utilizza il comando gcloud compute instance-groups managed set-autoscaling.

gcloud compute instance-groups managed set-autoscaling MIG_NAME \
    [--min-num-replicas=MIN_NUM_REPLICAS] \
    --max-num-replicas=MAX_NUM_REPLICAS \
    --set-schedule=SCHEDULE_NAME \
    --schedule-cron="CRON_EXPRESSION" \
    --schedule-duration-sec=DURATION \
    [--schedule-time-zone="TIME_ZONE"] \
    --schedule-min-required-replicas=MIN_REQ_REPLICAS \
    [--schedule-description="DESCRIPTION"] \
    [--zone=ZONE | --region=REGION]

Per aggiungere una pianificazione di scalabilità a un gruppo di istanze gestite con un criterio di scalabilità automatica esistente, utilizza il comando gcloud compute instance-groups managed update-autoscaling.

gcloud compute instance-groups managed update-autoscaling MIG_NAME \
    [--min-num-replicas=MIN_NUM_REPLICAS] \
    [--max-num-replicas=MAX_NUM_REPLICAS] \
    --set-schedule=SCHEDULE_NAME \
    --schedule-cron="CRON_EXPRESSION" \
    --schedule-duration-sec=DURATION \
    [--schedule-time-zone="TIME_ZONE"] \
    --schedule-min-required-replicas=MIN_REQ_REPLICAS \
    [--schedule-description="DESCRIPTION"] \
    [--zone=ZONE | --region=REGION]

Sostituisci quanto segue:

  • MIG_NAME: il nome di un gruppo di istanze gestite con un criterio di scalabilità automatica esistente.
  • MIN_NUM_REPLICAS: facoltativo: il numero minimo di istanze richieste per questo gruppo di istanze gestite. Google consiglia di impostare questo valore sul numero minimo di istanze necessarie quando non è attiva alcuna pianificazione della scalabilità. Quando imposti questo valore su 0 e configuri la scalabilità automatica con pianificazioni o metriche di Cloud Monitoring con serie temporali singole per gruppo, il gruppo di istanze gestite può fare lo scale in fino a 0 VM. Lo scale in fino a 0 VM non è possibile quando il criterio ha altri indicatori che richiedono dati di singole VM, ad esempio l'utilizzo della CPU.
  • MAX_NUM_REPLICAS: il numero massimo di istanze che possono essere fornite per questo gruppo di istanze gestite. Facoltativo per un gruppo di istanze gestite con un criterio di scalabilità automatica esistente.
  • SCHEDULE_NAME: il nome della nuova pianificazione di scalabilità.
  • CRON_EXPRESSION: l'ora di inizio e la ricorrenza di questa pianificazione formattata come espressione cron.
  • DURATION: la durata, in secondi, dell'attivazione della pianificazione.
  • TIME_ZONE: facoltativo: il fuso orario IANA per l'ora di inizio della pianificazione, ad esempio Europe/Paris. Il valore predefinito è UTC.
  • MIN_REQ_REPLICAS: il numero di istanze minime richieste fornite da questa pianificazione quando è attiva.
  • DESCRIPTION: facoltativo: una descrizione della nuova pianificazione di scalabilità.
  • ZONE o REGION: facoltativo: la zona o la regione in cui si trova il gruppo di istanze gestite.

Puoi creare pianificazioni che vengano eseguite una volta o che si ripetano periodicamente.

Programmazione ricorrente

Questo comando di esempio crea una pianificazione che si ripete. Questa pianificazione specifica che il gruppo di istanze gestite deve contenere almeno 10 istanze VM ogni lunedì, martedì, mercoledì, giovedì e venerdì dalle 8:30 alle 17:00 UTC (Coordinated Universal Time). Questo comando utilizza anche i flag --min-num-replicas e --max-num-replicas per aggiornare il numero minimo di istanze a 0 e il numero massimo di istanze a 30 per tutti gli indicatori di scalabilità automatica del gruppo di istanze gestite selezionato. Questo comando presuppone che tu abbia un gruppo di istanze gestite denominato example-mig con un criterio di scalabilità automatica esistente.

gcloud compute instance-groups managed update-autoscaling example-mig \
    --min-num-replicas=0 \
    --max-num-replicas=30 \
    --set-schedule=workday-capacity \
    --schedule-cron="30 8 * * Mon-Fri" \
    --schedule-duration-sec=30600 \
    --schedule-min-required-replicas=10 \
    --schedule-description="Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC"

Pianificazione una tantum

Questo comando di esempio crea una pianificazione che viene eseguita una volta. Questa pianificazione specifica che il gruppo di istanze gestite contenga almeno 30 istanze VM tutto il giorno il 30 gennaio 2030 per il fuso orario America/New_York. Questo comando presuppone che tu abbia un gruppo di istanze gestite denominato example-mig che si trova in us-east1-b e che dispone di un criterio di scalabilità automatica esistente.

gcloud compute instance-groups managed update-autoscaling example-mig \
    --set-schedule=example-onetime-schedule \
    --schedule-cron="0 0 30 1 * 2030" \
    --schedule-duration-sec=86400 \
    --schedule-time-zone="America/New_York" \
    --schedule-min-required-replicas=30 \
    --schedule-description="Schedule a minimum of 30 VMs all day for January 30, 2030" \
    --zone=us-east1-b

Terraform

Per aggiungere una pianificazione di scalabilità a un gruppo di istanze gestite, utilizza la risorsa google_compute_autoscaler.

resource "google_compute_autoscaler" "default" {
  provider = google-beta
  name     = "my-autoscaler"
  zone     = "us-central1-f"
  target   = google_compute_instance_group_manager.default.id

  autoscaling_policy {
    max_replicas    = 5
    min_replicas    = 1
    cooldown_period = 60

    scaling_schedules {
      name                  = "every-weekday-morning"
      description           = "Increase to 2 every weekday at 7AM for 12 hours."
      min_required_replicas = 2
      schedule              = "0 7 * * MON-FRI"
      time_zone             = "America/New_York"
      duration_sec          = 43200
    }
  }
}

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

REST

Per creare un gestore della scalabilità automatica con pianificazioni di scalabilità per un gruppo di istanze gestite, utilizza il metodo autoscalers.insert per un gruppo di istanze gestite a livello di zona o il metodo regionAutoscalers.insert per un gruppo di istanze gestite a livello di regione.

Effettua la seguente chiamata per creare una pianificazione per un gruppo di istanze gestite a livello di zona che non ha un criterio di scalabilità automatica esistente:

POST https://www.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers/

{
  "name": "AUTOSCALER_NAME",
  "target": "https://www.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instanceGroupManagers/MIG_NAME",
  "autoscalingPolicy": {
    "minNumReplicas": MIN_NUM_REPLICAS,
    "maxNumReplicas": MAX_NUM_REPLICAS,
    "scalingSchedules": {
      "SCHEDULE_NAME": {
        "minRequiredReplicas": MIN_REQ_REPLICAS,
        "schedule": "CRON_EXPRESSION",
        "timeZone": "TIME_ZONE",
        "durationSec": DURATION,
        "description": "DESCRIPTION"
      },
      ...
    }
  }
}

Per creare pianificazioni per un gruppo di istanze gestite con un criterio di scalabilità automatica esistente, utilizza il metodo autoscalers.patch per un gruppo di istanze gestite a livello di zona o il metodo regionAutoscalers.patch per un gruppo di istanze gestite a livello di regione.

Ad esempio, effettua la chiamata seguente per creare una pianificazione per un gruppo di istanze gestite a livello di zona con un criterio di scalabilità automatica esistente:

PATCH https://www.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME

{
  "autoscalingPolicy": {
    "minNumReplicas": MIN_NUM_REPLICAS,
    "maxNumReplicas": MAX_NUM_REPLICAS,
    "scalingSchedules": {
      "SCHEDULE_NAME": {
        "minRequiredReplicas": MIN_REQ_REPLICAS,
        "schedule": "CRON_EXPRESSION",
        "timeZone": "TIME_ZONE",
        "durationSec": DURATION,
        "description": "DESCRIPTION"
      },
      ...
    }
  }
}

Sostituisci quanto segue:

  • PROJECT: il tuo ID progetto.
  • ZONE: la zona in cui si trova il gruppo di istanze gestite.
  • AUTOSCALER_NAME: il nome di un gestore della scalabilità automatica esistente. Spesso è uguale al nome del gruppo di istanze gestite.
  • MIN_NUM_REPLICAS: facoltativo: il numero minimo di istanze richieste per questo gruppo di istanze gestite. Google consiglia di impostare questo valore sul numero minimo di istanze necessarie quando non è attiva alcuna pianificazione della scalabilità. Quando imposti questo valore su 0 e configuri la scalabilità automatica con pianificazioni o metriche di Cloud Monitoring con serie temporali singole per gruppo, il gruppo di istanze gestite può fare lo scale in fino a 0 VM. Non è possibile fare lo scale in a 0 VM quando il criterio include altri indicatori che richiedono dati di una singola VM, ad esempio l'utilizzo della CPU.
  • MAX_NUM_REPLICAS: il numero massimo di istanze che possono essere fornite per questo gruppo di istanze gestite. Facoltativo per un gruppo di istanze gestite con un criterio di scalabilità automatica esistente.
  • SCHEDULE_NAME: il nome della nuova pianificazione di scalabilità.
  • MIN_REQ_REPLICAS: il numero minimo di istanze richieste fornite da questa pianificazione quando è attiva.
  • CRON_EXPRESSION: l'ora di inizio e la ricorrenza di questa pianificazione formattata come espressione cron.
  • TIME_ZONE: facoltativo: il fuso orario IANA per l'ora di inizio della pianificazione, ad esempio Europe/Paris. Il valore predefinito è UTC.
  • DURATION: la durata, in secondi, dell'attivazione della pianificazione.
  • DESCRIPTION: facoltativo: una descrizione della nuova pianificazione di scalabilità.

Puoi creare pianificazioni che vengano eseguite una volta o che si ripetano periodicamente.

Programmazione ricorrente

Questa chiamata API di esempio crea una pianificazione che si ripete. Questa pianificazione specifica che un gruppo di istanze gestite a livello di zona contenga almeno 10 istanze VM ogni lunedì, martedì, mercoledì, giovedì e venerdì dalle 8:30 alle 17:00 UTC (Coordinated Universal Time). Questa chiamata API utilizza anche i campi minNumReplicas e maxNumReplicas per aggiornare il numero minimo di istanze a 0 e il numero massimo di istanze a 30 per tutti gli indicatori di scalabilità automatica del gruppo di istanze gestite selezionato. Questa chiamata API presuppone che tu abbia un progetto esistente denominato example-project con un gruppo di istanze gestite a livello di zona che si trova in us-east1-b e che dispone di un gestore della scalabilità automatica denominato example-autoscaler con un criterio di scalabilità automatica esistente.

PATCH https://www.googleapis.com/compute/v1/projects/example-project/zones/us-east1-b/autoscalers?autoscaler=example-autoscaler

{
  "autoscalingPolicy": {
    "minNumReplicas": 0,
    "maxNumReplicas": 30,
    "scalingSchedules": {
      "workday-capacity": {
        "minRequiredReplicas": 10,
        "schedule": "30 8 * * Mon-Fri",
        "durationSec": 30600,
        "description": "Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC"
      }
    }
  }
}

Per utilizzare questo esempio per un gruppo di istanze gestite a livello di regione, effettua una richiesta simile utilizzando il metodo regionAutoscalers.patch e specifica una regione anziché una zona.

Pianificazione una tantum

Questa chiamata API di esempio crea una pianificazione che viene eseguita una volta. Questa pianificazione specifica che un gruppo di istanze gestite a livello di zona contenga almeno 30 istanze VM tutto il giorno il 30 gennaio 2030 per il fuso orario America/New_York. Questa chiamata API presuppone che tu abbia un progetto esistente denominato example-project con un gruppo di istanze gestite a livello di zona che si trova in us-east1-b e che dispone di un gestore della scalabilità automatica denominato example-autoscaler con un criterio di scalabilità automatica esistente.

PATCH https://www.googleapis.com/compute/v1/projects/example-project/zones/us-east1-b/autoscalers?autoscaler=example-autoscaler

{
  "autoscalingPolicy": {
    "scalingSchedules": {
      "example-onetime-schedule": {
        "minRequiredReplicas": 30,
        "schedule": "0 0 30 1 * 2030",
        "timeZone": "America/New_York",
        "durationSec": 86400,
        "description": "Schedule a minimum of 30 VMs all day for January 30, 2030"
      }
    }
  }
}

Per utilizzare questo esempio per un gruppo di istanze gestite a livello di regione, effettua una richiesta simile utilizzando il metodo regionAutoscalers.patch e specifica una regione anziché una zona.

Più pianificazioni

Questa chiamata API di esempio utilizza il metodo autoscalers.patch per due pianificazioni, workday-capacity e january-30-2030-schedule, in una singola chiamata. Questa chiamata API presuppone che tu abbia un progetto esistente denominato example-project con un gruppo di istanze gestite a livello di zona che si trova in us-east1-b e che ha un gestore della scalabilità automatica denominato example-autoscaler con un criterio di scalabilità automatica esistente.

PATCH https://www.googleapis.com/compute/v1/projects/example-project/zones/us-east1-b/autoscalers?autoscaler=example-autoscaler

{
  "autoscalingPolicy": {
    "scalingSchedules": {
      "workday-capacity": {
        "minRequiredReplicas": 10,
        "schedule": "30 8 * * Mon-Fri",
        "durationSec": 30600,
        "description": "Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC"
      },
      "january-30-2030-schedule": {
        "minRequiredReplicas": 30,
        "schedule": "0 0 30 1 * 2030",
        "timeZone": "America/New_York",
        "durationSec": 86400,
        "description": "Schedule a minimum of 30 VMs all day for January 30, 2030"
      }
    }
  }
}

Per utilizzare questo esempio per un gruppo di istanze gestite a livello di regione, effettua una richiesta simile utilizzando il metodo regionAutoscalers.patch e specifica una regione anziché una zona.

Dopo aver creato una pianificazione, potrebbe essere necessario attendere qualche minuto per visualizzare le relative informazioni sullo stato.

Elenco delle pianificazioni di scalabilità

Puoi visualizzare un elenco delle pianificazioni di un gruppo di istanze gestite. L'elenco mostra le impostazioni e le informazioni sullo stato di ogni pianificazione.

Console

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

    Vai a Gruppi di istanze

  2. Fai clic sul nome di un gruppo di istanze gestite nell'elenco.

  3. Fai clic su Modifica.

  4. Puoi visualizzare il numero totale di pianificazioni in Pianificazioni di scalabilità automatica. Fai clic su Gestisci pianificazioni per visualizzare l'elenco delle pianificazioni di scalabilità esistenti.

Al termine, puoi chiudere l'elenco facendo clic su Fine.

gcloud

Per ottenere i dettagli di un gruppo di istanze gestite, inclusi le configurazioni e gli stati delle pianificazioni di scalabilità, utilizza il comando gcloud compute instance-groups managed describe.

gcloud compute instance-groups managed describe MIG_NAME \
    [--zone=ZONE | --region=REGION]

Sostituisci quanto segue:

  • MIG_NAME: il nome di un gruppo di istanze gestite con un criterio di scalabilità automatica esistente.
  • ZONE o REGION: facoltativo: la zona o la regione in cui si trova il gruppo di istanze gestite.

Eventuali pianificazioni di scalabilità per il gruppo di istanze gestite sono elencate nell'output, come mostrato nell'esempio seguente.

...
autoscalingPolicy:
  ...
  maxNumReplicas: 30
  minNumReplicas: 0
  ...
  scalingSchedules:
    example-onetime-schedule:
      description: Schedule a minimum of 30 VMs all day for January 30, 2030
      disabled: false
      durationSec: 86400
      minRequiredReplicas: 30
      schedule: 0 0 30 1 * 2030
      timeZone: America/New_York
    workday-capacity:
      description: Have at least 10 VMs every Monday through Friday from 8:30
        AM to 5 PM UTC
      disabled: false
      durationSec: 30600
      minRequiredReplicas: 10
      schedule: 30 8 * * Mon-Fri
      timeZone: UTC
...
scheduledScalingStatus:
    example-onetime-schedule:
        state: READY
        nextStartTime: '2030-01-30T00:00:00.000-05:00'
        lastStartTime: ''
    workday-capacity:
        state: READY
        nextStartTime: '2020-11-04T08:30:00.000-00:00'
        lastStartTime: '2020-11-03T08:30:00.000-00:00'
...

REST

Per ottenere i dettagli per un gestore della scalabilità automatica, inclusi le configurazioni e gli stati delle pianificazioni di scalabilità, utilizza il metodo autoscalers.get per un gruppo di istanze gestite a livello di zona o il metodo regionAutoscalers.get per un gruppo di istanze gestite a livello di regione.

Ad esempio, effettua la chiamata seguente per elencare le pianificazioni per un gruppo di istanze gestite a livello di zona con un criterio di scalabilità automatica esistente:

GET https://www.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME

Sostituisci quanto segue:

  • PROJECT: il tuo ID progetto.
  • ZONE: la zona in cui si trova il gruppo di istanze gestite.
  • AUTOSCALER_NAME: il nome di un gestore della scalabilità automatica esistente. Spesso è uguale al nome del gruppo di istanze gestite.

Eventuali pianificazioni di scalabilità per il gruppo di istanze gestite sono elencate nell'output, come mostrato nell'esempio seguente.

{
  ...
  "autoscalingPolicy": {
    ...
    "minNumReplicas": 0,
    "maxNumReplicas": 30,
    ...
    "scalingSchedules": {
      "example-onetime-schedule": {
        "minRequiredReplicas": 30,
        "schedule": "0 0 30 1 * 2030",
        "timeZone": "America/New_York",
        "durationSec": 86400,
        "description": "Schedule a minimum of 30 VMs all day for January 30, 2030",
        "disabled": false
      },
      "workday-capacity": {
        "minRequiredReplicas": 10,
        "schedule": "30 8 * * Mon-Fri",
        "timeZone": "",
        "durationSec": 30600,
        "description": "Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC",
        "disabled": false
      },
      ...
    }
  },
  "scheduledScalingStatus": {
    "example-onetime-schedule": {
      "state": "READY",
      "nextStartTime": "2030-01-30T00:00:00.000-05:00",
      "lastStartTime": ''
    },
    "workday-capacity": {
      "state": "READY",
      "nextStartTime": "2020-11-04T08:30:00.000",
      "lastStartTime": "2020-11-03T08:30:00.000"
    },
    ...
  },
...
}

Modifica di una pianificazione di scalabilità

Puoi modificare una pianificazione di scalabilità esistente per cambiare qualsiasi impostazione ad eccezione del nome della pianificazione. Puoi anche disabilitare o riabilitare una pianificazione di scalabilità.

Console

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

    Vai a Gruppi di istanze

  2. Fai clic sul nome di un gruppo di istanze gestite nell'elenco.

  3. Fai clic su Modifica.

  4. Puoi visualizzare il numero totale di pianificazioni in Pianificazioni di scalabilità automatica. Fai clic su Gestisci pianificazioni per visualizzare l'elenco delle pianificazioni di scalabilità esistenti.

  5. Seleziona la casella di controllo relativa alla pianificazione di scalabilità da modificare.

  6. Nella parte superiore del riquadro Pianificazioni di scalabilità, fai clic su Modifica.

  7. Nel nuovo riquadro Modifica pianificazione della scalabilità, modifica i campi che vuoi cambiare. Per saperne di più su ciascun campo, consulta la sezione Creazione di una pianificazione di scalabilità.

  8. Al termine, fai clic su Salva.

Potrebbe essere necessario attendere qualche minuto prima che le modifiche vengano applicate. Puoi monitorare lo stato delle pianificazioni facendo clic su Aggiorna nella parte superiore del riquadro Pianificazioni di scalabilità.

Al termine, puoi chiudere l'elenco facendo clic su Fine.

gcloud

Per aggiornare una pianificazione di scalabilità esistente, utilizza il comando gcloud compute instance-groups managed update-autoscaling. Utilizza il flag --update-schedule per indicare il nome della pianificazione da aggiornare. Se necessario, includi gli altri indicatori.

gcloud compute instance-groups managed update-autoscaling MIG_NAME \
    --update-schedule=SCHEDULE_NAME \
    [--schedule-cron="CRON_EXPRESSION"] \
    [--schedule-duration-sec=DURATION] \
    [--schedule-time-zone="TIME_ZONE"] \
    [--schedule-min-required-replicas=MIN_REQ_REPLICAS] \
    [--schedule-description="DESCRIPTION"] \
    [--zone=ZONE | --region=REGION]

Sostituisci quanto segue:

  • MIG_NAME: il nome di un gruppo di istanze gestite con una pianificazione di scalabilità esistente.
  • SCHEDULE_NAME: il nome della pianificazione di scalabilità esistente.
  • CRON_EXPRESSION: facoltativo: la nuova ora di inizio e la nuova ricorrenza di questa pianificazione formattata come espressione cron.
  • DURATION: facoltativo: la nuova durata, in secondi, in cui la pianificazione è attiva.
  • TIME_ZONE: facoltativo: il nuovo fuso orario IANA per l'ora di inizio della pianificazione, ad esempio Europe/Paris. Il valore predefinito è UTC.
  • MIN_REQ_REPLICAS: facoltativo: il nuovo numero di istanze minime richieste fornite da questa pianificazione quando è attiva.
  • DESCRIPTION: facoltativo: una nuova descrizione della pianificazione di scalabilità.
  • ZONE o REGION: facoltativo: la zona o la regione in cui si trova il gruppo di istanze gestite.

REST

Per aggiornare le pianificazioni di scalabilità esistenti per un gruppo di istanze gestite, utilizza il metodo autoscalers.patch per un gruppo di istanze gestite a livello di zona o il metodo regionAutoscalers.patch per un gruppo di istanze gestite a livello di regione.

Ad esempio, effettua la chiamata seguente per modificare una pianificazione per un gruppo di istanze gestite a livello di zona con un criterio di scalabilità automatica esistente:

PATCH https://www.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME

{
  "autoscalingPolicy": {
    "scalingSchedules": {
      "SCHEDULE_NAME": {
        "minRequiredReplicas": MIN_REQ_REPLICAS,
        "schedule": "CRON_EXPRESSION",
        "timeZone": "TIME_ZONE",
        "durationSec": DURATION,
        "description": "DESCRIPTION"
      },
      ...
    }
  }
}

Sostituisci quanto segue:

  • PROJECT: il tuo ID progetto.
  • ZONE: la zona in cui si trova il gruppo di istanze gestite.
  • AUTOSCALER_NAME: il nome di un gestore della scalabilità automatica esistente. Spesso è uguale al nome del gruppo di istanze gestite.
  • SCHEDULE_NAME: il nome della pianificazione di scalabilità esistente.
  • MIN_REQ_REPLICAS: facoltativo: il nuovo numero di istanze minime richieste fornite da questa pianificazione quando è attiva.
  • CRON_EXPRESSION: facoltativo: la nuova ora di inizio e la nuova ricorrenza di questa pianificazione formattata come espressione cron.
  • TIME_ZONE: facoltativo: il nuovo fuso orario IANA per l'ora di inizio della pianificazione, ad esempio Europe/Paris. Il valore predefinito è UTC.
  • DURATION: facoltativo: la nuova durata, in secondi, in cui la pianificazione è attiva.
  • DESCRIPTION: facoltativo: una nuova descrizione della pianificazione di scalabilità.

Disabilitazione e riattivazione di una pianificazione di scalabilità

Le pianificazioni di scalabilità sono abilitate per impostazione predefinita. Disabilita una pianificazione se vuoi impedire che una pianificazione sia attiva, ma vuoi salvarne la configurazione. Riattiva una pianificazione disattivata quando vuoi utilizzarla di nuovo.

Se non è necessario archiviare la pianificazione o hai raggiunto il limite di 128 pianificazioni per questo gruppo di istanze gestite, elimina la pianificazione. Se vuoi disabilitare la scalabilità automatica per un gruppo di istanze gestite, disattiva la scalabilità automatica.

Console

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

    Vai a Gruppi di istanze

  2. Fai clic sul nome di un gruppo di istanze gestite nell'elenco.

  3. Fai clic su Modifica.

  4. Puoi visualizzare il numero totale di pianificazioni in Pianificazioni di scalabilità automatica. Fai clic su Gestisci pianificazioni per visualizzare l'elenco delle pianificazioni di scalabilità esistenti.

  5. Seleziona le caselle di controllo relative alle pianificazioni di scalabilità che vuoi disabilitare o abilitare.

  6. Disabilita o abilita le pianificazioni selezionate.

    • Per disabilitare le pianificazioni selezionate:
      1. Nella parte superiore del riquadro Pianificazioni di scalabilità, fai clic su Disattiva.
      2. Nella nuova finestra di dialogo Disattiva pianificazioni, fai clic su Disattiva.
    • Per abilitare le pianificazioni selezionate:
      1. Nella parte superiore del riquadro Pianificazioni di scalabilità, fai clic su Abilita.
      2. Nella nuova finestra di dialogo Abilita pianificazioni, fai clic su Attiva.

Potrebbe essere necessario attendere qualche minuto prima che le modifiche vengano applicate. Puoi monitorare lo stato delle pianificazioni facendo clic su Aggiorna nella parte superiore del riquadro Pianificazioni di scalabilità.

Al termine, puoi chiudere l'elenco facendo clic su Fine.

gcloud

Per disabilitare o riabilitare una pianificazione di scalabilità, utilizza il comando gcloud compute instance-groups managed update-autoscaling.

Disabilitazione di una pianificazione di scalabilità

Per disabilitare una pianificazione di scalabilità, utilizza il flag --disable-schedule.

gcloud compute instance-groups managed update-autoscaling MIG_NAME \
    --disable-schedule=SCHEDULE_NAME \
    [--zone=ZONE | --region=REGION]

Sostituisci quanto segue:

  • MIG_NAME: il nome di un gruppo di istanze gestite con una pianificazione di scalabilità esistente.
  • SCHEDULE_NAME: il nome della pianificazione di scalabilità che vuoi disabilitare.
  • ZONE o REGION: facoltativo: la zona o la regione in cui si trova il gruppo di istanze gestite.

Riattivazione di una pianificazione di scalabilità

Per riattivare una pianificazione di scalabilità, utilizza il flag --enable-schedule.

gcloud compute instance-groups managed update-autoscaling MIG_NAME \
    --enable-schedule=SCHEDULE_NAME \
    [--zone=ZONE | --region=REGION]

Sostituisci quanto segue:

  • MIG_NAME: il nome di un gruppo di istanze gestite con una pianificazione di scalabilità esistente.
  • SCHEDULE_NAME: il nome della pianificazione di scalabilità che vuoi riattivare.
  • ZONE o REGION: facoltativo: la zona o la regione in cui si trova il gruppo di istanze gestite.

REST

Per disabilitare o riabilitare le pianificazioni di scalabilità per un gruppo di istanze gestite, utilizza il metodo autoscalers.patch per un gruppo di istanze gestite a livello di zona o il metodo regionAutoscalers.patch per un gruppo di istanze gestite a livello di regione.

Disabilitazione delle pianificazioni di scalabilità

Per ogni pianificazione di scalabilità che vuoi disabilitare, imposta il campo disabled su true. Ad esempio, effettua la chiamata seguente per disabilitare una pianificazione per un gruppo di istanze gestite a livello di zona con un criterio di scalabilità automatica esistente:

PATCH https://www.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME

{
  "autoscalingPolicy": {
    "scalingSchedules": {
      "SCHEDULE_NAME": {
        "disabled": true
      },
      ...
    }
  }
}

Sostituisci quanto segue:

  • PROJECT: il tuo ID progetto.
  • ZONE: la zona in cui si trova il gruppo di istanze gestite.
  • AUTOSCALER_NAME: il nome di un gestore della scalabilità automatica esistente. Spesso è uguale al nome del gruppo di istanze gestite.
  • SCHEDULE_NAME: il nome della pianificazione di scalabilità che vuoi disabilitare.

Riabilitazione pianificazioni di scalabilità

Per ogni pianificazione di scalabilità che vuoi riattivare, imposta il campo disabled su false. Ad esempio, effettua la chiamata seguente per riabilitare una pianificazione per un gruppo di istanze gestite a livello di zona con un criterio di scalabilità automatica esistente:

PATCH https://www.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME

{
  "autoscalingPolicy": {
    "scalingSchedules": {
      "SCHEDULE_NAME": {
        "disabled": false
      },
      ...
    }
  }
}

Sostituisci quanto segue:

  • PROJECT: il tuo ID progetto.
  • ZONE: la zona in cui si trova il gruppo di istanze gestite.
  • AUTOSCALER_NAME: il nome di un gestore della scalabilità automatica esistente. Spesso è uguale al nome del gruppo di istanze gestite.
  • SCHEDULE_NAME: il nome della pianificazione di scalabilità che vuoi riattivare.

Eliminazione di una pianificazione di scalabilità

Rimuovi le pianificazioni di scalabilità da un gruppo di istanze gestite eliminandole. Elimina le pianificazioni che non ti servono più, ad esempio quelle con uno stato OBSOLETE.

Un criterio di scalabilità automatica deve avere sempre almeno un indicatore di scalabilità. Se non esistono altri indicatori di scalabilità automatica, non puoi eliminare tutte le pianificazioni di scalabilità senza eliminare l'intero criterio di scalabilità automatica. Se vuoi eliminare tutte le pianificazioni di scalabilità, ma mantenere il criterio di scalabilità automatica, devi aggiungere almeno un indicatore di scalabilità prima di eliminare tutte le pianificazioni.

Se vuoi impedire che una pianificazione diventi attiva e salvarla per utilizzi futuri, disabilita la pianificazione. Se vuoi eliminare la configurazione della scalabilità automatica per un gruppo di istanze gestite, elimina il gestore della scalabilità automatica.

Console

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

    Vai a Gruppi di istanze

  2. Fai clic sul nome di un gruppo di istanze gestite nell'elenco.

  3. Fai clic su Modifica.

  4. Puoi visualizzare il numero totale di pianificazioni in Pianificazioni di scalabilità automatica. Fai clic su Gestisci pianificazioni per visualizzare l'elenco delle pianificazioni di scalabilità esistenti.

  5. Seleziona le caselle di controllo relative alle pianificazioni di scalabilità da eliminare.

  6. Nella parte superiore del riquadro Pianificazioni di scalabilità, fai clic su Elimina.

  7. Nella nuova finestra di dialogo Elimina pianificazioni, fai clic su Elimina.

Potrebbe essere necessario attendere qualche minuto prima che le modifiche vengano applicate. Puoi monitorare lo stato delle pianificazioni facendo clic su Aggiorna nella parte superiore del riquadro Pianificazioni di scalabilità.

Al termine, puoi chiudere l'elenco facendo clic su Fine.

gcloud

Per eliminare una pianificazione di scalabilità, utilizza il comando gcloud compute instance-groups managed update-autoscaling con il flag --remove-schedule.

gcloud compute instance-groups managed update-autoscaling MIG_NAME \
    --remove-schedule=SCHEDULE_NAME \
    [--zone=ZONE | --region=REGION]

Sostituisci quanto segue:

  • MIG_NAME: il nome di un gruppo di istanze gestite con una pianificazione di scalabilità esistente.
  • SCHEDULE_NAME: il nome della pianificazione di scalabilità che vuoi eliminare.
  • ZONE o REGION: facoltativo: la zona o la regione in cui si trova il gruppo di istanze gestite.

REST

Per eliminare le pianificazioni di scalabilità per un gruppo di istanze gestite, utilizza il metodo autoscalers.patch per un gruppo di istanze gestite a livello di zona o il metodo regionAutoscalers.patch per un gruppo di istanze gestite a livello di regione. Per ogni pianificazione di scalabilità che vuoi eliminare, imposta la configurazione della pianificazione su null

Ad esempio, effettua la chiamata seguente per eliminare una pianificazione per un gruppo di istanze gestite a livello di zona con un criterio di scalabilità automatica esistente:

PATCH https://www.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers?autoscaler=AUTOSCALER_NAME

{
  "autoscalingPolicy": {
    "scalingSchedules": {
      "SCHEDULE_NAME": null
      ...
    }
  }
}

Sostituisci quanto segue:

  • PROJECT: il tuo ID progetto.
  • ZONE: la zona in cui si trova il gruppo di istanze gestite.
  • AUTOSCALER_NAME: il nome di un gestore della scalabilità automatica esistente. Spesso è uguale al nome del gruppo di istanze gestite.
  • SCHEDULE_NAME: il nome della pianificazione di scalabilità che vuoi eliminare.

Concetti

Questa sezione descrive i concetti relativi alla creazione e all'utilizzo delle pianificazioni di scalabilità, incluse le impostazioni di pianificazione e i dettagli sul loro funzionamento.

Impostazioni di pianificazione della scalabilità

Quando crei e modifichi le pianificazioni di scalabilità per un gruppo di istanze gestite, ogni pianificazione di scalabilità contiene le seguenti impostazioni:

  • Numero minimo di istanze richieste: il numero di VM richieste nel gruppo di istanze gestite quando questa pianificazione di scalabilità è attiva.

    Quando la pianificazione è attiva, il gruppo di istanze gestite ha almeno questo numero di VM, ma potrebbe averne di più a seconda di altre impostazioni di scalabilità automatica. Inoltre, la dimensione del gruppo di istanze gestite è sempre limitata dal numero minimo e massimo di istanze configurate nelle impostazioni di scalabilità automatica del gruppo di istanze gestite.

  • Fuso orario: il fuso orario IANA basato sulla località per interpretare l'ora di inizio della pianificazione.

    Un elenco dei valori disponibili è definito dal database dei fusi orari IANA, ad esempio Europe/Paris. Se non viene fornito alcun fuso orario, per impostazione predefinita viene utilizzato UTC. In alcuni fusi orari IANA viene applicata l'ora legale. Per scoprire in che modo l'ora legale influisce sulle programmazioni di scalabilità, consulta Ora legale.

  • Durata: la quantità di tempo in cui vuoi che sia attiva la pianificazione di scalabilità.

    La pianificazione della scalabilità è attiva dall'ora di inizio per la durata configurata. La durata minima è di 5 minuti. Durante questo periodo, il gestore della scalabilità automatica scala il gruppo di istanze gestite in modo che abbia almeno il numero di VM definito dalle istanze richieste della pianificazione. Se dopo la durata specificata la capacità attuale non è più necessaria, il gestore della scalabilità automatica inizia a rimuovere le istanze VM dopo un periodo di stabilizzazione di 10 minuti predefinito e a seguito di eventuali controlli di scale in configurati.

    Le pianificazioni di scalabilità sono bidirezionali. Le VM vengono rimosse al momento di interruzione specificato e le dimensioni del gruppo vengono ridotte alla dimensione minima del gruppo impostata, a meno che tu non abbia specificato altri indicatori di scalabilità automatica.

Quando utilizzi Google Cloud CLI o REST, devi configurare l'ora di inizio e la ricorrenza di una pianificazione di scalabilità utilizzando un'espressione cron. Tuttavia, quando utilizzi la console Google Cloud, puoi configurare l'ora di inizio e la ricorrenza di una pianificazione utilizzando un'espressione CRON o le seguenti impostazioni:

  • Ora di inizio: l'ora del giorno in cui vuoi che la pianificazione della scalabilità diventi attiva.

    All'ora di inizio, la pianificazione di scalabilità inizia a creare VM ogni volta che la dimensione del gruppo di istanze gestite è inferiore alle istanze richieste dalla pianificazione. Imposta il tempo di inizio in modo che il tempo necessario per l'avvio e l'inizializzazione delle nuove VM. Ad esempio, se il tuo carico di lavoro impiega 10 minuti dalla creazione della VM per iniziare la gestione, imposta l'ora di inizio 10 minuti prima dell'orario in cui vuoi che le VM siano pronte.

  • Ricorrenza: se e con quale frequenza si ripete la pianificazione di scalabilità, come definito dalle seguenti opzioni:

    • Una volta: una programmazione una tantum che inizia solo nella data selezionata.
    • Ogni giorno: un programma ricorrente che inizia tutti i giorni.
    • Ogni settimana: un programma ricorrente che inizia ogni settimana nei giorni della settimana selezionati, ad esempio da lunedì a venerdì.
    • Ogni mese: un programma ricorrente che inizia ogni mese nei giorni selezionati del mese, ad esempio il primo giorno di ogni mese. Gli ultimi giorni del mese (da 29 a 31) entrano in vigore solo durante i mesi in cui si verificano quei giorni.

Espressioni cron

L'ora di inizio e la ricorrenza di una pianificazione di scalabilità possono essere configurate utilizzando un'espressione cron. Cron è uno scheduler di job basato su tempo originariamente utilizzato nei sistemi operativi per computer simili a Unix.

Sintassi

Un'espressione cron è una stringa composta da cinque o sei campi separati da spazi vuoti. La seguente tabella definisce i campi di un'espressione CRON e i possibili valori per ogni campo.

Minuto Ora Giorno del mese Mese Giorno della settimana (Facoltativo) Anno
0-59 0-23 1-31 1-12 (gennaio-dicembre)

dove 1=Jan, 2=Feb, ... 12=Dec
0-6 (dom-sab) o 1-7 (lun-dom)

dove 0=Sun, 1=Mon, ... 6=Sat, 7=Sun
2000-2036

o ogni anno (*) se non specificato

Oltre a utilizzare questi valori, ogni campo di un'espressione CRON può utilizzare anche caratteri speciali:

Carattere speciale Significato Esempio
* tutte Se il campo Giorno del mese, Giorno della settimana e Anno (se incluso) sono impostati ciascuno su *, la pianificazione inizia ogni giorno.
- intervallo Se il campo del giorno della settimana è impostato su 1-5 o Mon-Fri, la pianificazione inizia ogni settimana dal lunedì al venerdì.
, list Se il campo del mese è impostato su 5,7,9 o May,Jul,Sep, la pianificazione inizia ogni maggio, luglio e settembre.
/ passo Se il campo del mese è impostato su */3, la pianificazione inizia durante il primo mese e dopo ogni 3 mesi: gennaio, aprile, luglio e ottobre.

Quando scrivi un'espressione CRON, considera quanto segue:

  • Lo spazio vuoto viene utilizzato per separare i campi di un'espressione CRON. Ricorda di non aggiungere ulteriori spazi vuoti in un campo che utilizza caratteri speciali.
  • Quando specifichi un giorno della settimana e un giorno del mese (quando nessuno dei due campi è impostato su *), la pianificazione utilizza l'unione di questi valori, non l'intersezione. Ad esempio, la programmazione 0 8 1 * Mon inizia alle 8:00 di ogni lunedì e il primo giorno di ogni mese. La programmazione non inizia alle 08:00 solo di lunedì, che è anche il primo giorno del mese.
  • Puoi usare zero o più caratteri speciali in ogni campo di un'espressione CRON. Ad esempio, se vuoi che una pianificazione inizi ogni mese tranne maggio, puoi impostare il campo del mese su 1-4,6-12 (un elenco di due intervalli senza spazi vuoti).
  • Quando utilizzi gli intervalli (-), non puoi utilizzare 0-7 o Sun-Sun per il campo Giorno della settimana. Per specificare ogni giorno della settimana, utilizza *, 0-6, 1-7, Sun-Sat o Mon-Sun.
  • Quando utilizzi i passaggi (/), ricorda che le espressioni cron sono stateless, pertanto a volte i passaggi possono essere irregolari. Ad esempio, se vuoi eseguire una pianificazione ogni 6 ore, puoi impostare il campo delle ore su */6, che si comporta come un elenco di ogni multiplo di 6 valido (0,6,12,18). I passaggi sono anche perché le 24 ore vengono facilmente suddivise in parti di sei ore. Tuttavia, se imposti il campo delle ore su */7, la pianificazione non verrà sempre avviata a intervalli di 7 ore. */7 si comporta invece come indicare ogni multiplo valido di 7 (0,7,14,21), il che significa che la pianificazione può iniziare nelle ore 00:00, 07:00, 14:00 e 21:00.

Confronto tra pianificazioni ripetute e una tantum

A seconda di come scrivi l'espressione CRON, la pianificazione potrebbe essere eseguita una volta o periodicamente. Per creare una pianificazione che viene eseguita una sola volta, devi specificare il campo Anno. Ad esempio, l'espressione CRON 0 0 30 1 * 2030 configura una pianificazione in modo che venga avviata una sola volta, a mezzanotte del 30 gennaio 2030. Per creare una pianificazione che si ripete, utilizza caratteri speciali per descrivere quando la pianificazione si ripete. Ad esempio, l'espressione CRON 30 8 * * Mon-Fri configura una pianificazione in modo che inizi alle 08:30 di ogni lunedì, martedì, mercoledì, giovedì e venerdì.

Pianifica le informazioni sullo stato

Elenca le pianificazioni di scalabilità per visualizzarne lo stato. Una pianificazione di scalabilità contiene le seguenti informazioni di stato:

  • Stato (state): lo stato attuale della pianificazione di scalabilità, rappresentato da uno dei seguenti stati:
    • Pronta (READY): questa pianificazione è pronta, ma non ancora attiva. Il gestore della scalabilità automatica è in attesa della prossima occorrenza di questa pianificazione.
    • Attiva (ACTIVE): al momento questa pianificazione è attiva. Il gestore della scalabilità automatica sta cercando di fornire al gruppo di istanze gestite almeno le istanze richieste specificate da questa pianificazione.
    • Obsoleta (OBSOLETE): questa pianificazione è scaduta e non sarà più attiva. Il gestore della scalabilità automatica ignora questa pianificazione perché non sono presenti occorrenze future.
    • Disabilitata (DISABLED): questa pianificazione non può essere attiva perché è stata disabilitata manualmente. Il gestore della scalabilità automatica ignora questa pianificazione finché non viene riattivata.
  • Ultima occorrenza (lastStartTime): il timestamp dell'ultima volta in cui questa pianificazione di scalabilità è diventata attiva. ovvero la data e l'ora effettive dell'ultima attivazione. Ad esempio, se hai disabilitato la pianificazione della scalabilità con una ricorrenza giornaliera, l'ora di inizio delle 10:00 e una durata di 2 ore e riattivi la pianificazione alle 11:00 di oggi, allora lastStartTime compirà le 11:00 di oggi.
  • Prossima occorrenza (nextStartTime): il timestamp della prossima volta che questa pianificazione è impostata per attivarsi.

Pianificazioni sovrapposte

A seconda dell'ora di inizio, della ricorrenza, della durata e del fuso orario, due o più pianificazioni della scalabilità potrebbero sovrapporsi. Quando sono attive più pianificazioni, il gestore della scalabilità automatica utilizza il massimo numero di istanze VM richieste da tutte le pianificazioni di scalabilità attive. In questo modo puoi assicurarti che ci sia sempre capacità sufficiente per soddisfare le esigenze di qualsiasi pianificazione attiva. Ad esempio, se hai una pianificazione che si ripete ogni giorno dalle 8:00 alle 10:00 che richiede almeno 10 VM, ma hai anche una pianificazione una tantum per tutto il giorno che richiede almeno 20 VM, il gestore della scalabilità automatica scala il gruppo di istanze gestite ad almeno 20 VM in quel giorno. Questo è utile quando hai requisiti di capacità regolari e ricorrenti, ma a volte hai bisogno di più eventi per gestire gli eventi occasionali. Questo comportamento consente di pianificare la capacità senza preoccuparti che venga ignorata da altre pianificazioni con requisiti delle VM più piccoli.

Inoltre, un gestore della scalabilità automatica fornisce sempre il numero massimo di istanze VM richieste da qualsiasi indicatore di scalabilità automatica attivo. Per maggiori informazioni, consulta Utilizzo di un criterio di scalabilità automatica con più indicatori.

Ora legale

I dettagli dell'ora legale variano in base al fuso orario IANA basato sulla località della pianificazione della scalabilità. Se il fuso orario della pianificazione rispetta l'ora legale, l'ora di inizio della pianificazione si regola automaticamente per rimanere sincronizzata con l'ora della località selezionata. Ad esempio, se crei una pianificazione della scalabilità che inizia ogni giorno alle 7:00 per il fuso orario America/New_York, la pianificazione inizia ogni volta che sono le 7:00 a New York, utilizzando di conseguenza l'ora legale orientale o l'ora standard orientale USA.

Le pianificazioni di scalabilità vengono sempre eseguite per l'intera durata configurata, ma potrebbero avere ore di inizio e di fine leggermente diverse nei giorni in cui l'osservazione dell'ora legale cambia. Questo accade perché i cambi dell'ora legale hanno periodi di transizione, ovvero un periodo di tempo che viene ignorato il primo giorno dell'ora legale e che si verifica due volte l'ultimo giorno dell'ora legale. Ad esempio, se l'ora legale per il tuo fuso orario inizia alle 02:00 e ha un passaggio di un'ora, l'orologio cambia da 01:59:59 a 03:00, quindi l'intervallo di tempo dalle 2:59 alle 2:59:59 viene ignorato. Se l'ora legale per quel fuso orario termina alle 02:00, l'orologio cambia dalle 02:59:59 alle 2:00 e viene ripetuto l'intervallo di tempo dalle 02:59 alle 02:59:59. Le seguenti istruzioni presuppongono che il fuso orario per la tua pianificazione utilizzi una transizione dell'ora legale di un'ora.

Il primo giorno dell'ora legale (quando viene saltata un'ora), le pianificazioni di scalabilità presentano le seguenti modifiche:

  • Le pianificazioni attive durante l'ora saltata vengono comunque eseguite per l'intera durata, ma per compensare l'ora saltata terminano un'ora dopo l'ora di fine nei giorni senza transizioni dell'ora legale. Normalmente, l'ora di fine di una pianificazione corrisponde alla somma dell'ora di inizio e della durata della pianificazione. Tuttavia, se l'ora legale ignora un'ora mentre una pianificazione è attiva e la durata e l'ora di inizio rimangono costanti, l'ora di fine di quella pianificazione è di un'ora in più rispetto alla somma dell'ora di inizio e della durata della pianificazione.
  • Le pianificazioni configurate per l'avvio nell'ora saltata iniziano anche un'ora dopo l'ora di inizio nei giorni senza transizioni dell'ora legale.

L'ultimo giorno dell'ora legale (quando viene ripetuta un'ora), le pianificazioni di scalabilità presentano le seguenti modifiche:

  • Le pianificazioni attive durante l'ora di ripetizione continuano a essere eseguite per l'intera durata, ma per compensare l'ora ripetuta, terminano un'ora prima dell'ora di fine nei giorni senza transizioni dell'ora legale. Normalmente, l'ora di fine di una pianificazione è la somma dell'ora di inizio e della durata della pianificazione. Tuttavia, se l'ora legale si ripete un'ora mentre una pianificazione è attiva e la durata e l'ora di inizio rimangono costanti, l'ora di fine di quella pianificazione è di un'ora in meno rispetto alla somma di ora di inizio e durata della pianificazione.
  • Le pianificazioni configurate per l'avvio durante il periodo di transizione iniziano all'orario configurato, ma non si riavviano durante la seconda occorrenza ripetuta dell'ora di inizio.

La maggior parte dei fusi orari con l'ora legale utilizza un periodo di transizione di un'ora. Tuttavia, se il fuso orario della tua pianificazione utilizza un periodo di transizione diverso, ad esempio il fuso orario Australia/Lord_Howe, che prevede transizioni di 30 minuti, puoi aspettarti lo stesso comportamento. Sostituisci semplicemente 1 ora con il tempo di transizione dell'ora legale pertinente.

Passaggi successivi