Créer et configurer des profils d'application

Cette page explique comment créer et gérer les profils d'application (ou profils d'application) d'une instance Bigtable. Elle montre également comment utiliser un profil d'application personnalisé pour se connecter à Bigtable.

Avant de lire cette page, il est recommandé de comprendre ce que sont les profils d'application et leur fonctionnement. Veillez en particulier à bien comprendre la différence entre un profil d'application standard (un profil d'application configuré pour utiliser le calcul standard) et un profil d'application Data Boost (un profil d'application qui utilise le calcul sans serveur Data Boost (Preview) pour exécuter des tâches de lecture à haut débit. Pour en savoir plus sur Data Boost et sur les différences entre le calcul et l'utilisation de nœuds de cluster provisionnés, consultez la présentation de Data Boost.

Si vous utilisez des profils d'application standards pour configurer la réplication, vous devez également avoir consulté la présentation de la réplication Bigtable et les exemples de paramètres de réplication, et déterminer quels paramètres conviennent le mieux à votre cas d'utilisation.

Rôles requis

Afin d'obtenir les autorisations nécessaires pour créer, configurer ou supprimer un profil d'application, demandez à votre administrateur de vous attribuer le rôle IAM Administrateur Bigtable (roles/bigtable.admin) sur l'instance. Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.

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

Créer un profil d'application

Vous pouvez créer de nombreux profils d'application personnalisés pour chaque instance. Utilisez les profils d'application personnalisés pour contrôler la manière dont chaque application, ou chaque fonction distincte d'une application, interagit avec une instance. Vous pouvez par exemple utiliser un profil d'application pour une application par lots afin d'isoler son trafic dans un cluster unique, et un autre profil d'application pour permettre une haute disponibilité à une seconde application.

Créer un profil d'application standard

Pour créer un profil d'application standard, procédez comme suit:

Console

  1. Ouvrez la liste des instances Bigtable dans la console Google Cloud.

    Ouvrir la liste des instances

  2. Cliquez sur l'instance sur laquelle vous souhaitez créer le profil d'application.

  3. Dans le volet de gauche, cliquez sur Profils d'application.

  4. Cliquez sur Créer un profil d'application.

  5. Saisissez l'ID du profil d'application.

    L'ID de profil d'application est un identifiant permanent du profil d'application. Votre application fournit cet ID lorsqu'elle se connecte à Bigtable.

  6. Saisissez une description du profil d'application.

  7. Dans le champ Routage vers les clusters, sélectionnez le routage à cluster unique ou multicluster. En savoir plus

  8. Si vous choisissez Cluster unique :

    1. Dans la liste déroulante, sélectionnez le cluster vers lequel acheminer les requêtes.

    2. Si vous devez activer les transactions à ligne unique, cochez la case Autoriser les transactions à ligne unique.

  9. Si vous choisissez Multicluster :

    1. Pour acheminer les requêtes vers n'importe quel cluster de l'instance, sélectionnez Tous les clusters dans la liste déroulante Groupe de clusters.
    2. Pour limiter le routage des requêtes à certains clusters de l'instance (routage de groupe de clusters), cochez la case correspondant à chaque cluster que vous souhaitez inclure dans le groupe de routage, puis cliquez sur OK.
  10. Cliquez sur Créer pour créer le profil d'application.

  11. Mettez à jour le code de votre application pour vous connecter à Bigtable afin qu'il puisse utiliser le nouveau profil d'application.

gcloud

  1. Si vous ne connaissez pas l'ID d'instance, exécutez la commande bigtable instances list pour afficher la liste des instances de votre projet:

    gcloud bigtable instances list
    
  2. Utilisez la commande bigtable app-profiles create pour créer un profil d'application :

    gcloud bigtable app-profiles create APP_PROFILE_ID \
        --instance=INSTANCE_ID \
        [--description=DESCRIPTION] \
        [--force] \
        [--route-any] \
        [--restrict-to=CLUSTER_ID_1, CLUSTER_ID_2...]
        [--route-to=CLUSTER_ID] \
        [--transactional-writes]
    

    Indiquez les éléments suivants :

    • APP_PROFILE_ID : identifiant permanent du profil d'application.
    • INSTANCE_ID : identifiant permanent de l'instance.

    La commande accepte les paramètres facultatifs suivants :

    • --description=DESCRIPTION : description détaillée du profil d'application.
    • --force : permet d'ignorer les avertissements concernant les problèmes et les conflits potentiels avec d'autres profils d'application.
    • --route-any : permet d'activer le routage multicluster pour acheminer les requêtes vers n'importe quel cluster disponible.

      Vous ne pouvez pas combiner cette option avec --route-to ou --transactional-writes.

    • --restrict-to=CLUSTER_ID_1, CLUSTER_ID_2... : liste des clusters vers lesquels les requêtes doivent être acheminées. Utilisez cette option si vous souhaitez n'acheminer les requêtes que vers certains clusters de l'instance.

      Vous ne pouvez pas combiner cette option avec --route-to ou --transactional-writes.

    • --route-to=CLUSTER_ID : ID du cluster vers lequel toutes les demandes doivent être acheminées. Cette option active le routage vers un cluster unique.

      Vous ne pouvez pas combiner cet indicateur avec --route-any.

    • --transactional-writes : activez les transactions à ligne unique dans le profil d'application.

      Vous ne pouvez pas associer cette option à --route-any ou --restrict-to.

    • --priority=PRIORITY: niveau de priorité que le profil d'application doit utiliser. Les valeurs acceptées sont PRIORITY_HIGH, PRIORITY_MEDIUM ou PRIORITY_LOW.

  3. Mettez à jour le code de votre application pour vous connecter à Bigtable afin qu'il puisse utiliser le nouveau profil d'application.

Créer un profil d'application Data Boost

Pour créer un profil d'application Data Boost (un profil d'application qui utilise le calcul sans serveur Data Boost), procédez comme suit. Pour vous assurer que votre charge de travail est compatible avec Data Boost, consultez les limites.

  1. Si vous ne connaissez pas l'ID d'instance, exécutez la commande bigtable instances list pour afficher la liste des instances de votre projet:

    gcloud bigtable instances list
    
  2. Utilisez la commande beta bigtable app-profiles create pour créer un profil d'application :

    gcloud bigtable app-profiles create APP_PROFILE_ID \
        --instance=INSTANCE_ID \
        --data-boost \
        --data-boost-compute-billing-owner=HOST_PAYS \
        --route-to=CLUSTER_ID
    

    Indiquez les éléments suivants :

    • APP_PROFILE_ID : identifiant permanent du profil d'application.
    • INSTANCE_ID : identifiant permanent de l'instance.
    • CLUSTER_ID : ID du cluster vers lequel toutes les demandes doivent être acheminées. Cette option active le routage vers un seul cluster.

Se connecter avec un profil d'application personnalisé

Après avoir créé un profil d'application personnalisé, vous pouvez mettre à jour votre code afin que votre application l'utilise pour se connecter à Bigtable.

Les exemples suivants montrent comment spécifier un profil d'application lorsqu'une application crée un client Bigtable et se connecte à une instance. Remplacez [APP_PROFILE_ID] par la valeur appropriée.

C#

var client = BigtableClient.Create(appProfileId: "[APP_PROFILE_ID]");

Go

clientConf := bigtable.ClientConfig{AppProfile:"[APP_PROFILE_ID]"}
client, err = bigtable.NewClientWithConfig(ctx, project, instance, clientConf)

HBase Java

// If using BigtableOptions directly:
optionsBuilder.setAppProfileId("[APP_PROFILE_ID]");

// If using BigtableOptionsFactory:
configuration.set(BigtableOptionsFactory.APP_PROFILE_ID_KEY, "[APP_PROFILE_ID]");

// If using system properties, set "google.bigtable.app_profile.id" to
// "[APP_PROFILE_ID]"

// If using CloudBigtableIO for Cloud Dataflow:
config.withConfiguration(BigtableOptionsFactory.APP_PROFILE_ID_KEY,
                         "[APP_PROFILE_ID]");

Node.js

const bigtable = new Bigtable({appProfileId: '[APP_PROFILE_ID]'});

Python

from google.cloud import bigtable

client = bigtable.Client(project=project_id)
instance = client.instance(instance_id)
table = bigtable.table.Table(table_id, instance, '[APP_PROFILE_ID]')

Mettre à jour un profil d'application

Vous pouvez afficher les profils d'application d'une instance et mettre à jour leurs paramètres à tout moment. Bigtable vous avertit de toute mise à jour pouvant entraîner des changements de comportement inattendus.

Pour savoir comment passer d'un profil d'application standard à Data Boost ou à un profil d'application Data Boost, consultez Convertir un profil d'application.

Mettre à jour un profil d'application standard

Pour mettre à jour un profil d'application standard, procédez comme suit:

Console

  1. Ouvrez la liste des instances Bigtable dans la console Google Cloud.

    Ouvrir la liste des instances

  2. Dans la colonne Profils d'application, cliquez sur le profil que vous souhaitez afficher ou mettre à jour.

    Si vous ne voyez pas le profil d'application que vous souhaitez modifier, vous pouvez afficher une liste complète en cliquant sur le nom de l'instance, puis en cliquant sur Profils d'application dans le volet de gauche.

  3. Mettez à jour les paramètres selon vos besoins, puis cliquez sur Enregistrer ou Annuler pour quitter sans enregistrer.

gcloud

  1. Si vous ne connaissez pas l'ID d'instance, exécutez la commande bigtable instances list pour afficher la liste des instances de votre projet:

    gcloud bigtable instances list
    
  2. Si vous ne connaissez pas l'ID du profil d'application, exécutez la commande bigtable app-profiles list pour afficher la liste des profils d'application de l'instance:

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Remplacez INSTANCE_ID par l'identifiant permanent de l'instance.

  3. (Facultatif) Exécutez la commande bigtable app-profiles describe pour afficher les paramètres du profil d'application :

    gcloud bigtable app-profiles describe APP_PROFILE_ID \
        --instance=INSTANCE_ID
    

    Indiquez les éléments suivants :

    • APP_PROFILE_ID : identifiant permanent du profil d'application.
    • INSTANCE_ID : identifiant permanent de l'instance.
  4. Exécutez la commande bigtable app-profiles update pour mettre à jour les paramètres du profil d'application :

    gcloud bigtable app-profiles update APP_PROFILE_ID \
        --instance=INSTANCE_ID \
        [--description=DESCRIPTION] \
        [--force] \
        [--route-any] \
        [--restrict-to=CLUSTER_ID_1, CLUSTER_ID_2...]
        [--route-to=CLUSTER_ID] \
        [--transactional-writes]
    

    Indiquez les éléments suivants :

    • APP_PROFILE_ID : identifiant permanent du profil d'application.
    • INSTANCE_ID : identifiant permanent de l'instance.

    La commande accepte les paramètres facultatifs suivants :

    • --description=DESCRIPTION : description détaillée du profil d'application.
    • --force : permet d'ignorer les avertissements concernant les problèmes et les conflits potentiels avec d'autres profils d'application.
    • --route-any : permet d'activer le routage multicluster pour acheminer les requêtes vers n'importe quel cluster disponible.

      Vous ne pouvez pas combiner cette option avec --route-to ou --transactional-writes.

    • --restrict-to=CLUSTER_ID_1, CLUSTER_ID_2... : liste des clusters vers lesquels les requêtes doivent être acheminées. Utilisez cette option si vous souhaitez n'acheminer les requêtes que vers certains clusters de l'instance.

      Vous ne pouvez pas combiner cette option avec --route-to ou --transactional-writes.

    • --route-to=CLUSTER_ID : ID du cluster vers lequel toutes les demandes doivent être acheminées. Cette option active le routage vers un cluster unique.

      Vous ne pouvez pas combiner cet indicateur avec --route-any.

    • --transactional-writes : activez les transactions à ligne unique dans le profil d'application.

      Vous ne pouvez pas combiner cet indicateur avec --route-any.

    • --priority=PRIORITY: niveau de priorité utilisé par le profil d'application. Les valeurs acceptées sont PRIORITY_HIGH, PRIORITY_MEDIUM ou PRIORITY_LOW.

Mettre à jour un profil d'application Data Boost

Pour mettre à jour le cluster à partir duquel un profil d'application Data Boost lit, procédez comme suit:

  1. Si vous ne connaissez pas l'ID d'instance, exécutez la commande bigtable instances list pour afficher la liste des instances de votre projet:

    gcloud bigtable instances list
    
  2. Si vous ne connaissez pas l'ID du profil d'application, exécutez la commande bigtable app-profiles list pour afficher la liste des profils d'application de l'instance:

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Remplacez INSTANCE_ID par l'identifiant permanent de l'instance.

  3. (Facultatif) Exécutez la commande bigtable app-profiles describe pour afficher les paramètres du profil d'application :

    gcloud bigtable app-profiles describe APP_PROFILE_ID \
        --instance=INSTANCE_ID
    

    Indiquez les éléments suivants :

    • APP_PROFILE_ID : identifiant permanent du profil d'application.
    • INSTANCE_ID : identifiant permanent de l'instance.
  4. Exécutez la commande beta bigtable app-profiles update pour mettre à jour les paramètres du profil d'application :

    gcloud beta bigtable app-profiles update APP_PROFILE_ID \
        --instance=INSTANCE_ID \
        --route-to=CLUSTER_ID
    

    Indiquez les éléments suivants :

    • APP_PROFILE_ID : identifiant permanent du profil d'application.
    • INSTANCE_ID : identifiant permanent de l'instance.
    • CLUSTER_ID: ID du nouveau cluster à lire

Convertir un profil d'application

Vous pouvez convertir un profil d'application standard en profil d'application Data Boost ou convertir un profil d'application Data Boost en profil d'application standard. Avant de convertir un profil d'application, consultez les conseils de la section Modifications du profil d'application.

  1. Si vous ne connaissez pas l'ID d'instance, exécutez la commande bigtable instances list pour afficher la liste des instances de votre projet:

    gcloud bigtable instances list
    
  2. Si vous ne connaissez pas l'ID du profil d'application, exécutez la commande bigtable app-profiles list pour afficher la liste des profils d'application de l'instance:

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Remplacez INSTANCE_ID par l'identifiant permanent de l'instance.

  3. (Facultatif) Exécutez la commande bigtable app-profiles describe pour afficher les paramètres du profil d'application :

    gcloud bigtable app-profiles describe APP_PROFILE_ID \
        --instance=INSTANCE_ID
    

    Indiquez les éléments suivants :

    • APP_PROFILE_ID : identifiant permanent du profil d'application.
    • INSTANCE_ID : identifiant permanent de l'instance.
  4. Exécutez la commande beta bigtable app-profiles update pour convertir un profil d'application standard en profil Data Boost:

    gcloud bigtable app-profile-update APP_PROFILE_ID \
        --instance=INSTANCE_ID \
        --data-boost \
        --data-boost-compute-billing-owner=HOST_PAYS \
        --route-to=CLUSTER_ID
    

    Indiquez les éléments suivants :

    • APP_PROFILE_ID : identifiant permanent du profil d'application.
    • INSTANCE_ID : identifiant permanent de l'instance.
    • CLUSTER_ID : ID du cluster vers lequel toutes les demandes doivent être acheminées. Cette option active le routage vers un seul cluster.

Convertir un profil d'application de standard en profil Data Boost

Avant de mettre à jour un profil d'application pour passer du mode standard (nœuds provisionnés pour le calcul) au calcul sans serveur Data Boost, vérifiez les métriques d'éligibilité Data Boost.

  1. Si vous ne connaissez pas l'ID d'instance, exécutez la commande bigtable instances list pour afficher la liste des instances de votre projet:

    gcloud bigtable instances list
    
  2. Si vous ne connaissez pas l'ID du profil d'application, exécutez la commande bigtable app-profiles list pour afficher la liste des profils d'application de l'instance:

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Remplacez INSTANCE_ID par l'identifiant permanent de l'instance.

  3. (Facultatif) Exécutez la commande bigtable app-profiles describe pour afficher les paramètres du profil d'application :

    gcloud bigtable app-profiles describe APP_PROFILE_ID \
        --instance=INSTANCE_ID
    

    Indiquez les éléments suivants :

    • APP_PROFILE_ID : identifiant permanent du profil d'application.
    • INSTANCE_ID : identifiant permanent de l'instance.

Convertir un profil d'application Data Boost en profil d'application standard

Pour faire passer un profil d'application de Data Boost (calcul sans serveur) à un profil standard (nœuds provisionnés pour le calcul), procédez comme suit:

  1. Si vous ne connaissez pas l'ID d'instance, exécutez la commande bigtable instances list pour afficher la liste des instances de votre projet:

    gcloud bigtable instances list
    
  2. Si vous ne connaissez pas l'ID du profil d'application, exécutez la commande bigtable app-profiles list pour afficher la liste des profils d'application de l'instance:

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Remplacez INSTANCE_ID par l'identifiant permanent de l'instance.

  3. (Facultatif) Exécutez la commande bigtable app-profiles describe pour afficher les paramètres du profil d'application :

    gcloud bigtable app-profiles describe APP_PROFILE_ID \
        --instance=INSTANCE_ID
    
  4. Exécutez la commande beta bigtable app-profiles update pour convertir le profil d'application:

    gcloud beta bigtable app-profiles update APP_PROFILE_ID \
        --instance=INSTANCE_ID \
        --standard \
        [--route-any] \
        [--restrict-to=CLUSTER_ID_1, CLUSTER_ID_2...]
        [--route-to=CLUSTER_ID] \
        [--transactional-writes]
    

Indiquez les éléments suivants :

  • APP_PROFILE_ID : identifiant permanent du profil d'application.
  • INSTANCE_ID : identifiant permanent de l'instance.

La commande accepte les paramètres facultatifs suivants :

  • --route-any : permet d'activer le routage multicluster pour acheminer les requêtes vers n'importe quel cluster disponible.

    Vous ne pouvez pas combiner cette option avec --route-to ou --transactional-writes.

  • --restrict-to=CLUSTER_ID_1, CLUSTER_ID_2... : liste des clusters vers lesquels les requêtes doivent être acheminées. Utilisez cette option si vous souhaitez n'acheminer les requêtes que vers certains clusters de l'instance.

    Vous ne pouvez pas combiner cette option avec --route-to ou --transactional-writes.

  • --route-to=CLUSTER_ID : ID du cluster vers lequel toutes les demandes doivent être acheminées. Cette option active le routage vers un cluster unique.

    Vous ne pouvez pas combiner cet indicateur avec --route-any.

  • --transactional-writes : activez les transactions à ligne unique dans le profil d'application.

    Vous ne pouvez pas combiner cette option avec --route-any ou --restrict-to.

Supprimer un profil d'application

Vous pouvez supprimer les profils d'application d'une instance, mais pas le profil d'application par défaut.

Pour supprimer un profil d'application personnalisé, procédez comme suit :

Console

  1. Ouvrez la liste des instances Bigtable dans la console Google Cloud.

    Ouvrir la liste des instances

  2. Cliquez sur l'instance qui contient le profil d'application que vous souhaitez supprimer.

  3. Dans le volet de gauche, cliquez sur Profils d'application.

  4. Ouvrez le menu Autres actions , puis cliquez sur Supprimer le profil d'application. Une boîte de dialogue de confirmation s'affiche.

  5. Suivez les instructions de la boîte de dialogue de confirmation, puis cliquez sur Supprimer.

gcloud

  1. Si vous ne connaissez pas l'ID d'instance, exécutez la commande bigtable instances list pour afficher la liste des instances de votre projet:

    gcloud bigtable instances list
    
  2. Si vous ne connaissez pas l'ID du profil d'application, exécutez la commande bigtable app-profiles list pour afficher la liste des profils d'application de l'instance:

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Remplacez INSTANCE_ID par l'identifiant permanent de l'instance.

  3. Exécutez la commande bigtable app-profiles delete pour supprimer le profil d'application :

    gcloud bigtable app-profiles delete APP_PROFILE_ID \
        --instance=INSTANCE_ID \
        [--force]
    

    Indiquez les éléments suivants :

    • APP_PROFILE_ID : identifiant permanent du profil d'application.
    • INSTANCE_ID : identifiant permanent de l'instance.

    La commande accepte l'indicateur facultatif suivant :

    --force : permet d'ignorer les avertissements concernant les problèmes et les conflits potentiels avec d'autres profils d'application.