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

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

  1. Nella console Google Cloud , vai alla pagina Integrità composita:

    Vai a Integrità composita

  2. Fai clic su Policy di aggregazione dell'integrità.

  3. Fai clic su Crea policy di aggregazione dell'integrità.

  4. Inserisci un nome per la policy di aggregazione dell'integrità.

  5. (Facoltativo) Inserisci una descrizione della policy.

  6. Fai clic su Regione, quindi seleziona una regione per la policy di aggregazione dell'integrità.

  7. Fai clic su Avanti.

  8. 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.

  9. 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.

  10. 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 stato
  • REGION: la regione 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 esempio 75

    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.

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 esempio 75.

    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

  1. Nella console Google Cloud , vai alla pagina Integrità composita:

    Vai a Integrità composita

  2. Fai clic su Origini salute.

  3. Fai clic su Crea origine integrità.

  4. Inserisci un nome per l'origine di integrità.

  5. (Facoltativo) Inserisci una descrizione dell'origine dei dati sanitari.

  6. Fai clic su Regione, quindi seleziona una regione per l'origine dei dati sanitari.

  7. Fai clic su Avanti.

  8. Fai clic su Origine, quindi seleziona un servizio di backend da associare all'origine dello stato.

  9. Fai clic su Avanti.

  10. 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.

  11. 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 salute
  • REGION: 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 INTERNAL o INTERNAL_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_IP o GCE_VM_IP_PORT.
  • 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 INTERNAL o INTERNAL_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_IP o GCE_VM_IP_PORT.
  • 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

  1. Nella console Google Cloud , vai alla pagina Integrità composita:

    Vai a Integrità composita

  2. Fai clic su Controlli di integrità compositi.

  3. Fai clic su Crea controllo di integrità composito.

  4. Inserisci un nome per il controllo di integrità composito.

  5. (Facoltativo) Inserisci una descrizione del controllo di integrità composito.

  6. Fai clic su Regione, quindi seleziona una regione per il controllo di integrità composito.

  7. Fai clic su Avanti.

  8. 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.

  9. Fai clic su Avanti.

  10. Fai clic su Tipo di bilanciatore del carico, quindi seleziona il tipo di bilanciatore del carico da utilizzare come destinazione di integrità.

  11. Fai clic su Bilanciatore del carico, quindi seleziona il bilanciatore del carico da utilizzare come destinazione di controllo di integrità.

  12. 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à.

  13. 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à composito
  • REGION: la regione del controllo di integrità composito
  • HEALTH_SOURCES: i nomi di una o più origini di integrità da associare al controllo di integrità composito

    Puoi 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 esempio projects/PROJECT_ID/regions/REGION/forwardingRules/FORWARDING_RULE

    La 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 INTERNAL o INTERNAL_MANAGED.
    • Deve trovarsi nella stessa regione del controllo di integrità composito.

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'array healthSources.

  • HEALTH_DESTINATION: l'URI della regola di forwarding che riceve lo stato di integrità composito da questo controllo di integrità composito, ad esempio projects/PROJECT_ID/regions/REGION/forwardingRules/FORWARDING_RULE

    La 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 INTERNAL o INTERNAL_MANAGED.
    • Deve trovarsi nella stessa regione del controllo di integrità composito.

Passaggi successivi