Scalabilità in base alle pianificazioni


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

Questo documento descrive come creare, elencare, modificare, disattivare, riattivare ed eliminare le pianificazioni di scalabilità per un gruppo di istanze gestite esistente. Per ulteriori informazioni su MIG e scalabilità automatica, consulta Creare gruppi di istanze gestite e Gruppi di istanze a scalabilità automatica.

Prima di iniziare

  • Scopri i concetti fondamentali dell'autoscalabilità.
  • Se non l'hai ancora 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 selezionando una delle seguenti opzioni:

    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 di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le 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, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Limitazioni

Le pianificazioni di scalabilità sono limitate dai limiti per tutti i gestori della scalabilità automatica nonché dai seguenti limiti:

  • Puoi avere fino a 128 pianificazioni di scalabilità per gruppo di istanze gestite. Per ridurre questo limite, elimina le pianificazioni di scalabilità con stato OBSOLETE che non prevedi di eseguire di nuovo.
  • La durata minima per le pianificazioni di scalabilità è di 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 della pianificazione della scalabilità.

Le istruzioni riportate di seguito 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 dall'elenco.

  3. Fai clic su Modifica.

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

    1. In Scalabilità automatica, fai clic su Configura scalabilità automatica.
    2. In Modalità di scalabilità automatica, seleziona On: aggiungi e rimuovi istanze al gruppo per attivare la scalabilità automatica. Se vuoi scalare il tuo 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 scalabilità, inserisci un Nome.
    3. (Facoltativo) Inserisci una Descrizione.
    4. Inserisci il numero di istanze minime richieste fornito da questa pianificazione quando è attiva.
    5. Specifica l'ora di inizio e la ricorrenza della pianificazione della scalabilità utilizzando l'interfaccia predefinita oppure, se vuoi configurare una pianificazione con un'ora di inizio e una ricorrenza più complesse, utilizza un'espressione cron.
      • Interfaccia predefinita
        1. Nel campo Ora inizio, digita o fai clic su per selezionare un'ora di inizio.
        2. Nel campo Ritorna, seleziona la frequenza con cui si ripete la programmazione. Se selezioni Ogni settimana o Ogni mese, utilizza il menu a discesa aggiuntivo per selezionare i giorni della settimana o del mese di inizio della pianificazione.
      • Espressione CRON
        1. Per attivare l'opzione, fai clic sul pulsante di attivazione/disattivazione Utilizza 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 un'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 ha 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 di cui hai bisogno quando non è attiva alcuna pianificazione di scalabilità. Quando imposti questo valore su 0 e configuri la scalabilità automatica con le pianificazioni o le metriche di Cloud Monitoring con singole serie temporali per gruppo, il MIG può fare lo scale in il numero di VM a 0. Lo scaling in verso 0 VM non è possibile quando il criterio contiene altri indicatori, che richiedono dati da 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 dell'autoscaling.
  • CRON_EXPRESSION: l'ora di inizio e la frequenza di questa pianificazione formattata come espressione CRON.
  • DURATION: la durata, in secondi, di questa pianificazione.
  • TIME_ZONE: facoltativo, il fuso orario IANA per l'ora di inizio della programmazione, ad esempioEurope/Paris. Il valore predefinito è UTC.
  • MIN_REQ_REPLICAS: il numero di istanze minime richieste fornito da questa pianificazione quando è attiva.
  • DESCRIPTION: facoltativo, una descrizione della nuova programmazione della scalabilità.
  • ZONE o REGION: facoltativo: la zona o la regione in cui si trova il gruppo di istanze gestite.

Puoi creare pianificazioni che vengono eseguite una volta o che si ripetono periodicamente.

Programmazione ripetuta

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 (ora universale coordinata UTC). Questo comando utilizza anche i flag --min-num-replicas e --max-num-replicas per aggiornare il numero minimo di istanze su 0 e il numero massimo di istanze su 30 per tutti gli indicatori di scalabilità automatica del gruppo di istanze gestite selezionato. Questo comando assume che tu abbia già 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"

