Configurer l'état composite pour le basculement automatique interrégional

Cette page explique comment les producteurs de services peuvent configurer l'état de santé composite pour prendre en charge le basculement automatique entre régions pour les services publiés.

Avant de commencer

Rôles requis

Pour obtenir les autorisations nécessaires pour configurer l'état de santé composite, demandez à votre administrateur de vous accorder le rôle IAM Administrateur de réseaux Compute (roles/compute.networkAdmin) sur votre projet. Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ce rôle prédéfini contient les autorisations requises pour configurer l'état composite. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour configurer l'état de santé composite :

  • 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

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Configurer l'état composite pour prendre en charge le basculement interrégional automatique

Les sections suivantes expliquent comment configurer la vérification de l'état composite pour le basculement automatique entre régions.

Bien que l'état composite ne nécessite aucune configuration de la part du client de service, cette fonctionnalité ne fonctionne que si le client configure des backends Private Service Connect compatibles dans un déploiement multirégional. Pour savoir comment un consommateur de services peut configurer son réseau VPC pour utiliser la vérification d'état composite, consultez Basculement interrégional automatique.

Créer une règle d'agrégation des données d'état

Créez au moins une règle d'agrégation des données d'état dans chaque région où vous souhaitez prendre en charge le basculement interrégional.

Une règle d'agrégation des états est une ressource réutilisable qui définit les critères permettant de considérer un service de backend comme opérationnel. Vous pouvez appliquer la même règle à plusieurs services de backend ou créer des règles différentes pour les services qui ont des exigences d'état différentes.

Console

  1. Dans la console Google Cloud , accédez à la page État de santé composite :

    Accéder à l'état de santé composite

  2. Cliquez sur Règles d'agrégation des données d'état.

  3. Cliquez sur Créer une règle d'agrégation des données d'état.

  4. Saisissez un nom pour la règle d'agrégation des données d'état.

  5. Facultatif : saisissez une description de la stratégie.

  6. Cliquez sur Région, puis sélectionnez une région pour la règle d'agrégation des données d'état.

  7. Cliquez sur Suivant.

  8. Dans la zone Seuil de pourcentage opérationnel, saisissez le pourcentage minimal de points de terminaison d'un service de backend qui doivent être opérationnels pour que la source de données d'état soit considérée comme opérationnelle (par exemple, 75).

  9. Dans la zone Seuil opérationnel minimal, saisissez le nombre minimal de points de terminaison d'un service de backend qui doivent être opérationnels pour que la source de données d'état soit considérée comme opérationnelle.

  10. Cliquez sur Créer.

gcloud

Utilisez la commande 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

Remplacez les éléments suivants :

  • POLICY : nom de la règle d'agrégation de l'état
  • REGION : région de la règle d'agrégation de l'état de santé
  • PERCENT_HEALTHY : pourcentage minimal de points de terminaison d'un service de backend qui doivent être opérationnels pour que la source d'état soit considérée comme opérationnelle (par exemple, 75).

    La valeur par défaut est 60. Les points de terminaison peuvent être des VM dans un groupe d'instances ou des points de terminaison réseau dans un groupe de points de terminaison du réseau (NEG).

  • MINIMUM_HEALTHY : nombre minimal de points de terminaison d'un service de backend qui doivent être opérationnels pour que la source de données d'état soit considérée comme opérationnelle

    La valeur par défaut est 1.

API

Envoyez une requête à la méthode regionHealthAggregationPolicies.insert.

Méthode HTTP et URL :

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/healthAggregationPolicies

Corps JSON de la requête :

