Note

Ce plugin fait partie de la collection google.cloud (version 1.0.2).

Pour l'installer, utilisez : ansible-galaxy collection install google.cloud.

Pour l'utiliser dans un playbook, spécifiez : google.cloud.gcp_compute_backend_service_info.

  • Synopsis
  • Exigences
  • Paramètres
  • Notes
  • Exemples
  • Valeurs de retour

Synopsis

  • Recueillir des informations pour le BackendService de GCP.

Exigences

Les exigences ci-dessous sont nécessaires sur l'hôte qui exécute ce module.

  • python >= 2.6
  • requests >= 2.18.4
  • google-auth >= 1.3.0

Paramètres

Paramètre Choix/par défaut Commentaires
auth_kindchaîne de caractères / obligatoire
    Choix :

  • application
  • compte machine
  • compte de service
Le type de justificatif utilisé.
env_typechaîne de caractères Spécifie dans quel environnement Ansible vous exécutez ce module.Cela ne devrait pas être défini à moins que vous ne sachiez ce que vous faites.Cela modifie uniquement la chaîne d'agent utilisateur pour toute demande d'API.
filtresliste / elements=string Une liste de paires de valeurs de filtre. Les filtres disponibles sont énumérés ici https://cloud.google.com/sdk/gcloud/reference/topic/filters.chaque filtre supplémentaire dans la liste agira comme une condition AND (filtre1 et filtre2) .
projetchaîne de caractères Le projet de la plateforme Google Cloud à utiliser.
scopesliste / elements=chaîne Tableau des champs d'application à utiliser
service_account_contentsjsonarg Le contenu d'un fichier JSON de compte de service, soit dans un dictionnaire, soit sous la forme d'une chaîne JSON qui le représente.
service_account_emailchaîne de caractères Une adresse électronique facultative de compte de service si machineaccount est sélectionné et que l'utilisateur ne souhaite pas utiliser l'adresse électronique par défaut.
service_account_filechemin d'accès Le chemin d'un fichier JSON de compte de service si serviceaccount est sélectionné comme type.

Notes

Note

  • pour l'authentification, vous pouvez définir le service_account_file à l'aide de la commande gcp_service_account_file variable env.
  • pour l'authentification, vous pouvez définir service_account_contents en utilisant la variable env. GCP_SERVICE_ACCOUNT_CONTENTS variable env.
  • Pour l'authentification, vous pouvez définir service_account_email en utilisant la variable env. GCP_SERVICE_ACCOUNT_EMAIL variable env.
  • Pour l'authentification, vous pouvez définir auth_kind en utilisant la variable env. GCP_AUTH_KIND variable d'environnement.
  • Pour l'authentification, vous pouvez définir les scopes en utilisant la variable env. GCP_SCOPES variable env.
  • Les valeurs des variables d'environnement ne seront utilisées que si les valeurs du playbook ne sont pas définies.
  • Le site service_account_email et service_account_file sont mutuellement exclusives.

Exemples

-name: get info on a backend service
  gcp_compute_backend_service_info:filters:- name = test_object
    project: test_project
    auth_kind: serviceaccount
    service_account_file:"/tmp/auth.pem"

Valeurs de retour

Les valeurs de retour courantes sont documentées ici, les champs suivants sont uniques à ce module :