Programmazione una tantum

Questo comando di esempio crea una pianificazione che viene eseguita una volta. Questa pianificazione specifica che il MIG deve contenere almeno 30 istanze VM per 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 esistente denominato example-mig che si trova in us-east1-b e che abbia 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.

Esegui 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://compute.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 seguente chiamata per creare una pianificazione per un gruppo di istanze gestite zonale con un criterio di scalabilità automatica esistente:

PATCH https://compute.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 autoscaler esistente. Spesso corrisponde 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 di cui hai bisogno quando non è attiva alcuna pianificazione di scalabilità. Quando imposti questo valore su 0 e configuri la scalabilità automatica con le pianificazioni o le metriche di Cloud Monitoring con singole serie temporali per gruppo, il MIG può fare lo scale in il numero di VM a 0. Non è possibile eseguire il ridimensionamento in 0 VM se il criterio contiene altri indicatori, che richiedono dati da 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 dell'autoscaling.
  • MIN_REQ_REPLICAS: il numero minimo di istanze richieste fornito da questa pianificazione quando è attiva.
  • CRON_EXPRESSION: l'ora di inizio e la frequenza di questa pianificazione formattata come espressione CRON.
  • TIME_ZONE: facoltativo, il fuso orario IANA per l'ora di inizio della programmazione, ad esempioEurope/Paris. Il valore predefinito è UTC.
  • DURATION: la durata, in secondi, di questa pianificazione.
  • DESCRIPTION: facoltativo, una descrizione della nuova programmazione della scalabilità.

Puoi creare pianificazioni che vengono eseguite una volta o che si ripetono periodicamente.

Programmazione ripetuta

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

PATCH https://compute.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.

Programmazione una tantum

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

PATCH https://compute.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

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

PATCH https://compute.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 alcuni minuti per visualizzarne le informazioni sullo stato.

Elenco delle pianificazioni di scalabilità

Puoi visualizzare un elenco delle pianificazioni per 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 dall'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 visualizzare i dettagli di un gruppo di istanze gestite, tra cui le configurazioni e gli stati delle relative 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 tuo 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 visualizzare i dettagli di un gestore della scalabilità automatica, tra cui le configurazioni e gli stati delle relative pianificazioni di scalabilità, utilizza il metodo autoscalers.get per un gruppo di istanze gestite zonale o il metodo regionAutoscalers.get per un gruppo di istanze gestite a livello di regione.

Ad esempio, esegui la seguente chiamata per elencare le pianificazioni di un gruppo di istanze gestite zonale che ha un criterio di scalabilità automatica esistente:

GET https://compute.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 autoscaler esistente. Spesso corrisponde al nome del gruppo di istanze gestite.

Eventuali pianificazioni di scalabilità per il tuo 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"
    },
    ...
  },
...
}

Modificare una pianificazione di scalabilità

Puoi modificare una pianificazione di scalabilità esistente per cambiare qualsiasi impostazione, tranne il nome della pianificazione. Puoi anche disattivare o riattivare una pianificazione della 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 dall'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 del ridimensionamento da modificare.

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

  7. Nel nuovo riquadro Modifica pianificazione scalabilità, modifica i campi che vuoi cambiare. Per ulteriori informazioni su ciascun campo, consulta Creare una pianificazione della scalabilità.

  8. Al termine, fai clic su Salva.

Potresti dover 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. Includi gli altri flag in base alle modifiche necessarie.

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 programmazione di scaling esistente.
  • CRON_EXPRESSION: facoltativo: la nuova ora di inizio e la frequenza di questa pianificazione formattata come espressione cron.
  • DURATION: facoltativo. La nuova durata, in secondi, per cui questa pianificazione è attiva.
  • TIME_ZONE: facoltativo, il nuovo fuso orario IANA per l'ora di inizio della programmazione, ad esempioEurope/Paris. Il valore predefinito è UTC.
  • MIN_REQ_REPLICAS: facoltativo, il nuovo numero di istanze minime richieste fornito da questa pianificazione quando è attiva.
  • DESCRIPTION: facoltativo, una nuova descrizione della pianificazione della 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 zonale o il metodo regionAutoscalers.patch per un gruppo di istanze gestite a livello di regione.