{
  "name": "POLICY",
  "policyType": "BACKEND_SERVICE_POLICY",
  "healthyPercentThreshold": PERCENT_HEALTHY,
  "minHealthyThreshold": MINIMUM_HEALTHY
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet pour la règle d'agrégation de l'état.
  • REGION : région de la règle d'agrégation de l'état.
  • POLICY : nom de la stratégie d'agrégation de l'état.
  • PERCENT_HEALTHY : pourcentage minimal de points de terminaison d'un service de backend qui doivent être opérationnels pour que la source d'état soit considérée comme opérationnelle (par exemple, 75).

    La valeur par défaut est 60. Les points de terminaison peuvent être des VM dans un groupe d'instances ou des points de terminaison réseau dans un groupe de points de terminaison du réseau (NEG).

  • MINIMUM_HEALTHY : nombre minimal de points de terminaison opérationnels requis dans un service de backend pour que la source de données d'état soit considérée comme opérationnelle.

    La valeur par défaut est 1.

Créer une source de données de santé

Créez une source d'état pour chaque instance régionale de votre service publié. Si une instance de votre service publié dépend de l'état de plusieurs services de backend, créez une source d'état distincte pour chacun de ces services de backend.

Une source d'état est la ressource qui associe une règle d'agrégation des états à un service de backend spécifique. Une vérification de l'état composite agrège les états d'une ou de plusieurs sources d'état pour produire un état composite final pour votre service.

Console

  1. Dans la console Google Cloud , accédez à la page État de santé composite :

    Accéder à l'état de santé composite

  2. Cliquez sur Sources de santé.

  3. Cliquez sur Créer une source de données de santé.

  4. Saisissez un nom pour la source de données de santé.

  5. Facultatif : saisissez une description de la source de données de santé.

  6. Cliquez sur Région, puis sélectionnez une région pour la source de données de santé.

  7. Cliquez sur Suivant.

  8. Cliquez sur Source, puis sélectionnez un service de backend à associer à la source d'état.

  9. Cliquez sur Suivant.

  10. Cliquez sur Règle d'agrégation des données d'état, puis sélectionnez la règle d'agrégation des données d'état à appliquer à cette source de données d'état.

  11. Cliquez sur Créer.

gcloud

Exécutez la commande 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

Remplacez les éléments suivants :

  • HEALTH_SOURCE : nom de la source de données de santé
  • REGION : région de la source de données de santé

    La règle d'agrégation des données d'état doit se trouver dans la même région que la source d'état.

  • BACKEND_SERVICE : nom d'un service de backend unique à associer à la source d'état

    Le service de backend doit répondre aux exigences suivantes :

    • Il doit avoir un schéma d'équilibrage de charge de type INTERNAL ou INTERNAL_MANAGED.
    • Il doit se trouver dans la même région que la source de données de santé que vous créez.
    • Ses backends doivent être des groupes d'instances ou des groupes de points de terminaison du réseau de type GCE_VM_IP ou GCE_VM_IP_PORT.
  • POLICY : nom de la règle d'agrégation de l'état de santé à appliquer à cette source d'état de santé

API

Envoyez une requête à la méthode regionHealthSources.insert.

Méthode HTTP et URL :

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/healthSources

Corps JSON de la requête :

{
  "name": "HEALTH_SOURCE",
  "sourceType": "BACKEND_SERVICE",
  "sources": [
    "projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE"
  ],
  "healthAggregationPolicy": "projects/PROJECT_ID/regions/REGION/healthAggregationPolicies/POLICY"
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet pour la source de données sur la santé.
  • REGION : région de la source de données sur la santé.

    La règle d'agrégation des données d'état doit se trouver dans la même région que la source d'état.

  • HEALTH_SOURCE : nom de la source de données sur la santé.

  • BACKEND_SERVICE : nom d'un service de backend unique à associer à la source d'état de santé.

    Le service de backend doit répondre aux exigences suivantes :

    • Il doit avoir un schéma d'équilibrage de charge de type INTERNAL ou INTERNAL_MANAGED.
    • Il doit se trouver dans la même région que la source de données de santé que vous créez.
    • Ses backends doivent être des groupes d'instances ou des groupes de points de terminaison du réseau de type GCE_VM_IP ou GCE_VM_IP_PORT.
  • POLICY : nom de la règle d'agrégation de l'état de santé à appliquer à cette source d'informations sur l'état de santé.

Créer une vérification de l'état composite

Créez une vérification de l'état composite pour chaque instance régionale de votre service publié.

Une vérification de l'état composite agrège les états de ses sources d'état associées pour créer un état composite final. L'état de fonctionnement final est appliqué au service régional publié associé à la règle de transfert que vous spécifiez comme destination de l'état.

Console

  1. Dans la console Google Cloud , accédez à la page État de santé composite :

    Accéder à l'état de santé composite

  2. Cliquez sur Vérifications d'état composites.

  3. Cliquez sur Créer une vérification de l'état composite.

  4. Saisissez un nom pour la vérification de l'état composite.

  5. Facultatif : saisissez une description de la vérification de l'état composite.

  6. Cliquez sur Région, puis sélectionnez une région pour le contrôle de l'état composite.

  7. Cliquez sur Suivant.

  8. Cliquez sur Source d'état, puis sélectionnez une source d'état à associer à la vérification de l'état d'état composite. Pour ajouter d'autres sources de données d'état, cliquez sur Ajouter une source de données d'état, puis sélectionnez-en une autre.

  9. Cliquez sur Suivant.

  10. Cliquez sur Type d'équilibreur de charge, puis sélectionnez le type d'équilibreur de charge à utiliser comme destination de vérification de l'état.

  11. Cliquez sur Équilibreur de charge, puis sélectionnez l'équilibreur de charge à utiliser comme destination de vérification de l'état.

  12. Si votre équilibreur de charge est associé à plusieurs règles de transfert, cliquez sur Règle de transfert, puis sélectionnez la règle de transfert à utiliser comme destination de l'état de santé.

  13. Cliquez sur Créer.

gcloud

Exécutez la commande 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

Remplacez les éléments suivants :

  • COMPOSITE_HEALTH_CHECK : nom de la vérification de l'état composite
  • REGION : région de la vérification de l'état composite.
  • HEALTH_SOURCES : noms d'une ou de plusieurs sources d'état à associer à la vérification de l'état d'état composite

    Vous pouvez inclure plusieurs sources de données de santé dans une liste séparée par des virgules.

  • HEALTH_DESTINATION : URI de la règle de transfert qui reçoit l'état de santé composite de ce contrôle de l'état de santé composite (par exemple, projects/PROJECT_ID/regions/REGION/forwardingRules/FORWARDING_RULE)

    La règle de transfert doit être associée à un équilibreur de charge de producteur compatible avec la vérification d'état composite et qui répond aux exigences suivantes :

    • Il doit avoir un schéma d'équilibrage de charge de type INTERNAL ou INTERNAL_MANAGED.
    • Elle doit se trouver dans la même région que la vérification de l'état composite.

API

Envoyez une requête à la méthode regionCompositeHealthChecks.insert.

Méthode HTTP et URL :

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/compositeHealthChecks

Corps JSON de la requête :

{
  "name": "COMPOSITE_HEALTH_CHECK",
  "healthSources": [
    "projects/PROJECT_ID/regions/REGION/healthSources/HEALTH_SOURCE"
  ],
  "healthDestination": "HEALTH_DESTINATION"
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet pour le contrôle de l'état composite.
  • REGION : région de la vérification de l'état composite.
  • COMPOSITE_HEALTH_CHECK : nom de la vérification de l'état composite.
  • HEALTH_SOURCE : nom d'une source d'état de santé à associer à la vérification de l'état d'état composite. Vous pouvez inclure plusieurs sources de santé dans le tableau healthSources.

  • HEALTH_DESTINATION : URI de la règle de transfert qui reçoit l'état de santé composite de ce contrôle de l'état de santé composite (par exemple, projects/PROJECT_ID/regions/REGION/forwardingRules/FORWARDING_RULE)

    La règle de transfert doit être associée à un équilibreur de charge de producteur compatible avec la vérification d'état composite et qui répond aux exigences suivantes :

    • Il doit avoir un schéma d'équilibrage de charge de type INTERNAL ou INTERNAL_MANAGED.
    • Elle doit se trouver dans la même région que la vérification de l'état composite.

Étapes suivantes