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
En savoir plus sur l'état de santé composite
Dans chaque région que vous souhaitez prendre en charge, identifiez ou créez un service cible qui répond aux exigences suivantes.
- Il doit utiliser l'un des équilibreurs de charge internes suivants :
- Il doit utiliser l'un des types de backend suivants :
- Un groupe de points de terminaison du réseau (NEG) zonal avec le type de point de terminaison du réseau
GCE_VM_IPouGCE_VM_IP_PORT - Un groupe d'instances
- Un groupe de points de terminaison du réseau (NEG) zonal avec le type de point de terminaison du réseau
La procédure de création de vos services cibles dépend de l'équilibreur de charge et des types de backend que vous choisissez. Pour savoir comment créer des services cibles, consultez la documentation de votre équilibreur de charge.
Publiez chaque service cible en créant un rattachement de service.
Sachez que pour utiliser la vérification de l'état composite pour le basculement, les consommateurs doivent accéder à vos services avec des équilibreurs de charge compatibles avec le basculement interrégional.
Activez l'API Compute Engine dans votre projet.
Vérifiez que vous disposez des autorisations requises pour suivre les instructions de ce guide.
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
Dans la console Google Cloud , accédez à la page État de santé composite :
Cliquez sur Règles d'agrégation des données d'état.
Cliquez sur Créer une règle d'agrégation des données d'état.
Saisissez un nom pour la règle d'agrégation des données d'état.
Facultatif : saisissez une description de la stratégie.
Cliquez sur Région, puis sélectionnez une région pour la règle d'agrégation des données d'état.
Cliquez sur Suivant.
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).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.
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'étatREGION: 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érationnelleLa 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
Dans la console Google Cloud , accédez à la page État de santé composite :
Cliquez sur Sources de santé.
Cliquez sur Créer une source de données de santé.
Saisissez un nom pour la source de données de santé.
Facultatif : saisissez une description de la source de données de santé.
Cliquez sur Région, puis sélectionnez une région pour la source de données de santé.
Cliquez sur Suivant.
Cliquez sur Source, puis sélectionnez un service de backend à associer à la source d'état.
Cliquez sur Suivant.
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.
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'étatLe service de backend doit répondre aux exigences suivantes :
- Il doit avoir un schéma d'équilibrage de charge de type
INTERNALouINTERNAL_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_IPouGCE_VM_IP_PORT.
- Il doit avoir un schéma d'équilibrage de charge de type
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
INTERNALouINTERNAL_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_IPouGCE_VM_IP_PORT.
- Il doit avoir un schéma d'équilibrage de charge de type
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
Dans la console Google Cloud , accédez à la page État de santé composite :
Cliquez sur Vérifications d'état composites.
Cliquez sur Créer une vérification de l'état composite.
Saisissez un nom pour la vérification de l'état composite.
Facultatif : saisissez une description de la vérification de l'état composite.
Cliquez sur Région, puis sélectionnez une région pour le contrôle de l'état composite.
Cliquez sur Suivant.
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.
Cliquez sur Suivant.
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.
Cliquez sur Équilibreur de charge, puis sélectionnez l'équilibreur de charge à utiliser comme destination de vérification de l'état.
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é.
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 compositeREGION: 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 compositeVous 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
INTERNALouINTERNAL_MANAGED. - Elle doit se trouver dans la même région que la vérification de l'état composite.
- Il doit avoir un schéma d'équilibrage de charge de type
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 tableauhealthSources.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
INTERNALouINTERNAL_MANAGED. - Elle doit se trouver dans la même région que la vérification de l'état composite.
- Il doit avoir un schéma d'équilibrage de charge de type
Étapes suivantes
- Pour surveiller votre service publié avec Composite Health, consultez Surveiller Composite Health.
- Pour gérer la configuration de l'état de santé composite, consultez Afficher, modifier et supprimer la configuration de l'état de santé composite.