Ad esempio, esegui la seguente chiamata per modificare una pianificazione per un gruppo di istanze gestite zonale con un criterio di scalabilità automatica esistente:

PATCH https://compute.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 autoscaler esistente. Spesso corrisponde al nome del gruppo di istanze gestite.
  • SCHEDULE_NAME: il nome della programmazione di scaling esistente.
  • MIN_REQ_REPLICAS: facoltativo, il nuovo numero di istanze minime richieste fornito da questa pianificazione quando è attiva.
  • CRON_EXPRESSION: facoltativo: la nuova ora di inizio e la frequenza di questa pianificazione formattata come espressione cron.
  • TIME_ZONE: facoltativo, il nuovo fuso orario IANA per l'ora di inizio della programmazione, ad esempioEurope/Paris. Il valore predefinito è UTC.
  • DURATION: facoltativo. La nuova durata, in secondi, per cui questa pianificazione è attiva.
  • DESCRIPTION: facoltativo, una nuova descrizione della pianificazione della scalabilità.

Disattivare e riattivare una pianificazione di scalabilità

Le pianificazioni di scalabilità sono attive per impostazione predefinita. Disattiva una pianificazione se vuoi impedirne l'attivazione, ma vuoi salvare la relativa configurazione. Riattiva una pianificazione disattivata quando vuoi utilizzarla di nuovo.

Se non devi memorizzare la pianificazione o hai raggiunto il limite di 128 pianificazioni per questo MIG, elimina la pianificazione. Se vuoi disattivare la scalabilità automatica per un gruppo di istanze gestite, disattivala.

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 dall'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 per le pianificazioni di scalabilità da disattivare o attivare.

  6. Disattiva o attiva le pianificazioni selezionate.

    • Per disattivare 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 attivare le pianificazioni selezionate:
      1. Nella parte superiore del riquadro Pianificazioni di scalabilità, fai clic su Attiva.
      2. Nella nuova finestra di dialogo Attiva pianificazioni, fai clic su Attiva.

Potresti dover 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 disattivare o riattivare una pianificazione di scalabilità, utilizza il comando gcloud compute instance-groups managed update-autoscaling.

Disattivare una pianificazione di scalabilità

Per disattivare 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 dell'autoscaling che vuoi disattivare.
  • ZONE o REGION: facoltativo: la zona o la regione in cui si trova il gruppo di istanze gestite.

Riattivare 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 programmazione di scaling che vuoi riattivare.
  • ZONE o REGION: facoltativo: la zona o la regione in cui si trova il gruppo di istanze gestite.

REST

Per disattivare o riattivare le pianificazioni di scalabilità per un gruppo di istanze gestite, utilizza il metodo autoscalers.patch per un gruppo di istanze gestite 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à da disattivare, imposta il campo disabled su true. Ad esempio, esegui la seguente chiamata per disattivare una pianificazione per un gruppo di istanze gestite zonale con un criterio di scalabilità automatica esistente:

PATCH https://compute.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 autoscaler esistente. Spesso corrisponde al nome del gruppo di istanze gestite.
  • SCHEDULE_NAME: il nome della pianificazione dell'autoscaling che vuoi disattivare.

Riattivazione delle pianificazioni di scalabilità

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

PATCH https://compute.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 autoscaler esistente. Spesso corrisponde al nome del gruppo di istanze gestite.
  • SCHEDULE_NAME: il nome della programmazione di scaling che vuoi riattivare.

Eliminare 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 un OBSOLETE stato.

