Installer et gérer une licence Spanner Omni

Ce document explique comment stocker et gérer votre clé de licence, l'installer dans votre déploiement, mettre à jour les clés qui expirent et vérifier l'installation sur tous les nœuds.

Pour exécuter un environnement de production, vous devez installer une clé de licence Spanner Omni commerciale. Dans un environnement hors production, vous pouvez utiliser les fonctionnalités de sauvegarde et de restauration en déployant Spanner Omni dans une configuration à serveur unique de quatre processeurs virtuels ou moins sans clé de licence. La fonctionnalité de nœuds de calcul n'est pas disponible avec les licences "Par défaut" ou "Développeur", quel que soit le nombre de serveurs ou de vCPU utilisés. Pour acheter une licence commerciale permettant d'utiliser des workers, contactez Google.

Pour en savoir plus sur les types de licences, les éditions et les fonctionnalités disponibles, consultez la présentation des éditions Spanner Omni.

Stocker votre clé de licence

Traitez votre clé de licence Spanner Omni comme une identifiant hautement sensible. Si une clé de licence est compromise, Google l'invalide dans les futures versions de Spanner Omni. Pour éviter l'exposition des clés, implémentez les consignes suivantes concernant le cycle de vie. Nous vous recommandons d'utiliser des systèmes automatisés pour injecter la clé plutôt que de l'écrire en texte brut dans un stockage persistant. Les sections suivantes expliquent comment stocker votre clé de licence, protéger les fichiers de déploiement automatisé et configurer la transmission de l'exécution.

Stockage dans des gestionnaires de secrets centraux

N'intégrez pas votre clé de licence dans un commit pour le contrôle des sources ni ne la codez en dur dans les fichiers de configuration. Stockez toujours la clé dans un magasin d'identifiants centralisé, par exemple :

Automatisation des déploiements

Lorsque vous déployez des outils d'automatisation tels que Terraform ou Ansible, ne transmettez pas la clé de licence en tant que variables de configuration en texte brut :

  • Terraform : récupérez la clé de licence de manière dynamique lors de l'exécution du déploiement à l'aide de sources de données. Marquez la variable à l'aide de l'attribut sensitive = true pour empêcher la clé d'apparaître dans les journaux de la console d'exécution.
  • Ansible : conservez la clé en mémoire lors de l'exécution de la configuration à l'aide de plug-ins Secret Manager (tels que google.cloud.gcp_secret_manager ou community.hashicorp.vault), ou chiffrez la clé avec Ansible Vault si elle est stockée dans un dépôt.

Transmettre votre clé de licence lors de l'exécution

Utilisez les techniques suivantes pour fournir la clé de licence aux processus de base de données sans l'exposer à des utilisateurs non autorisés :

Déploiements basés sur des VM (dans le cloud ou sur site)

  • Injection basée sur Identity and Access Management (IAM) : associez vos VM de base de données à un compte de service géré ou à un rôle IAM. Lors du démarrage ou du provisionnement (par exemple, avec Ansible), utilisez cette identité pour récupérer la clé de licence de votre gestionnaire de secrets dans la mémoire ou dans un répertoire à accès restreint.
  • Autorisations du système d'exploitation : si vous écrivez la clé sur le disque, limitez l'accès au fichier afin que seul l'utilisateur exécutant le processus Spanner Omni puisse afficher le fichier (par exemple, chmod 400 /path/to/license). Limitez fortement l'accès SSH aux machines hôtes.

Déploiements Kubernetes

  • Utiliser le pilote CSI Secrets Store : utilisez le pilote CSI Secrets Store standard pour monter votre clé de licence directement depuis votre gestionnaire de secrets externe dans les pods Spanner Omni en tant que volume de mémoire temporaire (tmpfs). Les identifiants n'existent que dans la mémoire et disparaissent lorsque le pod se termine.
  • Évitez les secrets Kubernetes intégrés : n'utilisez pas les secrets Kubernetes intégrés, qui n'utilisent que l'encodage base64 et persistent dans etcd.

Installer la clé de licence

Pour installer ou mettre à jour une clé de licence, rendez-la accessible à vos serveurs Spanner Omni en tant que chemin d'accès local (par exemple, /path/to/your/license).

Pour transmettre le chemin d'accès de la clé de licence au serveur, utilisez l'indicateur --license-file-path ou la variable d'environnement SPANNER_LICENSE_FILE_PATH lorsque vous exécutez la commande spanner start ou spanner start-single-server.

Exemple :

spanner start --root \
  --license-file-path=LICENSE_KEY_FILE_PATH \
  --server-address=RESOLVABLE_HOSTNAME \
  --zone=ZONE_NAME \
  --base-dir=SPANNER_BASE_DIR

Vous pouvez également utiliser la variable d'environnement pour fournir le chemin d'accès à la licence :

SPANNER_LICENSE_FILE_PATH=LICENSE_KEY_FILE_PATH \
  spanner start --root \
    --server-address=RESOLVABLE_HOSTNAME \
    --zone=ZONE_NAME \
    --base-dir=SPANNER_BASE_DIR

