Configurare Composite Health per il failover automatico tra regioni
Questa pagina descrive come i produttori di servizi possono configurare Composite Health per supportare il failover automatico tra regioni per i servizi pubblicati.
Prima di iniziare
Scopri di più su Composite Health.
In ogni regione che vuoi supportare, identifica o crea un servizio di destinazione che soddisfi i seguenti requisiti.
- Deve utilizzare uno dei seguenti bilanciatori del carico interni:
- Deve utilizzare uno dei seguenti tipi di backend:
- Un gruppo di endpoint di rete (NEG) a livello di zona
con tipo di endpoint di rete
GCE_VM_IPoGCE_VM_IP_PORT - Un gruppo di istanze
- Un gruppo di endpoint di rete (NEG) a livello di zona
con tipo di endpoint di rete
I passaggi per creare i servizi di destinazione dipendono dal bilanciatore del carico e dai tipi di backend che scegli. Per informazioni sulla creazione di servizi di destinazione, consulta la documentazione del bilanciatore del carico.
Pubblica ogni servizio di destinazione creando un collegamento al servizio.
Tieni presente che per utilizzare il controllo dell'integrità composito per il failover, i consumer devono accedere ai tuoi servizi con bilanciatori del carico che supportano il failover tra regioni.
Abilita l'API Compute Engine nel tuo progetto.
Verifica di disporre delle autorizzazioni necessarie per completare questa guida.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per configurare lo stato di integrità composito, chiedi all'amministratore di concederti il ruolo IAM Amministratore rete Compute (roles/compute.networkAdmin) nel progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene le autorizzazioni necessarie per configurare Composite Health. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per configurare l'integrità composita sono necessarie le seguenti autorizzazioni:
-
compute.regionHealthAggregationPolicies.list -
compute.regionHealthAggregationPolicies.get -
compute.regionHealthAggregationPolicies.create -
compute.regionHealthAggregationPolicies.update -
compute.regionHealthAggregationPolicies.delete -
compute.regionHealthSources.list -
compute.regionHealthSources.get -
compute.regionHealthSources.create -
compute.regionHealthSources.update -
compute.regionHealthSources.delete -
compute.regionCompositeHealthChecks.list -
compute.regionCompositeHealthChecks.get -
compute.regionCompositeHealthChecks.create -
compute.regionCompositeHealthChecks.update -
compute.regionCompositeHealthChecks.delete
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Configurare l'integrità composita per supportare il failover automatico tra regioni
Le sezioni seguenti descrivono come configurare Composite Health per il failover automatico tra regioni.
Anche se Composite Health non richiede la configurazione da parte del consumer di servizi, la funzionalità funziona solo se il consumer configura i backend Private Service Connect supportati in un deployment multiregionale. Per informazioni su come un consumer di servizi può configurare la propria rete VPC per utilizzare Composite Health, consulta Failover automatico tra regioni.
Creare una policy di aggregazione dell'integrità
Crea almeno una policy di aggregazione dell'integrità in ogni regione in cui vuoi supportare il failover tra regioni.
Una policy di aggregazione dell'integrità è una risorsa riutilizzabile che definisce i criteri in base ai quali un servizio di backend viene considerato integro. Puoi applicare la stessa norma a più servizi di backend o creare norme diverse per i servizi che hanno requisiti di integrità diversi.
Console
Nella console Google Cloud , vai alla pagina Integrità composita:
Fai clic su Policy di aggregazione dell'integrità.
Fai clic su Crea policy di aggregazione dell'integrità.
Inserisci un nome per la policy di aggregazione dell'integrità.
(Facoltativo) Inserisci una descrizione della policy.
Fai clic su Regione, quindi seleziona una regione per la policy di aggregazione dell'integrità.
Fai clic su Avanti.
Nella casella Soglia percentuale di integrità, inserisci la percentuale minima di endpoint in un servizio di backend che devono essere integri affinché l'origine integrità sia considerata integra, ad esempio
75.Nella casella Soglia minima di integrità, inserisci il numero minimo di endpoint in un servizio di backend che devono essere integri affinché l'origine integrità sia considerata integra.
Fai clic su Crea.
gcloud
Utilizza il comando gcloud compute health-aggregation-policies create.
gcloud compute health-aggregation-policies create POLICY \
--region=REGION \
--healthy-percent-threshold=PERCENT_HEALTHY \
--min-healthy-threshold=MINIMUM_HEALTHY
Sostituisci quanto segue:
POLICY: il nome della policy di aggregazione dello statoREGION: la regione della policy di aggregazione dello statoPERCENT_HEALTHY: la percentuale minima di endpoint in un servizio di backend che devono essere integri affinché l'origine integrità sia considerata integra, ad esempio75Il valore predefinito è
60. Gli endpoint possono essere VM in un gruppo di istanze o endpoint di rete in un gruppo di endpoint di rete (NEG).MINIMUM_HEALTHY: il numero minimo di endpoint in un servizio di backend che devono essere integri affinché l'origine integrità sia considerata integraIl valore predefinito è
1.
API
Invia una richiesta al
metodo regionHealthAggregationPolicies.insert.
Metodo HTTP e URL:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/healthAggregationPolicies
Corpo JSON della richiesta:
{
"name": "POLICY",
"policyType": "BACKEND_SERVICE_POLICY",
"healthyPercentThreshold": PERCENT_HEALTHY,
"minHealthyThreshold": MINIMUM_HEALTHY
}
Sostituisci quanto segue:
PROJECT_ID: l'ID progetto per la policy di aggregazione dello stato.REGION: la regione della policy di aggregazione dello stato.POLICY: il nome della policy di aggregazione dello stato.PERCENT_HEALTHY: la percentuale minima di endpoint in un servizio di backend che devono essere integri affinché l'origine integrità sia considerata integra, ad esempio75.Il valore predefinito è
60. Gli endpoint possono essere VM in un gruppo di istanze o endpoint di rete in un gruppo di endpoint di rete (NEG).MINIMUM_HEALTHY: il numero minimo di endpoint in un servizio di backend che devono essere integri affinché l'origine integrità sia considerata integra.Il valore predefinito è
1.
Creare un'origine integrità
Crea un'origine salute per ogni istanza regionale del servizio pubblicato. Se un'istanza del servizio pubblicato dipende dall'integrità di più servizi di backend, crea un'origine di controllo dell'integrità separata per ciascuno di questi servizi di backend.
Un'origine integrità è la risorsa che collega una policy di aggregazione dell'integrità a un servizio di backend specifico. Un controllo di integrità composito aggrega gli stati di integrità di una o più origini per produrre uno stato di integrità composito finale per il tuo servizio.
Console
Nella console Google Cloud , vai alla pagina Integrità composita:
Fai clic su Origini salute.
Fai clic su Crea origine integrità.
Inserisci un nome per l'origine di integrità.
(Facoltativo) Inserisci una descrizione dell'origine dei dati sanitari.
Fai clic su Regione, quindi seleziona una regione per l'origine dei dati sanitari.
Fai clic su Avanti.
Fai clic su Origine, quindi seleziona un servizio di backend da associare all'origine dello stato.
Fai clic su Avanti.
Fai clic su Policy di aggregazione dell'integrità e poi seleziona la policy di aggregazione dell'integrità da applicare a questa fonte di dati sanitari.
Fai clic su Crea.
gcloud
Utilizza il comando gcloud compute health-sources create.
gcloud compute health-sources create HEALTH_SOURCE \
--region=REGION \
--source-type=BACKEND_SERVICE \
--sources=BACKEND_SERVICE \
--health-aggregation-policy=POLICY
Sostituisci quanto segue:
HEALTH_SOURCE: il nome dell'origine dati per la saluteREGION: la regione dell'origine di integritàLa policy di aggregazione dell'integrità deve trovarsi nella stessa regione dell'origine dell'integrità.
BACKEND_SERVICE: il nome di un singolo servizio di backend da associare all'origine di integritàIl servizio di backend deve soddisfare i seguenti requisiti:
- Deve avere uno schema di bilanciamento del carico di
INTERNALoINTERNAL_MANAGED. - Deve trovarsi nella stessa regione dell'origine dati sanitari che stai creando.
- I relativi backend devono essere gruppi di istanze o
gruppi di endpoint di rete di tipo
GCE_VM_IPoGCE_VM_IP_PORT.
- Deve avere uno schema di bilanciamento del carico di
POLICY: il nome della policy di aggregazione dello stato da applicare a questa origine dello stato
API
Invia una richiesta al
metodo regionHealthSources.insert.
Metodo HTTP e URL:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/healthSources
Corpo JSON della richiesta:
{
"name": "HEALTH_SOURCE",
"sourceType": "BACKEND_SERVICE",
"sources": [
"projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE"
],
"healthAggregationPolicy": "projects/PROJECT_ID/regions/REGION/healthAggregationPolicies/POLICY"
}
Sostituisci quanto segue:
PROJECT_ID: l'ID progetto per l'origine dei dati sanitari.REGION: la regione dell'origine di integrità.La policy di aggregazione dell'integrità deve trovarsi nella stessa regione dell'origine dell'integrità.
HEALTH_SOURCE: il nome dell'origine di integrità.BACKEND_SERVICE: il nome di un singolo servizio di backend da associare all'origine di integrità.Il servizio di backend deve soddisfare i seguenti requisiti:
- Deve avere uno schema di bilanciamento del carico di
INTERNALoINTERNAL_MANAGED. - Deve trovarsi nella stessa regione dell'origine dati sanitari che stai creando.
- I relativi backend devono essere gruppi di istanze o
gruppi di endpoint di rete di tipo
GCE_VM_IPoGCE_VM_IP_PORT.
- Deve avere uno schema di bilanciamento del carico di
POLICY: il nome della policy di aggregazione dello stato di salute da applicare a questa origine dello stato di salute.
Crea un controllo di integrità composito
Crea un controllo di integrità composito per ogni istanza regionale del servizio pubblicato.
Un controllo di integrità composito aggrega gli stati di integrità delle origini di integrità associate, creando uno stato di integrità composito finale. Lo stato di integrità finale viene applicato al servizio pubblicato regionale associato alla regola di forwarding specificata come destinazione di controllo di integrità.
Console
Nella console Google Cloud , vai alla pagina Integrità composita:
Fai clic su Controlli di integrità compositi.
Fai clic su Crea controllo di integrità composito.
Inserisci un nome per il controllo di integrità composito.
(Facoltativo) Inserisci una descrizione del controllo di integrità composito.
Fai clic su Regione, quindi seleziona una regione per il controllo di integrità composito.
Fai clic su Avanti.
Fai clic su Origine integrità, quindi seleziona un'origine integrità da associare al controllo di integrità composito. Puoi aggiungere altre origini integrità facendo clic su Aggiungi origine integrità e selezionandone un'altra.
Fai clic su Avanti.
Fai clic su Tipo di bilanciatore del carico, quindi seleziona il tipo di bilanciatore del carico da utilizzare come destinazione di integrità.
Fai clic su Bilanciatore del carico, quindi seleziona il bilanciatore del carico da utilizzare come destinazione di controllo di integrità.
Se il bilanciatore del carico è associato a più regole di forwarding, fai clic su Regola di forwarding e poi seleziona la regola di forwarding da utilizzare come destinazione di controllo dell'integrità.
Fai clic su Crea.
gcloud
Utilizza il comando gcloud compute composite-health-checks create.
gcloud compute composite-health-checks create COMPOSITE_HEALTH_CHECK \
--region=REGION \
--health-sources=HEALTH_SOURCES \
--health-destination=HEALTH_DESTINATION
Sostituisci quanto segue:
COMPOSITE_HEALTH_CHECK: il nome del controllo di integrità compositoREGION: la regione del controllo di integrità compositoHEALTH_SOURCES: i nomi di una o più origini di integrità da associare al controllo di integrità compositoPuoi includere più fonti di salute in un elenco separato da virgole.
HEALTH_DESTINATION: l'URI della regola di forwarding che riceve lo stato di integrità composito da questo controllo di integrità composito, ad esempioprojects/PROJECT_ID/regions/REGION/forwardingRules/FORWARDING_RULELa regola di forwarding deve essere associata a un bilanciatore del carico del produttore che supporta l'integrità composita e soddisfa i seguenti requisiti:
- Deve avere uno schema di bilanciamento del carico di
INTERNALoINTERNAL_MANAGED. - Deve trovarsi nella stessa regione del controllo di integrità composito.
- Deve avere uno schema di bilanciamento del carico di
API
Invia una richiesta al
metodo regionCompositeHealthChecks.insert.
Metodo HTTP e URL:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/compositeHealthChecks
Corpo JSON della richiesta:
{
"name": "COMPOSITE_HEALTH_CHECK",
"healthSources": [
"projects/PROJECT_ID/regions/REGION/healthSources/HEALTH_SOURCE"
],
"healthDestination": "HEALTH_DESTINATION"
}
Sostituisci quanto segue:
PROJECT_ID: l'ID progetto per il controllo di integrità composito.REGION: la regione del controllo di integrità composito.COMPOSITE_HEALTH_CHECK: il nome del controllo di integrità composito.HEALTH_SOURCE: il nome di un'origine di controllo di integrità da associare al controllo di integrità composito. Puoi includere più fonti sanitarie nell'arrayhealthSources.HEALTH_DESTINATION: l'URI della regola di forwarding che riceve lo stato di integrità composito da questo controllo di integrità composito, ad esempioprojects/PROJECT_ID/regions/REGION/forwardingRules/FORWARDING_RULELa regola di forwarding deve essere associata a un bilanciatore del carico del produttore che supporta l'integrità composita e soddisfa i seguenti requisiti:
- Deve avere uno schema di bilanciamento del carico di
INTERNALoINTERNAL_MANAGED. - Deve trovarsi nella stessa regione del controllo di integrità composito.
- Deve avere uno schema di bilanciamento del carico di
Passaggi successivi
- Per monitorare il servizio pubblicato con Composite Health, consulta Monitorare Composite Health.
- Per gestire la configurazione di Composite Health, vedi Visualizzare, aggiornare ed eliminare la configurazione di Composite Health.