Google Cloud fornisce meccanismi di controllo di integrità che determinano se le istanze di backend rispondono correttamente al traffico. Questo documento descrive come creare e utilizzare i controlli di integrità per i bilanciatori del carico e Cloud Service Mesh.
In questa pagina si presuppone che tu abbia familiarità con i seguenti concetti:
Creazione dei controlli di integrità
Google Cloud consente di creare o selezionare un controllo di integrità quando completi la configurazione del backend del bilanciatore del carico nella console Google Cloud.
Puoi anche creare un controllo di integrità indipendentemente dalla configurazione del bilanciatore del carico nella console Google Cloud. Ciò è utile se devi creare prima il controllo di integrità o se devi usarlo per più bilanciatori del carico. Puoi creare un controllo di integrità utilizzando la console Google Cloud, Google Cloud CLI o le API REST.
Console
- Vai alla pagina Controlli di integrità nella console Google Cloud.
Vai alla pagina Controlli di integrità - Fai clic su Crea un controllo di integrità.
- Nella pagina Crea un controllo di integrità, fornisci le seguenti informazioni:
- Nome: specifica un nome per il controllo di integrità.
- Descrizione: se vuoi, puoi fornire una descrizione.
- Ambito: seleziona un ambito, Globale o A livello di regione, a seconda del tipo di bilanciatore del carico.
- Se hai selezionato A livello di regione, scegli una Regione dal menu a discesa.
- Protocollo: scegli un protocollo per il controllo di integrità.
- Porta: fornisci un numero di porta. Quando crei un controllo di integrità nella console Google Cloud, devi specificare la porta tramite un numero di porta.
- Protocollo proxy: facoltativamente, puoi aggiungere un'intestazione proxy alle richieste effettuate dai sistemi di probe del controllo di integrità.
- Percorso di richiesta e risposta: per i protocolli HTTP, HTTPS e HTTP2, puoi fornire facoltativamente un percorso dell'URL che i sistemi di probe del controllo di integrità devono contattare. Per ulteriori informazioni, consulta Flag aggiuntivi per i controlli di integrità HTTP, HTTPS e HTTP/2.
- Richiesta e risposta: per i protocolli TCP e SSL, puoi specificare una stringa di testo ASCII da inviare e la stringa di risposta di testo prevista. Per ulteriori informazioni, consulta Flag aggiuntivi per i controlli di integrità SSL e TCP.
- Intervallo di controllo: definisci il periodo di tempo dall'inizio di un sonda all'inizio di quello successivo.
- Timeout: definisci quanto tempo Google Cloud attende una risposta a un probe. Il suo valore deve essere minore o uguale all'intervallo di controllo.
- Soglia di integrità: definisci il numero di probe sequenziali che devono riuscire affinché l'istanza VM sia considerata integro.
- Soglia di stato non integro: definisci il numero di probe sequenziali che devono avere esito negativo affinché l'istanza VM venga considerata non integro.
- Fai clic su Crea.
gcloud
Per creare un controllo di integrità globale, utilizza il comando
compute health-checks create
appropriato:gcloud compute health-checks create PROTOCOL NAME \ --global \ --description=DESCRIPTION \ --check-interval=CHECK_INTERVAL \ --timeout=TIMEOUT \ --healthy-threshold=HEALTHY_THRESHOLD \ --unhealthy-threshold=UNHEALTHY_THRESHOLD \ PORT_SPECIFICATION \ ADDITIONAL_FLAGS
Per creare un controllo di integrità a livello di regione, utilizza il comando
compute health-checks create
appropriato:gcloud compute health-checks create PROTOCOL NAME \ --region=REGION \ --description=DESCRIPTION \ --check-interval=CHECK_INTERVAL \ --timeout=TIMEOUT \ --healthy-threshold=HEALTHY_THRESHOLD \ --unhealthy-threshold=UNHEALTHY_THRESHOLD \ PORT_SPECIFICATION \ ADDITIONAL_FLAGS
Sostituisci quanto segue:
PROTOCOL
definisce il protocollo utilizzato per il controllo di integrità. Le opzioni valide sonogrpc
,http
,https
,http2
,ssl
etcp
.NAME
è il nome del controllo di integrità. All'interno di un determinato progetto: ogni controllo di integrità globale deve avere un nome univoco, mentre i controlli di integrità a livello di regione devono avere nomi univoci all'interno di una determinata regione.REGION
: tutti i bilanciatori del carico, ad eccezione dei bilanciatori del carico delle applicazioni esterni regionali e dei bilanciatori del carico delle applicazioni interni regionali, utilizzano i controlli di integrità globali (--global
). I bilanciatori del carico delle applicazioni interni regionali utilizzano i controlli di integrità a livello di regione la cui regione deve corrispondere alla regione del servizio di backend.DESCRIPTION
è una descrizione facoltativa.CHECK_INTERVAL
è il periodo di tempo che intercorre tra l'inizio della connessione del sistema di probe del controllo di integrità e l'inizio di quella successiva. Le unità sono in secondi. Se omesso, Google Cloud utilizza il valore5s
(5 secondi).TIMEOUT
è il tempo di attesa di Google Cloud per una risposta a un probe. Il valore diTIMEOUT
deve essere minore o uguale aCHECK_INTERVAL
. Le unità sono in secondi. Se omesso, Google Cloud utilizza il valore5s
(5 secondi).HEALTHY_THRESHOLD
eUNHEALTHY_THRESHOLD
specificano il numero di probe sequenziali che devono avere esito positivo o negativo affinché l'istanza VM sia considerata in stato integro o non integro. Se uno dei due viene omesso, Google Cloud utilizza una soglia predefinita di2
.PORT_SPECIFICATION
: definisce la specifica della porta utilizzando uno dei flag delle specifiche della porta.ADDITIONAL_FLAGS
sono altri flag per specificare porte e opzioni specifiche diPROTOCOL
. Consulta Flag aggiuntivi per i controlli di integrità HTTP, HTTPS e HTTP/2, Flag aggiuntivi per i controlli di integrità SSL e TCP o Flag aggiuntivi per i controlli di integrità gRPC.
Terraform
Per creare un controllo di integrità globale, utilizza la risorsa google_compute_health_check
.
Per creare un controllo di integrità a livello di regione, utilizza la risorsa google_compute_region_health_check.
Per scoprire come applicare o rimuovere una configurazione Terraform, vedi Comandi Terraform di base.
API
Per creare un controllo di integrità globale, utilizza healthChecks.insert
Per creare un controllo di integrità a livello di regione, utilizza regionHealthChecks.insert
Modifica controlli di integrità
Non puoi convertire un controllo di integrità in un controllo di integrità legacy (o viceversa) modificando il controllo di integrità. Non puoi inoltre modificare il nome o l'ambito di un controllo di integrità (ad esempio, da globale a regionale).
Console
- Vai alla pagina Controlli di integrità nella console Google Cloud.
Vai alla pagina Controlli di integrità - Fai clic su un controllo di integrità per visualizzarne i dettagli.
- Se devi modificare il controllo di integrità, fai clic su Modifica e poi:
- Apporta le modifiche necessarie ai parametri.
- Fai clic su Salva.
gcloud
Identifica il nome e l'ambito del controllo di integrità. Per le istruzioni, vedi Elencare i controlli di integrità.
Ad eccezione del nome, del protocollo e dell'ambito di un controllo di integrità, puoi modificare uno qualsiasi dei flag comuni, i flag delle specifiche delle porte e altri flag aggiuntivi. Per modificare un controllo di integrità esistente, utilizza il comando
compute health-checks update
appropriato. Per i flag omessi, vengono conservate le impostazioni preconfigurate.Esempio di modifica di un controllo di integrità globale: il seguente comando modifica un controllo di integrità HTTP globale denominato
hc-http-port-80
modificando l'intervallo di controllo, il timeout e il percorso della richiesta:gcloud compute health-checks update http hc-http-port-80 \ --global \ --check-interval=20s \ --timeout=15s \ --request-path="/health"
Esempio di modifica di un controllo di integrità a livello di regione: il seguente comando modifica un controllo di integrità TCP a livello di regione in
us-west1
denominatohc-west1-tcp-ldap
cambiando le specifiche della porta:gcloud compute health-checks update tcp hc-west1-tcp-ldap \ --region=us-west1 \ --port=631
API
Identifica il nome e l'ambito del controllo di integrità. Per istruzioni, consulta la sezione Elenco dei controlli di integrità.
Ad eccezione di nome, protocollo e ambito di un controllo di integrità, con queste chiamate API puoi modificare uno qualsiasi dei flag comuni, i flag delle specifiche delle porte e altri flag aggiuntivi. Utilizza le chiamate API
patch
per conservare eventuali impostazioni preconfigurate che non sono impostate esplicitamente nella richiesta.Per modificare un controllo di integrità globale, utilizza healthChecks.update o healthChecks.patch.
Per modificare un controllo di integrità a livello di regione, utilizza regionHealthChecks.update o regionHealthChecks.patch.
Elenca controlli di integrità
Console
- Vai alla pagina Controlli di integrità nella console Google Cloud.
Vai alla pagina Controlli di integrità - Fai clic su un controllo di integrità per visualizzarne i dettagli.
gcloud
Per elencare i controlli di integrità, utilizza il comando compute health-checks
list
:
Per elencare i controlli di integrità globali:
gcloud compute health-checks list \ --global
Per elencare i controlli di integrità a livello di regione: sostituisci
REGION_LIST
con un elenco delimitato da virgole di regioni Google Cloud su cui eseguire la query.gcloud compute health-checks list \ --regions=REGION_LIST
Dopo aver individuato il nome e l'ambito di un controllo di integrità, utilizza il comando compute
health-checks
describe
per visualizzare la configurazione attuale.
Per descrivere un controllo di integrità globale, sostituisci
NAME
con il relativo nome.gcloud compute health-checks describe NAME \ --global
Per descrivere un controllo di integrità a livello di regione, sostituisci
NAME
con il nome eREGION
con la regione.gcloud compute health-checks describe NAME \ --region=REGION
API
Per elencare i controlli di integrità, utilizza queste chiamate API:
Per elencare i controlli di integrità globali: healthChecks.list
Per elencare i controlli di integrità a livello di regione: regionHealthChecks.list
Per descrivere l'attuale configurazione di un controllo di integrità, utilizza queste chiamate API:
Per descrivere un controllo di integrità globale: healthChecks.get
Per descrivere un controllo di integrità a livello di regione: regionHealthChecks.get
Flag aggiuntivi
Questa sezione descrive i flag aggiuntivi che puoi utilizzare durante la creazione o la modifica di un controllo di integrità. Alcuni flag, come le specifiche della porta, devono essere impostati utilizzando
gcloud
o l'API.
Flag delle specifiche delle porte
Se crei un controllo di integrità utilizzando Google Cloud CLI o l'API, hai due opzioni per specificare la porta del controllo di integrità. La tabella seguente mostra le opzioni di specifica delle porte per combinazioni di bilanciatore del carico e backend valide. Il termine gruppo di istanze si riferisce ai gruppi di istanze non gestite, ai gruppi di istanze gestite a livello di zona o ai gruppi di istanze gestite a livello di regione.
Ogni controllo di integrità può utilizzare un solo tipo di specifica della porta.
Prodotto | Tipo di backend | Opzioni delle specifiche della porta |
---|---|---|
Bilanciatore del carico di rete passthrough esterno | Gruppi di istanze | • --port : specifica una porta TCP in base al numero, da 1
a 65535 Il flag --use-serving-port verrà ignorato per un controllo di integrità associato a un bilanciatore del carico di rete passthrough esterno perché i servizi di backend per i bilanciatori del carico di rete passthrough esterni non hanno una specifica delle porte.
|
Bilanciatore del carico di rete passthrough interno | Gruppi di istanze | • --port : specifica una porta TCP in base al numero, da 1
a 65535 Il flag --use-serving-port verrà ignorato per un controllo di integrità associato a un bilanciatore del carico di rete passthrough interno perché i servizi di backend per i bilanciatori del carico di rete passthrough interni non hanno una specifica delle porte.
|
Bilanciatore del carico delle applicazioni esterno globale Bilanciatore del carico delle applicazioni esterno regionale Bilanciatore del carico delle applicazioni interno tra regioni Bilanciatore del carico delle applicazioni interno regionale Bilanciatore del carico di rete proxy esterno globale Bilanciatore del carico di rete proxy esterno Bilanciatore del carico di rete proxy esterno regionale 16 |
NEG a livello di zona | • --port : specifica una porta TCP in base al numero, da 1
a 65535 • --use-serving-port : utilizza la porta di ciascun endpoint nel
gruppo di endpoint di rete. |
Gruppi di istanze | • --port : specifica una porta TCP in base al numero, da 1
a 65535 • --use-serving-port : usa lo stesso gruppo di istanze denominato porta
a cui sottoscrive il servizio di backend.
|
Se ometti la specifica della porta, Google Cloud utilizza i seguenti valori predefiniti:
- Se il protocollo del controllo di integrità è
TCP
oHTTP
, utilizza--port=80
. - Se il protocollo del controllo di integrità è
SSL
,HTTPS
oHTTP2
, utilizza--port=443
. - Se il protocollo del controllo di integrità è
GRPC
, non esiste un valore predefinito implicito; devi includere la specifica della porta.
Flag aggiuntivi per i controlli di integrità HTTP, HTTPS e HTTP/2
Oltre ai flag comuni e alla specifica delle porte, puoi utilizzare i seguenti flag facoltativi per i controlli di integrità HTTP, HTTPS e HTTP/2. Questo esempio crea un controllo di integrità HTTP denominato hc-http-port-80
utilizzando la porta 80 con criteri predefiniti di intervallo, timeout e soglia di integrità.
gcloud compute health-checks create HTTP_PROTOCOL hc-http-port-80 \ COMMON_FLAGS \ PORT_SPECIFICATION \ --host=HOST \ --proxy-header=PROXY_HEADER \ --request-path=REQUEST_PATH \ --response=RESPONSE
HTTP_PROTOCOL
: può esserehttp
(HTTP/1.1 senza TLS),https
(HTTP/1.1 con TLS) ohttp2
(HTTP/2 con TLS).COMMON_FLAGS
: definisce i flag comuni. Vedi Procedura di creazione.PORT_SPECIFICATION
: definisce la specifica della porta utilizzando uno dei flag delle specifiche della porta.HOST
ti consente di fornire un'intestazione HTTPHost
. Se omesso, viene utilizzato l'indirizzo IP della regola di forwarding del bilanciatore del carico.PROXY_HEADER
deve essereNONE
oPROXY_V1
. Se omesso, Google Cloud utilizzaNONE
. Il valore diPROXY_V1
aggiunge l'intestazionePROXY UNKNOWN\r\n
.REQUEST_PATH
specifica il percorso dell'URL utilizzato da Google Cloud per l'invio delle richieste di controllo di integrità. Se omesso, la richiesta di controllo di integrità viene inviata a/
.RESPONSE
definisce una risposta prevista facoltativa. Le stringhe di risposta devono seguire queste regole:- La stringa di risposta deve essere composta da lettere ASCII, numeri e spazi.
- La stringa di risposta può contenere fino a 1024 caratteri.
- La corrispondenza con caratteri jolly non è supportata.
- Il controllo basato sui contenuti non supporta l'inversione; ad esempio, non sono supportati operatori come
!
in HAProxy.
Se Google Cloud trova la stringa di risposta prevista ovunque nei primi 1024 byte del corpo della risposta ricevuta e se lo stato HTTP è 200 (OK), il probe viene considerato riuscito.
I flag --request-path
e --response
modificano i criteri di esito positivo per il probe del controllo di integrità.
Flag aggiuntivi per i controlli di integrità SSL e TCP
Oltre ai flag comuni e alle specifiche delle porte, puoi utilizzare i seguenti flag facoltativi per i controlli di integrità SSL e TCP. Questo esempio crea un controllo di integrità TCP denominato hc-tcp-3268
utilizzando la porta 3268 con criteri predefiniti di intervallo, timeout e soglia di integrità.
gcloud compute health-checks create tcp hc-tcp-3268 \ COMMON_FLAGS \ PORT_SPECIFICATION \ --proxy-header=PROXY_HEADER \ --request=REQUEST_STRING \ --response=RESPONSE_STRING
- Il protocollo può essere
tcp
(in questo esempio) ossl
. COMMON_FLAGS
: definisce i flag comuni. Vedi Procedura di creazione.PORT_SPECIFICATION
: definisce la specifica della porta utilizzando uno dei flag delle specifiche della porta.PROXY_HEADER
deve essereNONE
oPROXY_V1
. Se omesso, Google Cloud utilizzaNONE
. Il valore diPROXY_V1
aggiunge l'intestazionePROXY UNKNOWN\r\n
.REQUEST_STRING
: puoi fornire una stringa di massimo 1024 caratteri ASCII da inviare una volta stabilita la sessione TCP o SSL.RESPONSE_STRING
: puoi fornire una stringa di massimo 1024 caratteri ASCII per la risposta prevista.
I flag --request
e --response
modificano i criteri di esito positivo per il probe del controllo di integrità. Se utilizzi il flag --response
, da solo o in combinazione con il flag --request
, la risposta restituita deve corrispondere esattamente alla stringa di risposta prevista.
Flag aggiuntivo per i controlli di integrità gRPC
Il server gRPC di backend deve implementare il servizio di integrità gRPC come descritto nel
protocollo per il controllo di integrità gRPC.
Google Cloud invia un messaggio HealthCheckRequest
ai tuoi backend
chiamando il metodo Check
del servizio di integrità sul tuo backend. Il parametro del servizio nella richiesta è impostato su una stringa vuota, a meno che non venga specificato un nome di servizio gRPC.
Un controllo di integrità gRPC può controllare lo stato di un servizio gRPC. Puoi includere una stringa, fino a 1024 caratteri ASCII, che sia il nome di un particolare servizio gRPC in esecuzione su una VM di backend o NEG. Per farlo, usa il seguente flag facoltativo per i controlli di integrità gRPC:
--grpc-service-name=GRPC_SERVICE_NAME
Ad esempio, potresti avere i seguenti servizi e lo stato che il server di backend registra con il servizio gRPC Health del backend.
MyPackage.ServiceA
con stato di pubblicazioneSERVING
MyPackage.ServiceB
con stato di pubblicazioneNOT_SERVING
- Nome del servizio non specificato con lo stato di pubblicazione
NOT_SERVING
Se crei un controllo di integrità rispetto a MyPackage.ServiceA
, come segue, il probe del controllo di integrità restituisce HEALTHY
, perché lo stato del servizio è SERVING
.
gcloud beta compute health-checks create grpc MyGrpcHealthCheckServiceA \ --grpc-service-name=MyPackage.ServiceA
Se crei un controllo di integrità rispetto a MyPackage.ServiceB
, il probe del controllo di integrità restituisce UNHEALTHY
perché lo stato del servizio è NOT_SERVING
.
Se crei un controllo di integrità per MyPackage.ServiceC
, che non è registrato con il servizio gRPC Health, il probe del controllo di integrità restituisce lo stato gRPC NOT_FOUND
, che equivale a UNHEALTHY
.
Se crei un controllo di integrità in base al nome del servizio vuoto, il probe di controllo di integrità restituisce lo stato UNHEALTHY
, perché il nome del servizio vuoto è registrato con lo stato NOT_SERVING
.
Controlli di integrità legacy
Questa sezione descrive come creare, modificare ed elencare i controlli di integrità HTTP e HTTPS legacy. Non puoi convertire un controllo di integrità legacy in un controllo di integrità precedente e non puoi convertire un controllo di integrità in un controllo di integrità legacy.
Per scoprire quali tipi di bilanciatori del carico supportano i controlli di integrità legacy, consulta la guida ai bilanciatori del carico.
Crea controlli di integrità legacy
Console
Anche se la pagina dei controlli di integrità della console Google Cloud elenca e ti consente di modificare sia i controlli di integrità che i controlli di integrità legacy, non puoi creare un nuovo controllo di integrità legacy dalla pagina dei controlli di integrità della console Google Cloud.
Puoi creare un controllo di integrità legacy nella console Google Cloud solo durante la creazione di un bilanciatore del carico di rete passthrough esterno basato su pool di destinazione.
Per creare autonomamente il controllo di integrità precedente, utilizza le istruzioni gcloud
o relative all'API di questa sezione.
gcloud
Per creare un controllo di integrità precedente, utilizza il comando compute http-health-checks
create
:
gcloud compute LEGACY_CHECK_TYPE create NAME \ --description=DESCRIPTION \ --check-interval=CHECK_INTERVAL \ --timeout=TIMEOUT \ --healthy-threshold=HEALTHY_THRESHOLD \ --unhealthy-threshold=UNHEALTHY_THRESHOLD \ --host=HOST \ --port=PORT \ --request-path=REQUEST_PATH
Sostituisci quanto segue:
LEGACY_CHECK_TYPE
èhttp-health-checks
per un controllo di integrità HTTP legacy ohttps-health-checks
per un controllo di integrità HTTPS legacy. Se stai creando il controllo di integrità legacy per un bilanciatore del carico di rete passthrough esterno basato su pool di destinazione, devi utilizzarehttp-health-checks
.NAME
è il nome del controllo di integrità precedente. All'interno di un determinato progetto, ogni controllo di integrità legacy deve avere un nome univoco.DESCRIPTION
è una descrizione facoltativa.CHECK_INTERVAL
è la quantità di tempo che intercorre tra l'inizio di un sonda e l'inizio di quello successivo. Le unità sono in secondi. Se omesso, Google Cloud utilizza il valore5s
(5 secondi).TIMEOUT
è il tempo di attesa di Google Cloud per una risposta a un probe. Il valore diTIMEOUT
deve essere minore o uguale aCHECK_INTERVAL
. Le unità sono in secondi. Se omesso, Google Cloud utilizza il valore5s
(5 secondi).HEALTHY_THRESHOLD
eUNHEALTHY_THRESHOLD
specificano il numero di probe sequenziali che devono avere esito positivo o negativo affinché un'istanza VM sia considerata in stato integro o non integro. Se uno dei due viene omesso, Google Cloud utilizza una soglia predefinita di2
.HOST
ti consente di fornire un'intestazione HTTP host. Se omesso, viene utilizzato l'indirizzo IP della regola di forwarding del bilanciatore del carico.PORT
ti consente di fornire un numero di porta. Se omesso, Google Cloud utilizza80
.REQUEST_PATH
specifica il percorso dell'URL utilizzato da Google Cloud quando invia le richieste di controllo di integrità. Se omesso, la richiesta di controllo di integritàà viene inviata all'indirizzo/
.
API
Per creare un controllo di integrità HTTP legacy, utilizza la chiamata API httpHealthChecks.insert.
Per creare un controllo di integrità HTTPS precedente, utilizza httpsHealthChecks.insert
Terraform
Per creare una risorsa legacy di controllo di integrità HTTP, utilizza la risorsa
google_compute_http_health_check
.Per creare una risorsa legacy di controllo di integrità HTTPS, utilizza la risorsa
google_compute_https_health_check
.
Modifica controlli di integrità legacy
Console
- Vai alla pagina Controlli di integrità nella console Google Cloud.
Vai alla pagina Controlli di integrità - Fai clic su un controllo di integrità per visualizzarne i dettagli.
- Fai clic su Modifica , apporta le modifiche e quindi fai clic su Salva.
gcloud
Per modificare un controllo di integrità HTTP precedente, utilizza il comando
compute http-health-checks update
, sostituendoNAME
con il relativo nome. Quando modifichi un controllo di integrità legacy congcloud
, le impostazioni preconfigurate per i flag che ometti vengono conservate.OTHER_OPTIONS
sono le opzioni descritte nella sezione Creazione di un controllo di integrità precedente.gcloud compute http-health-checks update NAME \ OTHER_OPTIONS
Per modificare un controllo di integrità HTTPS precedente, utilizza il comando
compute https-health-checks update
, sostituendoNAME
con il relativo nome. Quando modifichi un controllo di integrità legacy congcloud
, le impostazioni preconfigurate per i flag che ometti vengono conservate.OTHER_OPTIONS
sono le opzioni descritte nella sezione Creazione di un controllo di integrità precedente.gcloud compute https-health-checks update NAME \ OTHER_OPTIONS
API
Ad eccezione del nome e del tipo di un controllo di integrità legacy, puoi modificare qualsiasi flag utilizzato per la sua creazione. Le chiamate API patch
conservano tutte le impostazioni preconfigurate che non sono impostate esplicitamente nella
richiesta di patch.
Per modificare un controllo di integrità HTTP legacy, utilizza httpHealthChecks.update o httpHealthChecks.patch.
Per modificare un controllo di integrità HTTPS precedente, utilizza httpsHealthChecks.update o httpsHealthChecks.patch.
Elenca i controlli di integrità legacy
Console
- Vai alla pagina Controlli di integrità nella console Google Cloud.
Vai alla pagina Controlli di integrità - Fai clic su un controllo di integrità precedente per visualizzarne i dettagli.
gcloud
Per elencare i controlli di integrità HTTP legacy, utilizza il comando
compute http-health-checks list
:gcloud compute http-health-checks list
Per elencare i controlli di integrità HTTPS precedenti, utilizza il comando
compute https-health-checks list
:gcloud compute https-health-checks list
Per descrivere un controllo di integrità HTTP precedente, utilizza il comando
compute http-health-checks describe
, sostituendoNAME
con il relativo nome.gcloud compute http-health-checks describe NAME
Per descrivere un controllo di integrità HTTPS precedente, utilizza il comando
compute https-health-checks describe
, sostituendoNAME
con il relativo nome.gcloud compute https-health-checks describe NAME
API
Per elencare i controlli di integrità legacy:
Utilizza httpHealthChecks.list per elencare i controlli di integrità HTTP legacy.
Utilizza httpsHealthChecks.list per elencare i controlli di integrità HTTPS precedenti.
Per descrivere un controllo di integrità precedente:
Utilizza httpHealthChecks.get per descrivere il controllo di integrità HTTP precedente.
Utilizza httpsHealthChecks.get per descrivere il controllo di integrità HTTPS precedente.
Crea le regole firewall obbligatorie
Devi creare regole firewall in entrata applicabili a tutte le VM con bilanciamento del carico per consentire il traffico proveniente da intervalli IP di controllo di integrità. L'esempio seguente crea una regola firewall applicabile alle istanze VM identificate da uno specifico tag di destinazione.
Questo esempio consente tutto il traffico TCP dai sistemi di controllo di integrità di Google Cloud alle tue istanze VM. Il traffico TCP include il traffico SSL, HTTP,
HTTPS e HTTP/2. Se preferisci, puoi specificare le porte insieme al protocollo TCP; tuttavia, se specifichi le porte, le regole del firewall potrebbero diventare specifiche per un determinato controllo di integrità. Se utilizzi tcp:80
per il protocollo e la porta, consente il traffico TCP sulla porta 80, quindi Google Cloud potrebbe contattare le tue VM tramite HTTP sulla porta 80, ma non può contattarle utilizzando HTTPS sulla porta 443.
Console
- Nella console Google Cloud, vai alla pagina Criteri firewall.
Vai a Criteri firewall - Fai clic su Crea regola firewall.
- Nella pagina Crea una regola firewall, fornisci le seguenti informazioni:
- Nome: specifica un nome per la regola. Per questo esempio, utilizza
fw-allow-health-checks
. - Rete: scegli una rete VPC.
- Priorità: inserisci un numero per la priorità. I numeri più bassi hanno priorità più alte. Assicurati che la regola firewall abbia una priorità più alta rispetto ad altre regole che potrebbero negare il traffico in entrata.
- Direzione del traffico: scegli In entrata.
- Azione in caso di corrispondenza: scegli consenti.
- Destinazioni: scegli Tag di destinazione specificati, quindi inserisci i tag nel campo Tag di destinazione. Per questo esempio, utilizza
allow-health-checks
. - Filtro di origine: seleziona Intervalli IP.
- Intervalli IP di origine: inserisci l'intervallo IP di origine in base al tipo di bilanciatore del carico, al tipo di traffico e al tipo di controllo di integrità. Consulta Intervalli IP e regole firewall del probe.
- Protocolli e porte consentiti: utilizza
tcp
e la porta configurata nel controllo di integrità. TCP è il protocollo sottostante per tutti i protocolli del controllo di integrità. - Fai clic su Crea.
- Nome: specifica un nome per la regola. Per questo esempio, utilizza
- Su ciascuna delle istanze per cui è in corso il bilanciamento del carico, aggiungi il tag di rete in modo che la nuova regola firewall in entrata venga applicata a ciascuna delle istanze. In questo esempio viene utilizzato
allow-health-checks
per il tag di rete.
gcloud
Utilizza il seguente comando
gcloud
per creare una regola firewall denominatafw-allow-health-checks
che consente le connessioni TCP in entrata, dai sistemi di controllo di integrità di Google Cloud, alle istanze nella tua rete VPC con il tagallow-health-checks
. In base al tipo di bilanciatore del carico, è supportato un set diverso di intervalli IP e regole firewall di probe per il traffico IPv6 verso i backend. Ad esempio,2600:2d00:1:b029::/64
viene utilizzato per i bilanciatori del carico delle applicazioni esterni globali e i bilanciatori del carico di rete del proxy esterno globale.Sostituisci
NETWORK_NAME
con il nome della tua rete VPC e sostituisciPORT
con le porte utilizzate dal bilanciatore del carico.gcloud compute firewall-rules create fw-allow-health-checks \ --network=NETWORK_NAME \ --action=ALLOW \ --direction=INGRESS \ --source-ranges=SOURCE_IP_RANGE \ --target-tags=allow-health-checks \ --rules=tcp:PORT
Il valore di SOURCE_IP_RANGE dipende dal tipo di bilanciatore del carico, dal tipo di traffico e dal tipo di controllo di integrità. Consulta Intervalli IP e regole firewall del probe.
Su ciascuna delle istanze per cui è in corso il bilanciamento del carico, aggiungi il tag di rete in modo che la nuova regola firewall in entrata venga applicata a ciascuna delle istanze. In questo esempio viene utilizzato
allow-health-checks
per il tag di rete.
Per ulteriori dettagli, consulta la documentazione sulle regole firewall di gcloud
e la documentazione dell'API.
Documentazione correlata:
- Per ulteriori informazioni su come specificare i target per le regole firewall, consulta la spiegazione delle destinazioni in Panoramica delle regole firewall e Configurazione dei tag di rete.
- Per maggiori informazioni su tutte le regole firewall richieste dai bilanciatori del carico, consulta Regole firewall.
Associa i controlli di integrità ai bilanciatori del carico
Se non l'hai ancora fatto, consulta la Panoramica dei controlli di integrità: seleziona un controllo di integrità.
Per associare un controllo di integrità a un nuovo bilanciatore del carico, consulta la guida alla configurazione per il rispettivo bilanciatore del carico. Questa sezione descrive come associare un controllo di integrità al servizio di backend di un bilanciatore del carico esistente.
In questa sezione si presuppone che tu abbia già:
- È stato creato un bilanciatore del carico.
- È stato creato un controllo di integrità.
È stata creata la regola firewall obbligatoria.
Console
Per associare un controllo di integrità a un bilanciatore del carico esistente:
- Vai alla pagina Bilanciamento del carico nella console Google Cloud.
Vai alla pagina Bilanciamento del carico - Fai clic su un bilanciatore del carico per visualizzarne i dettagli.
- Fai clic su Modifica , quindi su Configurazione backend.
- Scegli un controllo di integrità dal menu Controllo di integrità.
- Fai clic su Update (Aggiorna).
gcloud
Per associare un controllo di integrità a un servizio di backend esistente, segui questi passaggi.
Identificare il nome e l'ambito del servizio di backend. I bilanciatori del carico di rete passthrough esterni, i bilanciatori del carico di rete passthrough interni, i bilanciatori del carico di rete proxy interni regionali e i bilanciatori del carico di rete proxy esterni hanno un solo servizio di backend per bilanciatore del carico. Gli Application Load Balancer esterni e i bilanciatori del carico delle applicazioni interni hanno uno o più servizi di backend associati a una singola mappa URL.
Per elencare i servizi di backend per i bilanciatori del carico di rete passthrough interni, esegui questo comando, sostituendo
REGION_LIST
con un elenco delimitato da virgole di regioni Google Cloud su cui eseguire la query.gcloud compute backend-services list \ --filter="region:( REGION1 REGION2 ... ) AND loadBalancingScheme=INTERNAL"
Per elencare i servizi di backend per bilanciatori del carico di rete passthrough esterni, esegui questo comando, sostituendo ogni REGION con la regione Google Cloud su cui eseguire la query.
gcloud compute backend-services list \ --filter="region:( REGION1 REGION2 ... ) AND loadBalancingScheme=EXTERNAL"
Per elencare i servizi di backend per i bilanciatori del carico di rete con proxy esterno globale, esegui questo comando.
gcloud compute backend-services list \ --global \ --filter="loadBalancingScheme=EXTERNAL_MANAGED" \ --filter="protocol=(SSL,TCP)"
Per elencare i servizi di backend per i bilanciatori del carico di rete proxy classici, esegui questo comando.
gcloud compute backend-services list \ --global \ --filter="loadBalancingScheme=EXTERNAL" \ --filter="protocol=(SSL,TCP)"
Per elencare i servizi di backend per i bilanciatori del carico di rete proxy esterni regionali, esegui questo comando.
gcloud compute backend-services list \ --region=REGION \ --filter="loadBalancingScheme=EXTERNAL_MANAGED" \ --filter="protocol=(SSL,TCP)"
Per elencare i servizi di backend per i bilanciatori del carico di rete proxy interni regionali, esegui questo comando, sostituendo
REGION_LIST
con un elenco delimitato da virgole di regioni Google Cloud su cui eseguire la query.gcloud beta compute backend-services list \ --filter="region:( REGION1 REGION2 ... ) AND loadBalancingScheme=INTERNAL_MANAGED"
Per elencare i servizi di backend per i bilanciatori del carico di rete proxy esterni utilizzando SSL, esegui questo comando. I servizi di backend per questi bilanciatori del carico sono sempre globali, indipendentemente dal livello di servizio di rete.
gcloud compute backend-services list \ --global \ --filter="loadBalancingScheme=EXTERNAL" \ --filter="protocol=(SSL,TCP)"
Per identificare i servizi di backend per un bilanciatore del carico delle applicazioni esterno, identifica prima una mappa URL, quindi descrivi la mappa. Le mappe URL e i servizi di backend per bilanciatori del carico delle applicazioni esterni o bilanciatori del carico delle applicazioni interni tra regioni sono sempre globali, indipendentemente dal livello di servizio di rete. Sostituisci
URL_MAP_NAME
con il nome della mappa URL. I servizi di backend utilizzati dal bilanciatore del carico sono elencati nella risposta.gcloud compute url-maps list \ --global
gcloud compute url-maps describe URL_MAP_NAME \ --global
Per identificare i servizi di backend per un bilanciatore del carico delle applicazioni esterno regionale o un bilanciatore del carico delle applicazioni interno regionale, devi prima identificare una mappa di URL, quindi descrivere la mappa. Sia le mappe URL che i servizi di backend per questi bilanciatori del carico sono a livello di regione. Sostituisci
REGION_LIST
con un elenco delimitato da virgole di regioni Google Cloud su cui eseguire la query. SostituisciURL_MAP_NAME
con il nome della mappa URL eREGION
con la rispettiva regione. I servizi di backend utilizzati dal bilanciatore del carico sono elencati nella risposta.gcloud compute url-maps list \ --regions=REGION_LIST
gcloud compute url-maps describe URL_MAP_NAME \ --region=REGION
Identifica un controllo di integrità. Consulta la sezione Elenco dei controlli di integrità.
Associa un controllo di integrità al servizio di backend utilizzando il comando
compute backend-services update
. Ciascun servizio di backend deve fare riferimento a un singolo controllo di integrità. Nei comandi seguenti, sostituisciBACKEND_SERVICE_NAME
con il nome del servizio di backend,HEALTH_CHECK_NAME
con il nome del controllo di integrità e, se necessario,REGION
con la regione Google Cloud del servizio di backend, il controllo di integrità o entrambi.Per modificare il controllo di integrità per un bilanciatore del carico di rete passthrough interno: Il servizio di backend del bilanciatore del carico di rete passthrough interno è a livello di regione. Può fare riferimento a un controllo di integritàà globale o regionale. L'esempio seguente mostra un riferimento del controllo di integrità a livello di regione. Se utilizzi un controllo di integrità globale con il bilanciatore del carico di rete passthrough interno, utilizza
--global-health-checks
anziché--health-checks-region
.gcloud compute backend-services update BACKEND_SERVICE_NAME \ --region=REGION \ --health-checks=HEALTH_CHECK_NAME \ --health-checks-region=REGION
Per modificare il controllo di integrità per un bilanciatore del carico di rete passthrough esterno basato su servizi di backend: il servizio di backend del bilanciatore del carico di rete passthrough esterno è a livello di regione. Può fare riferimento a un controllo di integrità a livello di regione.
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --region=REGION \ --health-checks=HEALTH_CHECK_NAME \ --health-checks-region=REGION
Per modificare il controllo di integrità per un bilanciatore del carico di rete proxy esterno globale, un bilanciatore del carico di rete proxy classico, un bilanciatore del carico delle applicazioni esterno globale, un bilanciatore del carico delle applicazioni classico o un bilanciatore del carico delle applicazioni interno tra regioni: sia il servizio di backend che il controllo di integrità sono globali per questi bilanciatori del carico. I bilanciatori del carico delle applicazioni possono fare riferimento a più controllo di integrità se fanno riferimento a più servizio di backend.
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --global \ --health-checks HEALTH_CHECK_NAME \ --global-health-checks
Per modificare il controllo di integrità per un bilanciatore del carico delle applicazioni esterno regionale, un bilanciatore del carico di rete proxy esterno regionale, un bilanciatore del carico delle applicazioni interno regionale o un bilanciatore del carico di rete proxy interno regionale: sia il servizio di backend che il controllo di integrità sono a livello di regione. Alcuni bilanciatori del carico potrebbero fare riferimento a più controllo di integrità se possono fare riferimento a più servizio di backend.
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --region=REGION \ --health-checks=HEALTH_CHECK_NAME \ --health-checks-region=REGION
API
Puoi elencare i servizi di backend con la chiamata API backendServices.list.
Per associare un controllo di integrità a un servizio di backend, utilizza una di queste chiamate API:
Associa i controlli di integrità legacy ai bilanciatori del carico di rete passthrough esterni basati su pool di destinazione
Per associare un controllo di integrità legacy a un nuovo bilanciatore del carico di rete passthrough esterno, consulta Configurare un bilanciatore del carico di rete passthrough esterno con un pool di destinazione. Questa sezione descrive come associare un controllo di integrità legacy a un bilanciatore del carico di rete passthrough esterno basato su pool di destinazione.
In questa sezione si presuppone che tu abbia già:
- È stato creato un bilanciatore del carico di rete passthrough esterno basato su pool di destinazione.
- Creato un controllo di integrità legacy.
È stata creata la regola firewall obbligatoria.
Console
Per associare un controllo di integrità a un bilanciatore del carico di rete passthrough esterno basato su pool di destinazione esistente:
- Vai alla pagina Bilanciamento del carico nella console Google Cloud.
Vai alla pagina Bilanciamento del carico - Fai clic su un bilanciatore del carico per visualizzarne i dettagli.
- Fai clic su Modifica , quindi su Configurazione backend.
- Scegli un controllo di integrità legacy dal menu Controllo di integrità. Vengono mostrati solo i controlli di integrità legacy idonei.
- Fai clic su Update (Aggiorna).
gcloud
Per associare un controllo di integrità a un bilanciatore del carico di rete passthrough esterno basato su pool di destinazione esistente:
Identifica i pool di destinazione. Un bilanciatore del carico di rete passthrough esterno ha almeno un pool di destinazione e potrebbe avere un pool di backup secondario.
gcloud compute target-pools list
Identifica un controllo di integrità precedente utilizzando il protocollo
HTTP
. Visualizza i controlli di integrità legacy se necessario.Associa il controllo di integrità precedente ai pool di destinazione. Nei comandi seguenti, sostituisci
TARGET_POOL_NAME
con il nome del pool di destinazione,REGION
con la relativa regione eLEGACY_CHECK_NAME
con il nome del controllo di integrità precedente. Il controllo di integrità legacy deve utilizzare il protocollo HTTP.Per rimuovere un controllo di integrità HTTP legacy da un pool di destinazione:
gcloud compute target-pools remove-health-checks TARGET_POOL_NAME \ --region=REGION \ --http-health-check LEGACY_CHECK_NAME
Per aggiungere un controllo di integrità HTTP legacy a un pool di destinazione:
gcloud compute target-pools add-health-checks TARGET_POOL_NAME \ --region=REGION \ --http-health-check LEGACY_CHECK_NAME
API
Puoi elencare i pool di destinazione con la chiamata API targetPools.list.
Visualizza i controlli di integrità legacy e identifica un controllo di integrità HTTP legacy.
Per associare un controllo di integrità HTTP legacy a un pool di destinazione, utilizza la chiamata API targetPools.addHealthCheck.
Controlla lo stato del controllo di integrità
Dopo aver associato un controllo di integrità a un servizio di backend o a un pool di destinazione, puoi ottenere lo stato istantaneo del controllo di integrità per i backend del bilanciatore del carico.
Console
- Vai alla pagina di riepilogo del bilanciamento del carico.
Vai alla pagina Bilanciamento del carico - Fai clic sul nome di un bilanciatore del carico.
- In Backend, controlla la colonna Stato integro. Viene segnalato lo stato di integrità per ogni gruppo di istanza di backend o gruppo di endpoint di rete.
gcloud
Per tutti i bilanciatori del carico, ad eccezione dei bilanciatori del carico di rete passthrough esterni basati su pool di destinazione, identifica il nome e l'ambito (globale o regionale) del servizio di backend. Per un elenco completo dei bilanciatori del carico e degli ambiti, vedi Servizi di backend.
Usa il comando
compute backend-services get-health
, sostituendoNAME
con il nome del servizio di backend eREGION
con la rispettiva regione, se necessario.Per ottenere lo stato di integrità istantaneo di un servizio di backend globale:
gcloud compute backend-services get-health GLOBAL_BACKEND_SERVICE_NAME \ --global
Per ottenere lo stato di integrità istantaneo di un servizio di backend regionale:
gcloud compute backend-services get-health REGIONAL_BACKEND_SERVICE_NAME \ --region=REGION
Per i bilanciatori del carico di rete passthrough esterni basati su pool di destinazione, identifica il nome e la regione del pool di destinazione del bilanciatore del carico, quindi utilizza il comando
compute target-pools get-health
, sostituendoNAME
con il nome del pool di destinazione eREGION
con la regione.gcloud compute target-pools get-health TARGET_POOL_NAME \ --region=REGION
API
Per tutti i bilanciatori del carico, ad eccezione dei bilanciatori del carico di rete passthrough esterni basati su pool di destinazione, identifica il nome e l'ambito (globale o regionale) del servizio di backend. Per un elenco completo dei bilanciatori del carico e degli ambiti, vedi Servizi di backend.
Per ottenere lo stato di integrità istantaneo di un servizio di backend globale, utilizza backendServices.getHealth
Per ottenere lo stato di integrità istantaneo di un servizio di backend regionale, utilizza regionBackendServices.getHealth
Per i bilanciatori del carico di rete passthrough esterni basati su pool di destinazione, utilizza targetPools.getHealth