Remplacez les éléments suivants :

  • LICENSE_KEY_FILE_PATH : chemin d'accès local à votre fichier de clé de licence.
  • RESOLVABLE_HOSTNAME : nom d'hôte ou adresse IP résolvable du serveur de nœud.
  • ZONE_NAME : nom de la zone pour le déploiement.
  • SPANNER_BASE_DIR : répertoire de base dans lequel les fichiers du serveur sont stockés.

Vous pouvez également placer la clé de licence dans le chemin d'accès où le serveur l'attend : BASE_DIR/license/license. Pour les déploiements Kubernetes, BASE_DIR est défini par défaut sur /spanner.

Mettre à jour une licence arrivant à expiration

Pour mettre à jour, prolonger ou renouveler une licence Developer Edition qui arrive à expiration dans un déploiement actif, demandez une licence perpétuelle. Pour prolonger une licence de validation du concept qui arrive à expiration ou acheter une licence commerciale, contactez Google. Une fois la nouvelle licence reçue, indiquez son chemin d'accès et lancez un redémarrage progressif de vos serveurs Spanner Omni :

  1. Rendez le nouveau fichier de licence accessible à chaque nœud.
  2. Effectuez un redémarrage progressif en redémarrant un nœud de serveur à la fois.
  3. Surveillez l'état du déploiement pendant le déploiement. Si un nœud ne redémarre pas ou rencontre des erreurs, effectuez un rollback vers la configuration qui fonctionnait précédemment et examinez les journaux de votre serveur pour vous assurer que la nouvelle licence est correctement fournie.

Installer la clé de licence avec Helm (Kubernetes)

Si vous effectuez le déploiement à l'aide du graphique Helm fourni par Google, vous pouvez transmettre le chemin d'accès au fichier de licence de manière dynamique lors des mises à niveau.

Étant donné que le flag --set-file de Helm nécessite un chemin d'accès physique sur le disque, n'enregistrez pas la clé de licence dans un fichier permanent. Récupérez plutôt la clé de votre gestionnaire de secrets dans un fichier temporaire éphémère ou un chemin d'accès en mémoire (par exemple, /dev/shm sous Linux). Transmettez ce chemin à Helm, puis supprimez ou détruisez immédiatement le fichier. Cela permet de s'assurer que le système ne laisse pas d'identifiants en texte brut sur le disque, ce qui les empêche de persister localement ou d'être accidentellement enregistrés dans le contrôle des versions.

helm upgrade --install spanner-omni \
  --set-file licenseKey=LICENSE_KEY_FILE_PATH

Remplacez les éléments suivants :

  • LICENSE_KEY_FILE_PATH : chemin d'accès local à votre fichier de clé de licence.

Vérifier l'installation de la licence

Étant donné que vous installez la clé de licence sur chaque nœud de serveur actif d'un cluster, vous pouvez vérifier l'installation en inspectant l'état de l'un des nœuds de serveur qui gèrent vos requêtes. Exécutez la commande describe pour le point de terminaison :

spanner deployment describe --deployment-endpoint=SERVER_ADDRESS

Remplacez les éléments suivants :

  • SERVER_ADDRESS : adresse du nœud de serveur.

Exécuter un audit à l'échelle du cluster

Pour vérifier que la clé de licence correcte est installée sur tous les nœuds de votre cluster de VM ou de votre StatefulSet Kubernetes, exécutez la commande d'audit à l'échelle du cluster :

spanner admin license check

Un audit à l'échelle du cluster inspecte chaque serveur de la topologie de la base de données. Pour cette raison, assurez-vous que tous les serveurs de nœuds sont en ligne et accessibles sur le réseau avant d'exécuter cette commande.

Interpréter les résultats de l'audit

Utilisez le tableau suivant pour comprendre les résultats de l'audit à l'échelle du cluster :

État du cluster Type de sortie Description et action requise
Uniforme (attendu) Identifiant de licence unique Tous les nœuds utilisent la même clé et le même type de licence. Aucune autre action n'est requise.
Mixte (action requise) Liste des identifiants et des serveurs de licence Différentes clés de licence sont détectées sur les nœuds (par exemple, lors d'une mise à jour continue bloquée). Examinez les nœuds listés pour vous assurer que le nouveau fichier de licence a été correctement appliqué.

Respecter les conditions de la licence commerciale

Si vous utilisez une licence commerciale Spanner Omni, vous devez respecter votre contrat de licence. Le respect de la conformité permet d'éviter les litiges de facturation, et de suivre et de signaler à Google l'utilisation des ressources de votre cluster. Pour respecter un contrat de licence commerciale Spanner Omni :

  1. Exécutez l'outil Spanner Omni Usage à la fin de chaque cycle de facturation pour collecter les métriques d'utilisation des vCPU du cluster :

    spanner admin license report --row-format=CSV
    
  2. Contactez votre responsable de compte technique (TAM) ou l'équipe chargée de votre compte Google pour confirmer le canal d'envoi préféré de votre organisation.

  3. Envoyez la charge utile résultante à Google avant le 5 du mois suivant.

Étapes suivantes