Disattivare l'arresto graduale in un'istanza Compute Engine


Questo documento spiega come disattivare l'arresto normale in un'istanza Compute Engine esistente. Per scoprire di più sull'arresto normale, incluso come saltare l'arresto normale per singole operazioni di arresto o eliminazione, consulta la Panoramica sull'arresto normale.

Se hai attivato l'arresto normale in un'istanza, puoi disattivarlo per:

  • Accelerare le operazioni di arresto o eliminazione in modo da evitare addebiti non necessari.

  • Aggiornare le proprietà dell'istanza che richiedono un riavvio.

Prima di iniziare

  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è il processo mediante il quale la tua identità viene verificata per l'accesso ai Google Cloud servizi e alle API. 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. After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      2. Set a default region and zone.
      3. REST

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

          After installing the Google Cloud CLI, initialize it by running the following command:

          gcloud init

          If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

        Per saperne di più, consulta la sezione Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud .

Ruoli obbligatori

Per ottenere l'autorizzazione necessaria per disattivare l'arresto normale in un'istanza di computing, chiedi all'amministratore di concederti il ruolo IAM Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene l'autorizzazione compute.instances.update on the instance necessaria per disattivare l'arresto normale in un'istanza di computing.

Potresti anche ottenere questa autorizzazione con ruoli personalizzati o altri ruoli predefiniti.

Disattiva l'arresto normale in un'istanza

Puoi disattivare l'arresto normale in un'istanza di computing senza riavviare l'istanza. Tuttavia, non puoi disattivare l'arresto normale mentre l'istanza è in fase di arresto normale (PENDING_STOP).

Per disattivare l'arresto normale in un'istanza, seleziona una delle seguenti opzioni:

Console

  1. Nella console Google Cloud , vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Nella colonna Nome, fai clic sul nome dell'istanza per visualizzarne i dettagli.

    Viene visualizzata la pagina dei dettagli dell'istanza e viene selezionata la scheda Dettagli.

  3. Fai clic su Modifica.

  4. Nella sezione Gestione, deseleziona la casella di controllo Esegui l'arresto normale della VM.

  5. Fai clic su Salva.

gcloud

Per disattivare l'arresto normale in un'istanza, utilizza il comando gcloud beta compute instances update con il flag --no-graceful-shutdown:

gcloud beta compute instances update INSTANCE_NAME \
    --no-graceful-shutdown \
    --zone=ZONE

Sostituisci quanto segue:

  • INSTANCE_NAME: il nome dell'istanza

  • ZONE: la zona in cui si trova l'istanza

REST

  1. Crea un file JSON vuoto.

  2. Per visualizzare le proprietà di un'istanza esistente, effettua una richiesta GET al metodo instances.get beta:

    GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto in cui si trova l'istanza

    • ZONE: la zona in cui si trova l'istanza

    • INSTANCE_NAME: il nome di un'istanza esistente

  3. Nel file JSON vuoto che hai creato nei passaggi precedenti, procedi in questo modo:

    1. Inserisci le proprietà dell'istanza dall'output della richiesta GET.

    2. Individua il campo gracefulShutdown.enabled e modifica il valore in false:

      {
        ...
        "scheduling": {
          ...
          "gracefulShutdown": {
            "enabled": false
          }
        },
        ...
      }
      
  4. Per aggiornare l'istanza, effettua una richiesta PUT al metodo instances.update beta. Includi quanto segue:

    • Nell'URL della richiesta, includi il parametro di query mostDisruptiveAllowedAction.

    • Nel corpo della richiesta, includi le proprietà dell'istanza dal file JSON che hai creato e aggiornato nei passaggi precedenti.

    La richiesta PUT per aggiornare l'istanza è simile alla seguente:

    PUT https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?mostDisruptiveAllowedAction=ALLOWED_ACTION
    
    {
      ...
      "scheduling": {
        ...
        "gracefulShutdown": {
          "enabled": false
        }
      },
      ...
    }
    

    Sostituisci ALLOWED_ACTION con uno dei seguenti valori:

    • NO_EFFECT: la richiesta verifica se la richiesta di aggiornamento è valida e se le risorse sono disponibili, ma non aggiorna l'istanza.

    • REFRESH: se le proprietà dell'istanza modificate non richiedono il riavvio dell'istanza, Compute Engine aggiorna l'istanza.

Per ulteriori informazioni sull'aggiornamento delle proprietà di un'istanza, consulta Aggiorna le proprietà delle istanze.

Passaggi successivi