Clé Renvoyé Description
ressourcescomplexe toujours Liste des ressources
affinityCookieTtlSecnombre entier succès Durée de vie des cookies en secondes si session_affinity est GENERATED_COOKIE. S'il est défini à 0, le cookie est non persistant et ne dure que jusqu'à la fin de la session du navigateur (ou équivalent). La valeur maximale autorisée pour TTL est d'un jour.Lorsque le schéma d'équilibrage de charge est INTERNAL, ce champ n'est pas utilisé.
backendscomplexe succès L'ensemble des backends qui servent ce BackendService.
balancingModechaîne de caractères succès Spécifie le mode d'équilibrage pour ce backend.Pour l'équilibrage de charge global HTTP(S) ou TCP/SSL, la valeur par défaut est UTILIZATION. Les valeurs valides sont UTILIZATION, RATE (pour HTTP(S)) et CONNECTION (pour TCP/SSL).
capacityScalerchaîne de caractères succès Un multiplicateur appliqué à la capacité de desserte maximale du groupe (en fonction de l'UTILIZATION, du TAUX ou de la CONNEXION).La valeur par défaut est 1, ce qui signifie que le groupe servira jusqu'à 100 % de sa capacité configurée (en fonction de balancingMode). Une valeur de 0 signifie que le groupe est complètement vidé, offrant 0 % de sa capacité disponible. La plage valide est [0.0,1.0].
descriptionchaîne de caractères succès Une description facultative de cette ressource.Fournissez cette propriété lorsque vous créez la ressource.
groupechaîne de caractères succès L'URL entièrement qualifiée d'une ressource de groupe d'instances ou de groupe de points d'extrémité de réseau. Dans le cas d'un groupe d'instances, cela définit la liste des instances qui servent le trafic. Les instances de machines virtuelles membres de chaque groupe d'instances doivent vivre dans la même zone que le groupe d'instances lui-même. Deux backends d'un service backend ne sont pas autorisés à utiliser la même ressource de groupe d'instances. Pour les groupes de points d'extrémité de réseau, cela définit la liste des points d'extrémité. Tous les endpoints du groupe Network Endpoint doivent être hébergés sur des instances situées dans la même zone que le groupe Network Endpoint.Les services backend ne peuvent pas mélanger les backends Instance Group et Network Endpoint Group.Notez que vous devez spécifier une ressource Instance Group ou Network Endpoint Group en utilisant l'URL entièrement qualifiée, plutôt qu'une URL partielle.
maxConnectionsnombre entier succès Le nombre maximal de connexions simultanées pour le groupe. Peut être utilisé avec les modes d'équilibrage CONNECTION ou UTILIZATION.Pour le mode CONNECTION, il faut définir soit maxConnections, soit l'un de maxConnectionsPerInstance ou maxConnectionsPerEndpoint, selon le type de groupe.
maxConnexionsPerEndpointnombre entier succès Le nombre maximal de connexions simultanées qu'un seul point d'extrémité du réseau dorsal peut gérer. Ceci est utilisé pour calculer la capacité du groupe. Peut être utilisé dans les modes d'équilibrage CONNECTION ou UTILIZATION.Pour le mode CONNECTION, soit maxConnections, soit maxConnectionsPerEndpoint doit être défini.
maxConnectionsPerInstancenombre entier succès Le nombre maximal de connexions simultanées qu'une seule instance de backend peut gérer. Ceci est utilisé pour calculer la capacité du groupe. Peut être utilisé dans les modes d'équilibrage CONNECTION ou UTILIZATION.Pour le mode CONNECTION, il faut définir soit maxConnections, soit maxConnectionsPerInstance.
maxRatenombre entier succès Les requêtes max par seconde (RPS) du groupe.Peut être utilisé avec les modes d'équilibrage RATE ou UTILIZATION, mais requis si le mode RATE. Pour le mode RATE, soit maxRate, soit l'un de maxRatePerInstance ou maxRatePerEndpoint, selon le type de groupe, doit être défini.
maxRatePerEndpointchaîne de caractères succès Le nombre maximal de demandes par seconde (RPS) qu'un seul point d'extrémité du réseau dorsal peut traiter. Ceci est utilisé pour calculer la capacité du groupe. Peut être utilisé dans l'un ou l'autre des modes d'équilibrage. Pour le mode RATE, soit maxRate soit maxRatePerEndpoint doit être défini.
maxRatePerInstancechaîne de caractères succès Le nombre maximal de demandes par seconde (RPS) qu'une seule instance de backend peut gérer. Ceci est utilisé pour calculer la capacité du groupe. Peut être utilisé dans l'un ou l'autre des modes d'équilibrage. Pour le mode RATE, soit maxRate soit maxRatePerInstance doit être défini.
maxUtilizationchaîne de caractères succès Utilisé lorsque balancingMode est UTILIZATION. Ce ratio définit la cible d'utilisation du processeur pour le groupe. La valeur par défaut est 0,8. La plage valide est [0.0, 1.0].
cdnPolicycomplexe succès Configuration du CDN en nuage pour ce BackendService.
cacheKeyPolicycomplexe succès Le CacheKeyPolicy pour ce CdnPolicy.
includeHostboolean succès Si true les requêtes vers différents hôtes seront mises en cache séparément.
includeProtocolbooléen succès Si true, les requêtes http et https seront mises en cache séparément.
includeQueryStringboolean succès Si true, inclure les paramètres de la chaîne de requête dans la clé de cache selon query_string_whitelist et query_string_blacklist. Si aucun des deux n'est défini, la chaîne de requête entière sera incluse.Si false, la chaîne de requête sera entièrement exclue de la clé de cache.
queryStringBlacklistliste / elements=string succès Noms des paramètres de chaîne de requête à exclure dans les clés de cache.Tous les autres paramètres seront inclus. Spécifiez soit query_string_whitelist, soit query_string_blacklist, pas les deux. '&' et '=' seront codés en pourcentage et ne seront pas traités comme des délimiteurs.
queryStringWhitelistliste / elements=string succès Noms des paramètres de chaîne de requête à inclure dans les clés de cache.Tous les autres paramètres seront exclus. Spécifiez soit query_string_whitelist, soit query_string_blacklist, pas les deux. '&' et '=' seront codés en pourcentage et ne seront pas traités comme des délimiteurs.
signedUrlCacheMaxAgeSecnombre entier succès Nombre maximal de secondes pendant lesquelles la réponse à une demande d'URL signée sera considérée comme fraîche, la valeur par défaut est 1hr (3600s). Après cette période, la réponse sera revalidée avant d'être servie.Lorsqu'il sert des réponses à des demandes d'URL signées, Cloud CDN se comportera en interne comme si toutes les réponses de ce backend avaient un "Cache-Control : public, max-age=".[TTL]L'en-tête " Cache-Control ", indépendamment de tout en-tête Cache-Control existant. Les en-têtes réels servis dans les réponses ne seront pas modifiés.
disjoncteurscomplexe succès Paramètres contrôlant le volume des connexions à un service backend. Ce champ est applicable uniquement lorsque le schéma d'équilibrage de charge est défini sur INTERNAL_SELF_MANAGED.
maxConnectionsnombre entier succès Le nombre maximum de connexions au cluster backend.La valeur par défaut est de 1024.
maxPendingRequestsnombre entier succès Le nombre maximum de demandes en attente vers le cluster backend.La valeur par défaut est de 1024.
maxRequestsnombre entier succès Le nombre maximum de requêtes parallèles au cluster backend.La valeur par défaut est de 1024.
maxRequestsPerConnectionnombre entier succès Nombre maximal de demandes pour une seule connexion backend. Ce paramètre est respecté à la fois par les implémentations HTTP/1.1 et HTTP/2. S'il n'est pas spécifié, il n'y a pas de limite. Définir ce paramètre à 1 désactivera effectivement le keep alive.
maxRetriesnombre entier succès Le nombre maximum de tentatives parallèles vers le cluster backend.La valeur par défaut est de 3.
connectionDrainingcomplexe succès Paramètres pour la vidange de la connexion .
drainingTimeoutSecnombre entier succès Temps pendant lequel l'instance sera vidée (n'acceptera pas de nouvelles connexions, mais travaillera toujours pour finir commencé).
consistentHashcomplexe succès L'équilibrage de charge basé sur le hachage cohérent peut être utilisé pour fournir une affinité de session douce basée sur les en-têtes HTTP, les cookies ou d'autres propriétés. Cette politique d'équilibrage de charge est applicable uniquement pour les connexions HTTP. L'affinité avec un hôte de destination particulier sera perdue lorsqu'un ou plusieurs hôtes sont ajoutés/supprimés du service de destination. Ce champ spécifie les paramètres qui contrôlent le hachage cohérent. Ce champ ne s'applique que si le schéma d'équilibrage de charge est défini sur INTERNAL_SELF_MANAGED. Ce champ ne s'applique que si locality_lb_policy est défini sur MAGLEV ou RING_HASH.
httpCookiecomplexe succès Le hachage est basé sur un cookie HTTP. Ce champ décrit un cookie HTTP qui sera utilisé comme clé de hachage pour l'équilibreur de charge de hachage cohérent. Si le cookie n'est pas présent, il sera généré.Ce champ est applicable si la sessionAffinity est définie sur HTTP_COOKIE.
nomchaîne de caractères succès Nom du cookie.
cheminchaîne de caractères succès Chemin à définir pour le cookie.
ttlcomplexe succès Durée de vie du cookie.
nanosnombre entier succès Durée correspondant à une fraction de seconde à la résolution d'une nanoseconde. Les durées inférieures à une seconde sont représentées par un champ 0 seconde et un champ nanos positif. Doit être compris entre 0 et 999 999 999 inclus.
secondesnombre entier succès Plage de temps à une résolution d'une seconde.Doit être compris entre 0 et 315 576 000 000 inclus.
httpHeaderNamechaîne de caractères succès Le hachage basé sur la valeur du champ d'en-tête spécifié.Ce champ est applicable si la sessionAffinity est définie sur HEADER_FIELD.
minimumRingSizenombre entier succès Le nombre minimum de nœuds virtuels à utiliser pour l'anneau de hachage.Des tailles d'anneau plus importantes entraînent des répartitions de charge plus granulaires. Si le nombre d'hôtes dans le pool d'équilibrage de charge est supérieur à la taille de l'anneau, chaque hôte se verra attribuer un seul nœud virtuel.La valeur par défaut est 1024.
creationTimestampchaîne de caractères succès Horodatage de création au format texte RFC3339.
customRequestHeadersliste / elements=string succès En-têtes que l'équilibreur de charge HTTP/S doit ajouter aux requêtes proxiées.
descriptionchaîne de caractères succès Une description facultative de cette ressource.
enableCDNbooléen succès Si true, activez le Cloud CDN pour ce BackendService.
empreinte digitalechaîne de caractères succès Empreinte digitale de cette ressource. Un hachage du contenu stocké dans cet objet. Ce champ est utilisé dans le verrouillage optimiste.
healthChecksliste / elements=chaîne succès L'ensemble des URL vers la ressource HttpHealthCheck ou HttpsHealthCheck pour le contrôle de santé de ce BackendService. Actuellement, au maximum un contrôle de santé peut être spécifié.Un contrôle de santé doit être spécifié à moins que le service backend utilise un NEG internet ou serverless comme backend.Pour l'équilibrage de charge interne, une URL vers une ressource HealthCheck doit être spécifiée à la place.
iapcomplexe succès Paramètres d'activation du proxy conscient de l'identité du nuage.
activébooléen succès Active l'IAP.
oauth2ClientIdchaîne de caractères succès ID client OAuth2 pour le PAI .
oauth2ClientSecretchaîne de caractères succès Secret du client OAuth2 pour l'IAP .
oauth2ClientSecretSha256chaîne de caractères succès Secret du client OAuth2 SHA-256 pour le PAI .
idnombre entier succès L'identifiant unique de la ressource.
loadBalancingSchemechaîne de caractères succès Indique si le service backend sera utilisé avec un équilibrage de charge interne ou externe. Un service backend créé pour un type d'équilibrage de charge ne peut pas être utilisé avec l'autre.
localityLbPolicychaîne de caractères succès L'algorithme d'équilibrage de charge utilisé dans le cadre de la localité.Les valeurs possibles sont - * ROUND_ROBIN - Il s'agit d'une politique simple dans laquelle chaque backend sain est sélectionné dans l'ordre round robin.* LEAST_REQUEST - Un algorithme O(1) qui sélectionne deux hôtes sains aléatoires et choisit l'hôte qui a le moins de demandes actives.* RING_HASH - L'équilibreur de charge ring/modulo hash met en œuvre un hachage cohérent vers les backends. L'algorithme a la propriété que l'ajout/le retrait d'un hôte d'un ensemble de N hôtes n'affecte que 1/N des demandes.* RANDOM - L'équilibreur de charge sélectionne un hôte sain aléatoire.* ORIGINAL_DESTINATION - L'hôte du backend est sélectionné sur la base des métadonnées de connexion du client, c'est-à-dire, les connexions sont ouvertes à la même adresse que l'adresse de destination de la connexion entrante avant que la connexion ne soit redirigée vers l'équilibreur de charge.* MAGLEV - utilisé comme remplacement de l'équilibreur de charge ring hash. Maglev n'est pas aussi stable que ring hash mais a des temps de construction de table de consultation et de sélection d'hôte plus rapides. Pour plus d'informations sur Maglev, reportez-vous à https://ai.google/research/pubs/pub44824 Ce champ est applicable uniquement lorsque le schéma d'équilibrage de charge est défini sur INTERNAL_SELF_MANAGED.
logConfigcomplexe succès Ce champ dénote les options de journalisation pour le trafic de l'équilibreur de charge desservi par ce service backend.Si la journalisation est activée, les journaux seront exportés vers Stackdriver.
activerbooléen succès Si vous souhaitez activer la journalisation pour le trafic de l'équilibreur de charge desservi par ce service backend.
sampleRatechaîne de caractères succès Ce champ ne peut être spécifié que si la journalisation est activée pour ce service backend. La valeur de ce champ doit être en [0, 1]. Ceci configure le taux d'échantillonnage des demandes à l'équilibreur de charge où 1,0 signifie que toutes les demandes journalisées sont rapportées et 0,0 signifie qu'aucune demande journalisée n'est rapportée.La valeur par défaut est 1,0.
nomchaîne de caractères succès Nom de la ressource. Fourni par le client lors de la création de la ressource. Le nom doit comporter de 1 à 63 caractères et être conforme à la norme RFC1035. Plus précisément, le nom doit comporter de 1 à 63 caractères et correspondre à l'expression régulière `.[a-z]([-a-z0-9]*[a-z0-9])?`, ce qui signifie que le premier caractère doit être une lettre minuscule et que tous les caractères suivants doivent être un tiret, une lettre minuscule ou un chiffre, à l'exception du dernier caractère, qui ne peut être un tiret.
outlierDetectioncomplexe succès Paramètres contrôlant l'éviction des hôtes malsains du pool d'équilibrage de charge.Ce champ est applicable uniquement lorsque le schéma d'équilibrage de charge est défini sur INTERNAL_SELF_MANAGED.
baseEjectionTimecomplexe succès Le temps de base pendant lequel un hôte est éjecté. Le temps réel est égal au temps de base multiplié par le nombre de fois où l'hôte a été éjecté. La valeur par défaut est 30000ms ou 30s.
nanosnombre entier succès Durée correspondant à une fraction de seconde à la résolution d'une nanoseconde. Les durées inférieures à une seconde sont représentées par un champ 0 `secondes` et un champ positif `nanos`. Doit être compris entre 0 et 999 999 999 inclus.
secondesnombre entier succès Période de temps à une résolution d'une seconde. Doit être compris entre 0 et 315 576 000 000 inclus.
consecutiveErrorsnombre entier succès Nombre d'erreurs avant qu'un hôte soit éjecté du pool de connexion. Lorsque l'hôte backend est accédé par HTTP, un code de retour 5xx est qualifié d'erreur.La valeur par défaut est 5.
consecutiveGatewayFailurenombre entier succès Le nombre d'échecs de passerelle consécutifs (état 502, 503, 504 ou erreurs de connexion qui sont mappées à l'un de ces codes d'état) avant qu'une éjection d'échec de passerelle consécutive ne se produise. La valeur par défaut est 5.
enforcingConsecutiveErrorsnombre entier succès Le pourcentage de chance qu'un hôte soit effectivement éjecté lorsqu'un état aberrant est détecté par des 5xx consécutifs. Ce paramètre peut être utilisé pour désactiver l'éjection ou pour l'augmenter lentement. La valeur par défaut est de 100.
enforcingConsecutiveGatewayFailurenombre entier succès Le pourcentage de chance qu'un hôte soit effectivement éjecté lorsqu'un état aberrant est détecté par des échecs consécutifs de la passerelle. Ce paramètre peut être utilisé pour désactiver l'éjection ou pour l'augmenter lentement. La valeur par défaut est 0.
enforcingSuccessRatenombre entier succès Le pourcentage de chance qu'un hôte soit effectivement éjecté lorsqu'un état aberrant est détecté par les statistiques de taux de réussite. Ce paramètre peut être utilisé pour désactiver l'éjection ou pour l'augmenter lentement. La valeur par défaut est de 100.
intervallecomplexe succès Intervalle de temps entre l'analyse du balayage d'éjection. Cela peut entraîner à la fois de nouvelles éjections ainsi que des hôtes remis en service. La valeur par défaut est de 10 secondes.
nanosnombre entier succès Durée correspondant à une fraction de seconde à la résolution d'une nanoseconde. Les durées inférieures à une seconde sont représentées par un champ 0 `secondes` et un champ positif `nanos`. Doit être compris entre 0 et 999 999 999 inclus.
secondesnombre entier succès Période de temps à une résolution d'une seconde. Doit être compris entre 0 et 315 576 000 000 inclus.
maxEjectionPercentnombre entier succès Pourcentage maximum d'hôtes dans le pool d'équilibrage de charge pour le service backend qui peuvent être éjectés. La valeur par défaut est de 10 %.
successRateMinimumHostsnombre entier succès Le nombre d'hôtes dans un cluster qui doit avoir un volume de requêtes suffisant pour détecter les aberrations du taux de réussite. Si le nombre d'hôtes est inférieur à ce paramètre, la détection des aberrations via les statistiques de taux de réussite n'est effectuée pour aucun hôte du cluster. La valeur par défaut est 5.
successRateRequestVolumenombre entier succès Le nombre minimum de demandes totales qui doivent être collectées dans un intervalle (tel que défini par la durée de l'intervalle ci-dessus) pour inclure cet hôte dans la détection des aberrations basée sur le taux de réussite. Si le volume est inférieur à ce paramètre, la détection des aberrations via les statistiques de taux de réussite n'est pas effectuée pour cet hôte. La valeur par défaut est 100.
successRateStdevFactornombre entier succès Ce facteur est utilisé pour déterminer le seuil d'éjection des aberrations du taux de réussite. Le seuil d'éjection est la différence entre le taux de succès moyen, et le produit de ce facteur et de l'écart-type du taux de succès moyen : moyen - (stdev * facteur_succès_stdev). Ce facteur est divisé par mille pour obtenir un double. C'est-à-dire que si le facteur souhaité est 1,9, la valeur d'exécution devrait être 1900. La valeur par défaut est 1900.
portNamechaîne de caractères succès Nom du port du backend. Le même nom doit apparaître dans les groupes d'instances référencés par ce service. Requis lorsque le schéma d'équilibrage de la charge est EXTERNAL.
protocolechaîne de caractères succès Le protocole que ce BackendService utilise pour communiquer avec les backends.La valeur par défaut est HTTP. **NOTE** : HTTP2 est uniquement valable pour les types d'équilibreurs de charge beta HTTP/2 et peut entraîner des erreurs s'il est utilisé avec l'API GA.
securityPolicychaîne de caractères succès La politique de sécurité associée à ce service backend.
sessionAffinitychaîne de caractères succès Type d'affinité de session à utiliser. La valeur par défaut est NONE. L'affinité de session n'est pas applicable si le protocole est UDP.
timeoutSecnombre entier succès Combien de secondes à attendre pour le backend avant de le considérer comme une requête échouée. La valeur par défaut est de 30 secondes. La plage valide est [1, 86400].

Auteurs

  • Google Inc. (@googlecloudplatform)