Un criterio di scalabilità automatica deve sempre avere almeno un indicatore di scalabilità. Se non esiste nessun altro indicatore 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 un uso futuro, disattivala. 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 dall'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 delle 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.

Potresti dover 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 programmazione di scalabilità da 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 zonale o il metodo regionAutoscalers.patch per un gruppo di istanze gestite a livello di regione. Per ogni pianificazione di scalabilità da eliminare, imposta la configurazione della pianificazione su null

Ad esempio, esegui la seguente chiamata per eliminare una pianificazione per un'istanza MIG zonale con un criterio di scalabilità automatica esistente:

PATCH https://compute.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 autoscaler esistente. Spesso corrisponde al nome del gruppo di istanze gestite.
  • SCHEDULE_NAME: il nome della programmazione di scalabilità da 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 della pianificazione di scalabilità

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

  • Istanze minime richieste: il numero di VM necessarie nel gruppo di istanze gestite quando questa pianificazione di scalabilità è attiva.

    Quando questa 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 MIG è sempre limitata dal numero minimo e massimo di istanze configurate nelle impostazioni di scalabilità automatica del MIG.

  • Fuso orario: il fuso orario IANA basato sulla posizione per interpretare l'ora di inizio del programma.

    Un elenco di valori disponibili è definito dal database dei fusi orari IANA, ad esempioEurope/Paris. Se non viene specificato alcun fuso orario, viene utilizzato UTC per default. Alcuni fusi orari IANA osservano l'ora legale. Per scoprire in che modo l'ora legale influisce sulle pianificazioni di scalabilità, consulta Ora legale.

  • Durata: il periodo di tempo per cui vuoi che la pianificazione della scalabilità sia attiva.

    La pianificazione dell'autoscaling è 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 da avere almeno il numero di VM definito dalle istanze richieste dalla pianificazione. Dopo la durata specificata, se 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 seguendo eventuali controlli di scale in configurati.

    Le pianificazioni di scalabilità sono bidirezionali. Le VM vengono rimosse all'ora di interruzione specificata e le dimensioni del gruppo vengono ridotte alle dimensioni minime impostate, a meno che non siano stati specificati 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 attivare la pianificazione del ridimensionamento.

    All'ora di inizio, la pianificazione di scalabilità inizia a creare VM ogni volta che la dimensione del MIG è inferiore alle istanze richieste dalla pianificazione. Imposta l'ora di inizio in modo da lasciare tempo sufficiente per l'avvio e l'inizializzazione delle nuove VM. Ad esempio, se il tuo carico di lavoro richiede 10 minuti dalla creazione della VM per iniziare a essere pubblicato, imposta l'ora di inizio 10 minuti prima dell'ora in cui le VM devono essere pronte.

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

    • Una volta: una programmazione una tantum che inizia solo nella data selezionata.
    • Ogni giorno: una pianificazione ripetuta che inizia ogni giorno.
    • Ogni settimana: una pianificazione ripetuta che inizia ogni settimana nei giorni selezionati della settimana, ad esempio da lunedì a venerdì.
    • Ogni mese: una pianificazione ripetuta che inizia ogni mese nei giorni selezionati del mese, ad esempio il primo giorno di ogni mese. Gli ultimi giorni del mese (dal 29 al 31) sono validi solo per i mesi in cui si verificano.

Espressioni cron

L'ora di inizio e la ricorrenza di una pianificazione di scalabilità possono essere configurate utilizzando un'espressione CRON. Cron è uno scheduler dei job basato sul tempo utilizzato originariamente nei sistemi operativi per computer Unix-like.

Sintassi

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

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

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ò anche utilizzare caratteri speciali:

Carattere speciale Significato Esempio
* tutte Se il campo Giorno del mese, il campo Giorno della settimana e il campo Anno (se incluso) sono impostati 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.
/ passaggio Se il campo mese è impostato su */3, la programmazione inizia durante il primo mese e ogni 3 mesi successivi: gennaio, aprile, luglio e ottobre.

