Visualizza l'arresto normale in un'istanza Compute Engine


Questo documento spiega come visualizzare le impostazioni e l'avanzamento di un arresto normale in un'istanza Compute Engine. Per scoprire di più sull'arresto normale, consulta la panoramica sull'arresto normale.

Quando visualizzi i dettagli di un'istanza, puoi eseguire queste operazioni:

  • Visualizza le impostazioni di arresto normale. Puoi verificare se l'arresto normale è abilitato e per quanto tempo rimane attivo.

  • Monitora l'arresto normale. Quando è in corso un arresto normale, puoi effettuare le seguenti verifiche:

    • Il momento in cui processo di arresto normale termina.

    • Se è in corso un'operazione di interruzione o eliminazione.

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 a servizi e API di 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. 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 visualizzare l'arresto normale di un'istanza di computing, chiedi all'amministratore di concederti il ruolo IAM Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) sul 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.get on the project necessaria per visualizzare l'arresto normale di un'istanza di computing.

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

Visualizza le impostazioni di arresto normale

Per visualizzare le impostazioni di arresto normale in un'istanza di computing, 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.

    La pagina dei dettagli dell'istanza si apre nella scheda Dettagli.

  3. Per controllare le impostazioni di arresto normale, nella sezione Policy di disponibilità, controlla il valore del campo Durata massima dell'arresto normale. Questo campo mostra la durata dell'arresto normale. Se viene visualizzato un trattino (-), significa che l'arresto normale è disattivato.

gcloud

Per visualizzare le impostazioni di arresto normale in un'istanza, utilizza il comando gcloud beta compute instances describe:

gcloud beta compute instances describe INSTANCE_NAME \
    --zone=ZONE

Sostituisci quanto segue:

  • INSTANCE_NAME: il nome dell'istanza

  • ZONE: la zona in cui esiste l'istanza

Se l'arresto normale è abilitato, l'output è simile al seguente:

...
scheduling:
  ...
  gracefulShutdown:
    enabled: true
    maxDuration:
      seconds: 'MAX_DURATION'
  ...
...

L'output include il valore MAX_DURATION. Questo valore indica la durata in secondi del periodo di arresto normale. Se non hai specificato una durata di arresto normale alla sua attivazione nell'istanza, Compute Engine omette il campo maxDuration e imposta la durata su 10 minuti.

REST

Per visualizzare le impostazioni di arresto normale in un'istanza, 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 hai creato l'istanza

  • ZONE: la zona in cui esiste l'istanza

  • INSTANCE_NAME: il nome dell'istanza

Se l'arresto normale è abilitato, l'output è simile al seguente:

{
  ...
  "scheduling": {
    ...
    "gracefulShutdown": {
      "enabled": true,
      "maxDuration": {
        "seconds": "MAX_DURATION"
      }
    }
  },
  ...
}

L'output include il valore MAX_DURATION. Questo valore indica la durata in secondi del periodo di arresto normale. Se non hai specificato una durata di arresto normale alla sua attivazione nell'istanza, Compute Engine omette il campo maxDuration e imposta la durata su 10 minuti.

Monitora l'arresto normale

Per monitorare un arresto normale in corso in un'istanza di computing, 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.

    La pagina dei dettagli dell'istanza si apre nella scheda Dettagli.

  3. Se è in corso un arresto normale, nella sezione Informazioni di base controlla i seguenti campi:

    • Stato: questo campo mostra lo stato dell'istanza. Durante un arresto normale, questo campo mostra Arresto in attesa e un timer conto alla rovescia. Il timer effettua il conto alla rovescia fino al termine dell'arresto normale.

    • Stato target: questo campo indica se Compute Engine sta interrompendo (Arrestato) o eliminando (Eliminato) l'istanza.

gcloud

Per monitorare un arresto normale in corso in un'istanza, utilizza il comando gcloud beta compute instances describe:

gcloud beta compute instances describe INSTANCE_NAME \
    --zone=ZONE

Sostituisci quanto segue:

  • INSTANCE_NAME: il nome dell'istanza

  • ZONE: la zona in cui esiste l'istanza

Se è in corso un arresto normale, l'output è simile al seguente:

...
resourceStatus:
  ...
  shutdownDetails:
    maxDuration:
      seconds: 'MAX_DURATION'
    requestTimestamp: 'REQUEST_TIMESTAMP'
    stopState: STOP_STATE
    targetState: TARGET_STATE
...
status: PENDING_STOP
...

Questo output include i seguenti valori:

  • MAX_DURATION: la durata del periodo di arresto normale in secondi. Dopo che Compute Engine ha impostato STOP_STATE su STOPPING, elimina il campo maxDuration.

  • REQUEST_TIMESTAMP: il timestamp dell'inizio di STOP_STATE

  • STOP_STATE: la fase di arresto dell'istanza. Il valore può essere uno dei seguenti:

    • PENDING_STOP: Compute Engine ha avviato l'arresto normale. L'istanza rimane in questo stato finché non interrompi manualmente l'arresto normale o finché non termina il periodo impostato.

    • STOPPING: l'arresto normale è terminato e Compute Engine continua con l'operazione di arresto o eliminazione.

  • TARGET_STATE: indica se Compute Engine sta interrompendo (STOPPED) o eliminando (DELETED) l'istanza.

Se è in esecuzione un'operazione di arresto, dopo che ha impostato il campo status su TERMINATE, Compute Engine elimina il campo shutdownDetails.

REST

Per monitorare un arresto normale in corso in un'istanza, invia 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 hai creato l'istanza

  • ZONE: la zona in cui esiste l'istanza

  • INSTANCE_NAME: il nome dell'istanza

Se è in corso un arresto normale, l'output è simile al seguente:

{
  ...
  "resourceStatus": {
    ...
    "shutdownDetails": {
      "maxDuration": {
        "seconds": "MAX_DURATION"
      },
      "requestTimestamp": "REQUEST_TIMESTAMP",
      "stopState": "STOP_STATE",
      "targetState": "TARGET_STATE"
    }
  },
  ...
  "status": "PENDING_STOP",
  ...
}

Questo output include i seguenti valori:

  • MAX_DURATION: la durata del periodo di arresto normale in secondi. Dopo che Compute Engine ha impostato STOP_STATE su STOPPING, elimina il campo maxDuration.

  • REQUEST_TIMESTAMP: il timestamp dell'inizio di STOP_STATE

  • STOP_STATE: la fase di arresto dell'istanza. Il valore può essere uno dei seguenti:

    • PENDING_STOP: Compute Engine ha avviato l'arresto normale. L'istanza rimane in questo stato finché non interrompi manualmente l'arresto normale o finché non termina il periodo impostato.

    • STOPPING: l'arresto normale è terminato e Compute Engine continua con l'operazione di arresto o eliminazione.

  • TARGET_STATE: indica se Compute Engine sta interrompendo (STOPPED) o eliminando (DELETED) l'istanza.

Se è in esecuzione un'operazione di arresto, dopo che ha impostato il campo status su TERMINATE, Compute Engine elimina il campo shutdownDetails.

Server di metadati

  1. Connettiti all'istanza.

  2. Esegui una query sul server di metadati:

    curl "http://metadata.google.internal/computeMetadata/v1/instance/shutdown-details/?recursive=true?alt=json" \-H "Metadata-Flavor: Google"
    

    Se è in corso un arresto normale, l'output è simile al seguente:

    {
      "maxDuration": "MAX_DURATION",
      "requestTimestamp": "REQUEST_TIMESTAMP",
      "stopState": "STOP_STATE",
      "targetState": "TARGET_STATE"
    }
    

    L'output include i seguenti valori:

    • MAX_DURATION: la durata del periodo di arresto normale in secondi. Dopo che Compute Engine ha impostato STOP_STATE su STOPPING, elimina il campo maxDuration.

    • REQUEST_TIMESTAMP: il timestamp dell'inizio di STOP_STATE

    • STOP_STATE: la fase di arresto dell'istanza. Il valore può essere uno dei seguenti:

      • PENDING_STOP: Compute Engine ha avviato l'arresto normale. L'istanza rimane in questo stato finché non interrompi manualmente l'arresto normale o finché non termina il periodo impostato.

      • STOPPING: l'arresto normale è terminato e Compute Engine continua con l'operazione di arresto o eliminazione.

    • TARGET_STATE: indica se Compute Engine sta interrompendo (STOPPED) o eliminando (DELETED) l'istanza.

Passaggi successivi