Abilita svuotamento della connessione

Lo svuotamento della connessione è un processo che garantisce che i dati in corso Il completamento delle richieste viene concesso quando un'istanza di macchina virtuale (VM) viene rimossa da un gruppo di istanze o quando un endpoint viene rimosso dai gruppi di endpoint di rete (NEG) che sono a livello di zona.

Le informazioni riportate in questa pagina si applicano solo ai gruppi di istanze e ai seguenti tipi di NEG a livello di zona:

Per attivare lo svuotamento delle connessioni, imposta un timeout per lo svuotamento delle connessioni sul servizio di backend. La durata del timeout deve essere compresa tra 0 e 3600 secondi inclusi.

Per la durata specificata del timeout, le richieste esistenti alla VM rimossa o endpoint hanno il tempo di completarle. Il bilanciatore del carico non invia nuovi e connessioni alla VM o all'endpoint rimosso. Una volta raggiunta la durata del timeout, il bilanciatore del carico interrompe l'invio di tutto il traffico alla VM o all'endpoint rimosso.

Lo svuotamento della connessione inizia ogni volta che esegui queste operazioni:

Potrebbero essere necessari fino a 60 secondi dopo il superamento della durata del timeout specificata per l'interruzione dell'istanza.

Se abiliti lo svuotamento della connessione su più servizi di backend che condividono degli stessi gruppi di istanze o NEG, viene utilizzato il valore di timeout più grande. Ad esempio, supponiamo che lo stesso gruppo di istanze o NEG zonale sia un backend per due servizi di backend, in cui un servizio di backend ha un timeout di svuotamento della connessione di 100 secondi e l'altro servizio di backend ha un timeout di svuotamento della connessione di 200 secondi. Google Cloud utilizza 200 secondi come connessione effettiva timeout per lo svuotamento in modo che le connessioni esistenti possano esistere per 200 secondi prima che Google Cloud li termini. Se il backend è un servizio gestito gruppo di istanze, le operazioni che eliminano l'istanza sono ritardate di almeno 200 secondi.

Di seguito è riportato un elenco di specifiche relative al consumo di connessione:

Per attivare lo svuotamento della connessione, completa i seguenti passaggi.

Console

Aggiorna un bilanciatore del carico

  1. Vai alla pagina Bilanciamento del carico nella console Google Cloud.
    Vai a Bilanciamento del carico
  2. Fai clic su Modifica per il bilanciatore del carico o crea un nuovo carico con il bilanciatore del carico di rete passthrough esterno regionale.
  3. Fai clic su Configurazione backend.
  4. Fai clic su Configurazioni avanzate nella parte inferiore del servizio di backend.
  5. Nel campo Timeout per svuotamento connessioni, inserisci un valore compreso tra 0 e 3600. Un'impostazione di 0 disattiva lo svuotamento della connessione.

Aggiorna Cloud Service Mesh

  1. Vai alla pagina Cloud Service Mesh nella console Google Cloud.
    Vai a Cloud Service Mesh
  2. Fai clic sul nome del servizio.
  3. Fai clic su Configurazioni avanzate nella parte inferiore dello completamente gestito di Google Cloud.
  4. Nel campo Timeout per svuotamento connessioni, inserisci un valore compreso tra 0 e 3600. L'impostazione 0 disattiva lo svuotamento della connessione.
  5. Fai clic su Salva.

gcloud

Abilita lo svuotamento della connessione su un servizio di backend nuovo o esistente utilizzando il flag --connection-draining-timeout. Gli esempi riportati di seguito mostrano come modificare il timeout di svuotamento della connessione:

Sostituisci i segnaposto con valori validi:

  • BACKEND_SERVICE: il servizio di backend che stai aggiornando.
  • REGION: se applicabile, la regione del servizio di backend che stai aggiornando
  • CONNECTION_TIMEOUT_SECS: il numero di secondi di attesa prima le connessioni esistenti a istanze o endpoint vengono terminate tra il giorno 0 e il giorno 3600 secondi, inclusi. Un'impostazione di 0 disattiva lo svuotamento della connessione. Il timeout per lo svuotamento della connessione si applica a tutti i backend del backend completamente gestito di Google Cloud.

    Puoi anche utilizzare il comando gcloud compute backend-services edit per aggiornare un servizio di backend esistente.

API

Per abilitare lo svuotamento della connessione nell'API durante la creazione o l'aggiornamento di un istanza o endpoint, effettua una richiesta al rispettivo URI dell'API per includere il campo connectionDraining nel corpo della richiesta. Gli esempi riportati di seguito mostrano come impostare questo attributo modificando un servizio di backend esistente. Per informazioni sugli altri requisiti consulta la documentazione di ciascun bilanciatore del carico.

Per un bilanciatore del carico globale o tra regioni esistente:

PATCH https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices

Per un bilanciatore del carico regionale esistente:

PATCH https://www.googleapis.com/compute/v1/projects/PROJECT_ID/region/REGION/backendServices

{
   "name": "BACKEND_SERVICE",
   "connectionDraining": {
     "drainingTimeoutSec": CONNECTION_TIMEOUT_SECS
   }
}

dove:

  • PROJECT_ID è l'ID progetto che contiene del bilanciatore del carico o del deployment di Cloud Service Mesh.
  • BACKEND_SERVICE è il servizio di backend utilizzata dal bilanciatore del carico o dal deployment Cloud Service Mesh.
  • CONNECTION_TIMEOUT_SECS è il numero di secondi di attesa prima che le istanze o gli endpoint vengano rimossi dal gruppo di istanze o dal NEG, compreso tra 0 e 3600 secondi. Questo il timeout si applica a tutti i gruppi di istanze o NEG a cui fa riferimento il servizio di backend.

Passaggi successivi

Per informazioni generali sui servizi di backend, consulta la Panoramica dei servizi di backend.