Quando scrivi un'espressione cron, tieni presente quanto segue:

  • Gli spazi vengono utilizzati per separare i campi di un'espressione cron. Ricorda di non aggiungere spazi bianchi aggiuntivi in un campo che utilizza caratteri speciali.
  • Quando specifichi sia un giorno della settimana sia un giorno del mese (quando nessuno campo è impostato su *), la pianificazione utilizza l'unione di questi valori, non l'intersezione. Ad esempio, la pianificazione 0 8 1 * Mon inizia alle 8:00 ogni lunedì e il primo giorno di ogni mese. Questo programma non inizia alle 8:00 solo i lunedì che sono anche il primo giorno del mese.
  • Puoi utilizzare uno o più caratteri speciali in ogni campo di un'espressione cron. Ad esempio, se vuoi che una pianificazione inizi ogni mese tranne a maggio, puoi impostare il campo del mese su 1-4,6-12 (un elenco di due intervalli senza spazi).
  • Quando utilizzi intervalli (-), non puoi utilizzare 0-7 o Sun-Sun per il campo del 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 senza stato, quindi a volte i passaggi possono essere irregolari. Ad esempio, se vuoi che una programmazione venga eseguita ogni 6 ore, puoi impostare il campo ore su */6, che si comporta come l'elenco di ogni multiplo valido di 6 (0,6,12,18). I passaggi sono pari perché 24 ore si dividono facilmente in parti di 6 ore. Tuttavia, se imposti il campo ore su */7, la pianificazione non inizierà sempre a intervalli di 7 ore. Al contrario, */7 si comporta come se elencasse ogni multiplo valido di 7 (0,7,14,21), il che significa che la programmazione può iniziare alle ore 00:00, 07:00, 14:00 e 21:00.

Programmazioni ripetute rispetto a quelle una tantum

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

Informazioni sullo stato della pianificazione

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

  • Stato (state): lo stato corrente della pianificazione del ridimensionamento, rappresentato da uno dei seguenti stati:
    • Pronta (READY): questa pianificazione è pronta, ma non è ancora attiva. Il gestore della scalabilità automatica è in attesa della successiva occorrenza di questa pianificazione.
    • Attivo (ACTIVE): questa pianificazione è attualmente attiva. Il gestore della scalabilità automatica sta tentando di fornire a questo MIG almeno le istanze richieste specificate da questa pianificazione.
    • Obsoleto (OBSOLETE): questa pianificazione è scaduta e non sarà più attiva. Lo strumento di scalabilità automatica ignora questa pianificazione perché non ci sono occorrenze future.
    • Disattivata (DISABLED): questa pianificazione non può essere attiva perché è stata disattivata manualmente. Lo strumento di scalabilità automatica ignora questa pianificazione finché non viene riattivato.
  • Ultima occorrenza (lastStartTime): il timestamp dell'ultima volta che questa programmazione dell'autoscaling è diventata attiva. Si tratta della data e dell'ora effettive dell'ultima attivazione. Ad esempio, se hai una pianificazione di scalabilità disattivata con una ricorrenza giornaliera, un'ora di inizio alle 10:00 e una durata di 2 ore e riattivi la pianificazione alle 11:00 di oggi, lastStartTime è oggi alle 11:00.
  • Occasione successiva (nextStartTime): il timestamp della data e dell'ora successiva in cui questa programmazione deve diventare attiva.

Programmazioni sovrapposte

A seconda dell'ora di inizio, della ricorrenza, della durata e del fuso orario, due o più pianificazioni di scalabilità potrebbero sovrapporsi. Quando è attiva più di una pianificazione, il gestore della scalabilità automatica utilizza il maggior numero di istanze VM richieste da tutte le pianificazioni di scalabilità attive. In questo modo puoi assicurarti che sia sempre disponibile una 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 e richiede almeno 10 VM, ma hai anche una pianificazione una tantum per l'intera giornata che richiede almeno 20 VM, il gestore della scalabilità automatica esegue la scalabilità del gruppo di istanze gestite a almeno 20 VM quel giorno. Questa opzione è utile se hai requisiti di capacità regolari e ricorrenti, ma talvolta ne hai bisogno di più per gestire eventi una tantum. Questo comportamento ti consente di pianificare la capacità senza preoccuparti che venga sostituita da altre pianificazioni con requisiti VM inferiori.

Inoltre, un gestore della scalabilità automatica fornisce sempre il maggior numero di istanze VM richiesto da qualsiasi indicatore di scalabilità automatica attivo. Per ulteriori informazioni, consulta Utilizzare 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 di scalabilità. Se il fuso orario della pianificazione prevede l'ora legale, l'ora di inizio della pianificazione viene regolata automaticamente in modo da rimanere sincronizzata con l'ora della località selezionata. Ad esempio, se crei una pianificazione della scalabilità che inizia ogni giorno alle 07:00 per il fuso orario America/New_York, questa pianificazione inizia ogni volta che sono le 07:00 a New York, utilizzando l'ora legale della costa orientale o l'ora solare della costa orientale di conseguenza.

Le pianificazioni di scalabilità vengono eseguite sempre per l'intera durata configurata, ma potrebbero avere orari di inizio e di fine leggermente diversi nei giorni in cui viene attivata l'osservazione dell'ora legale. Questo accade perché i passaggi all'ora legale hanno periodi di transizione, un periodo di tempo che viene saltato 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 2:00 e ha una transizione di un'ora, l'orologio passa dalle 1:59:59 alle 3:00, quindi l'intervallo di tempo dalle 2:00 alle 2:59:59 viene saltato. Se l'ora legale per quel fuso orario termina alle 2:00, l'orologio passa dalle 2:59:59 alle 2:00, quindi l'intervallo di tempo dalle 2:00 alle 2:59:59 viene ripetuto. Le seguenti istruzioni assumeno che il fuso orario per la programmazione utilizzi una transizione di un'ora per l'ora legale.

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

  • Le pianificazioni attive durante l'ora saltata vengono comunque eseguite per l'intera durata, ma per compensare l'ora saltata, queste pianificazioni terminano un'ora dopo l'ora di fine programmata nei giorni senza transizioni all'ora legale. In genere, l'ora di fine di una pianificazione è la somma dell'ora di inizio e della durata della pianificazione. Tuttavia, se il fuso orario salta un'ora mentre è attiva una pianificazione, e la durata e l'ora di inizio rimangono invariate, l'ora di fine per la pianificazione è superiore di 1 ora alla somma della durata e dell'ora di inizio della programmazione.
  • Le pianificazioni configurate per iniziare durante l'ora saltata inizieranno anche un'ora dopo l'ora di inizio nei giorni senza transizioni all'ora legale.

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

  • Le pianificazioni attive durante l'ora di ripetizione vengono comunque eseguite per l'intera durata, ma per compensare l'ora ripetuta, queste pianificazioni terminano un'ora prima dell'ora di fine nei giorni senza transizioni all'ora legale. In genere, 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 per 1 ora mentre è attiva una programmazione, e la durata e l'ora di inizio rimangono invariate, l'ora di fine della programmazione è inferiore di 1 ora alla somma della programmazione ora di inizio e della durata.
  • Le pianificazioni configurate per l'avvio durante il periodo di transizione vengono avviate all'ora configurata, ma non si riavviano durante la seconda occorrenza ripetuta dell'ora di inizio.

La maggior parte dei fusi orari che osservano l'ora legale utilizza un periodo di transizione di un'ora. Tuttavia, se il fuso orario della programmazione utilizza un periodo di transizione diverso, ad esempio il fuso orario Australia/Lord_Howe, che utilizza transizioni di 30 minuti, puoi aspettarti lo stesso comportamento. Basta sostituire 1 hour con l'ora di transizione al fuso orario DST pertinente.

Passaggi successivi