Souscrire et gérer d'anciens engagements d'emplacements
L'API BigQuery Reservation vous permet d'acheter des emplacements dédiés (nommés engagements), de créer des pools d'emplacements (nommés réservations), puis d'attribuer des projets, des dossiers et des organisations à ces réservations.
Un engagement de capacité est un achat de capacité de calcul BigQuery pour une durée minimale. L'achat d'un engagement de capacité est facultatif lors de la création d'une réservation avec une édition, mais peut vous permettre de réaliser des économies.
Les engagements sont une ressource régionale. Les engagements acquis dans une région ou un ensemble multirégional ne peuvent pas être utilisés dans une autre région ou un autre ensemble multirégional. Les engagements ne peuvent pas être déplacés d'une région à une autre ou d'une région à une autre.
Activer l'API Reservations
L'API BigQuery Reservations est distincte de l'API BigQuery existante et doit être activée indépendamment. Pour plus d'informations, consultez la section Activer et désactiver des API.
- Le nom de l'API est "API BigQuery Reservations".
- Le point de terminaison de l'API BigQuery Reservations est
bigqueryreservation.googleapis.com
.
![Activer l'API.](https://cloud.google.com/static/bigquery/images/reservations-enable-api.png?hl=fr)
Acheter des emplacements
Pour réserver de la capacité pendant une durée minimum, vous pouvez souscrire un engagement de capacité. Vous bénéficiez ainsi d'une remise et réduisez les coûts. Pour en savoir plus sur les coûts spécifiques, consultez la page Tarifs de BigQuery.
Autorisations requises
Pour créer un engagement de capacité, vous avez besoin de l'autorisation Identity and Access Management (IAM) suivante :
bigquery.capacityCommitments.create
sur le projet d'administration qui gère la propriété des engagements.
Tous les rôles IAM prédéfinis ci-dessous incluent cette autorisation :
BigQuery Admin
BigQuery Resource Admin
Pour en savoir plus sur les rôles IAM dans BigQuery, consultez la page Rôles prédéfinis et autorisations.
Créer un engagement de capacité
Les engagements sont une ressource régionale. Les engagements acquis dans une région ou un ensemble multirégional ne peuvent pas être utilisés dans une autre région ou un autre ensemble multirégional. Les engagements ne peuvent pas être déplacés d'une région à une autre ou d'une région à un ensemble multirégional.
Console
Dans la console Google Cloud, accédez à la page "BigQuery".
Dans le panneau de navigation, accédez à la section Gestion de la capacité.
Cliquez sur Créer un engagement.
Sous Configurer :
- Sélectionnez le lieu.
- Dans la section Modèle de capacité, choisissez le modèle de capacité.
- Sélectionnez la durée d'engagement, qui spécifie votre forfait d'engagement.
Si vous souscrivez un engagement annuel, sélectionnez le forfait de renouvellement que vous souhaitez prendre en compte lorsque l'engagement expire :
- Ne pas renouveler et passer à l'option d'engagement mensuel (Par défaut). Lorsque l'engagement annuel expire, il est converti en engagement mensuel.
- Renouveler chaque année. Lorsque l'engagement annuel expire, il est renouvelé pour un an supplémentaire en tant qu'engagement annuel.
- Ne pas renouveler et passer à l'option d'emplacements Flex. Lorsque l'engagement annuel expire, il est converti en engagement d'emplacements Flex.
Pour en savoir plus, consultez la section Engagements.
Saisissez le nombre d'emplacements que vous souhaitez acheter.
Cliquez sur Suivant.
Examinez l'estimation du coût de votre achat.
Sous Confirmer et envoyer, procédez comme suit :
- Saisissez CONFIRM (confirmer) pour confirmer l'achat.
- Cliquez sur Acheter pour acheter les emplacements.
Pour afficher l'engagement, cliquez sur Afficher les engagements d'emplacements. Une fois la capacité provisionnée, l'état de l'engagement de capacité demandé s'affiche en vert.
La première fois que vous achetez une capacité, une réservation default
est créée.
SQL
Pour créer un engagement de capacité, utilisez l'instruction LDD CREATE CAPACITY
.
Dans la console Google Cloud, accédez à la page BigQuery.
Dans l'éditeur de requête, saisissez l'instruction suivante :
CREATE CAPACITY `ADMIN_PROJECT_ID.region-LOCATION.COMMITMENT_ID` OPTIONS ( slot_count = NUMBER_OF_SLOTS, plan = 'PLAN_TYPE');
Remplacez les éléments suivants :
ADMIN_PROJECT_ID
: ID du projet d'administration qui gérera la propriété de cet engagement.LOCATION
: emplacement de l'engagement.COMMITMENT_ID
: ID de l'engagementIl doit être unique au projet et à l'emplacement. Il doit commencer et se terminer par une lettre minuscule ou un chiffre, et ne contenir que des lettres minuscules, des chiffres et des tirets.
NUMBER_OF_SLOTS
: nombre d'emplacements à acheter.PLAN_TYPE
: type de forfait, tel queFLEX
,MONTHLY
ouANNUAL
Cliquez sur
Exécuter.
Pour en savoir plus sur l'exécution des requêtes, consultez Exécuter une requête interactive.
bq
Utilisez la commande bq mk
avec l'option --capacity_commitment
pour acheter des emplacements.
bq mk \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --capacity_commitment=true \ --plan=PLAN_TYPE \ --slots=NUMBER_OF_SLOTS
Remplacez les éléments suivants :
ADMIN_PROJECT_ID
: ID du projet d'administration qui gérera la propriété de cet engagement.LOCATION
: emplacement de l'engagement.PLAN_TYPE
: type de forfait, tel queFLEX
,MONTHLY
ouANNUAL
.NUMBER_OF_SLOTS
: nombre d'emplacements à acheter.
Afficher les engagements de capacité
Autorisations requises
Pour afficher les engagements, vous devez disposer de l'autorisation Identity and Access Management (IAM) suivante :
bigquery.capacityCommitments.list
sur le projet d'administration qui gère la propriété des engagements.
Tous les rôles IAM prédéfinis ci-dessous incluent cette autorisation :
BigQuery Admin
BigQuery Resource Admin
BigQuery Resource Editor
BigQuery Resource Viewer
BigQuery User
Pour en savoir plus sur les rôles IAM dans BigQuery, consultez la page Rôles prédéfinis et autorisations.
Afficher les engagements de capacité par projet
Pour afficher vos engagements de capacité par projet, procédez comme suit :
Console
Dans la console Google Cloud, accédez à la page "BigQuery".
Dans le panneau de navigation, accédez à la section Gestion de la capacité.
Cliquez sur l'onglet Slot commitments (Engagements d'emplacement). Vos engagements de capacité sont répertoriés dans la table sous Commitments (Engagements).
SQL
Pour afficher les engagements d'un projet d'administration, interrogez la vue INFORMATION_SCHEMA.CAPACITY_COMMITMENTS_BY_PROJECT
.
Dans Google Cloud Console, accédez à la page BigQuery.
Dans l'éditeur de requête, saisissez l'instruction suivante :
SELECT capacity_commitment_id FROM `region-LOCATION`.INFORMATION_SCHEMA.CAPACITY_COMMITMENTS_BY_PROJECT WHERE project_id = 'ADMIN_PROJECT_ID' AND slot_count = 100;
Remplacez les éléments suivants :
LOCATION
: emplacement des engagementsADMIN_PROJECT_ID
: ID du projet d'administration propriétaire des engagements
Cliquez sur
Exécuter.
Pour en savoir plus sur l'exécution des requêtes, consultez Exécuter une requête interactive.
bq
Utilisez la commande bq ls
avec l'option --capacity_commitment
pour répertorier les engagements pour un projet d'administration.
bq ls \ --capacity_commitment=true \ --location=LOCATION \ --project_id=ADMIN_PROJECT_ID
Remplacez les éléments suivants :
LOCATION
: emplacement des engagementsADMIN_PROJECT_ID
: ID du projet d'administration propriétaire des engagements
Modifier les engagements de capacité
Vous pouvez apporter les mises à jour suivantes à un engagement de capacité :
- Renouveler un engagement existant.
- Convertir un engagement en un forfait d'engagement de plus longue durée.
- Diviser un engagement en deux engagements.
- Fusionner deux engagements en un seul engagement.
Autorisations requises
Pour mettre à jour les engagements de capacité, vous avez besoin de l'autorisation Identity and Access Management (IAM) suivante :
bigquery.capacityCommitments.update
sur le projet d'administration qui gère la propriété des engagements.
Tous les rôles IAM prédéfinis ci-dessous incluent cette autorisation :
BigQuery Admin
BigQuery Resource Admin
Pour en savoir plus sur les rôles IAM dans BigQuery, consultez la page Rôles prédéfinis et autorisations.
Renouveler un engagement
Les engagements annuels possèdent un forfait de renouvellement que vous spécifiez lorsque vous créez ou souscrivez un engagement annuel. Vous pouvez modifier votre forfait de renouvellement de l'engagement annuel à tout moment avant la date de fin de l'engagement.
Console
Vous pouvez modifier votre forfait de renouvellement pour un engagement annuel comme suit :
Dans Google Cloud Console, accédez à la page "BigQuery".
Dans le panneau de navigation, accédez à la section Gestion de la capacité.
Cliquez sur l'onglet Slot commitments (Engagements d'emplacement).
Recherchez l'engagement que vous souhaitez modifier.
Cliquez sur
Actions, puis sélectionnez l'option Modifier l'option de renouvellement.Sélectionnez le nouveau mode de renouvellement.
bq
Pour modifier le choix de forfait de renouvellement pour un engagement annuel, utilisez la commande bq update
avec l'option --capacity_commitment
et l'option --renewal_plan
.
bq update \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --renewal_plan=PLAN_TYPE \ --capacity_commitment=true \ COMMITMENT_ID
Remplacez les éléments suivants :
ADMIN_PROJECT_ID
: ID du projet d'administration qui gérera la propriété de cet engagement.LOCATION
: emplacement de l'engagement.PLAN_TYPE
: type de forfait, tel queFLEX
,MONTHLY
ouANNUAL
.COMMITMENT_ID
: ID de l'engagementPour obtenir l'ID, consultez la section Afficher les engagements achetés.
Convertir un engagement en une durée plus longue
Vous pouvez à tout moment convertir votre engagement en un engagement de plus longue durée :
- Vous pouvez convertir votre engagement d'emplacements Flex en engagement mensuel ou annuel.
- Vous pouvez convertir votre engagement mensuel en engagement annuel.
Dès que vous mettez à jour votre engagement, le tarif associé au nouveau type d'engagement vous est facturé et la date de fin de l'engagement est réinitialisée.
Pour convertir un engagement, exécutez la commande bq update
avec l'option --plan
.
bq update \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --plan=PLAN_TYPE \ --renewal_plan=RENEWAL_PLAN \ --capacity_commitment=true \ COMMITMENT_ID
Remplacez les éléments suivants :
ADMIN_PROJECT_ID
: ID du projetLOCATION
: emplacement de l'engagement.PLAN_TYPE
: type de forfait, tel queFLEX
,MONTHLY
ouANNUAL
.RENEWAL_PLAN
: forfait de renouvellementCela ne s'applique que si la valeur de
PLAN_TYPE
estANNUAL
. SiPLAN_TYPE
est défini surMONTHLY
, omettez cette option.COMMITMENT_ID
: ID de l'engagementPour obtenir l'ID, consultez la section Afficher les engagements achetés.
Diviser un engagement
Vous pouvez diviser votre engagement en deux engagements. Cela peut être utile si vous souhaitez renouveler une partie d'un engagement. Par exemple, si vous avez un engagement annuel de 1 000 emplacements, vous pouvez répartir 300 emplacements dans un nouvel engagement, ce qui laisse 700 emplacements dans l'engagement d'origine. Vous pouvez ensuite renouveler 700 emplacements au tarif annuel, puis convertir 300 emplacements en emplacements Flex après la date de fin.
Lorsque vous divisez un engagement, le nouvel engagement a le même forfait et la même date de fin que l'engagement d'origine.
Console
Dans la console Google Cloud, accédez à la page "BigQuery".
Dans le panneau de navigation, accédez à la section Gestion de la capacité.
Cliquez sur l'onglet Slot commitments (Engagements d'emplacement).
Sélectionnez l'engagement que vous souhaitez scinder.
Cliquez sur Diviser.
Sur la page Engagement divisé, utilisez le curseur Configurer la division pour sélectionner le nombre d'emplacements dans chaque division, par incréments de 100 emplacements.
Cliquez sur Diviser pour diviser l'engagement. Le nouvel engagement est répertorié dans l'onglet Slot commitments (Engagements d'emplacement).
bq
Pour fractionner des engagements, utilisez la commande bq update
.
bq update \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --split \ --slots=SLOTS_TO_SPLIT \ --capacity_commitment=true \ COMMITMENT_ID
Remplacez les éléments suivants :
ADMIN_PROJECT_ID
: ID du projetLOCATION
: emplacement de l'engagement.SLOTS_TO_SPLIT
: nombre d'emplacements de l'engagement d'origine à répartir dans le nouvel engagement.COMMITMENT_ID
: ID de l'engagementPour obtenir l'ID, consultez la section Afficher les engagements achetés.
Fusionner deux engagements
Vous pouvez fusionner plusieurs engagements en un seul engagement. Les engagements de fusion doivent tous être du même type (FLEX
, MONTHLY
, ANNUAL
ou THREE_YEAR
). La date de fin de l'engagement combiné correspond à la date de fin maximale des périodes d'engagement d'origine. Si l'un des engagements présente une date de fin antérieure, il est prolongé à la date ultérieure et un montant au prorata vous est facturé pour ces emplacements.
Console
Dans la console Google Cloud, accédez à la page "BigQuery".
Dans le panneau de navigation, accédez à la section Gestion de la capacité.
Cliquez sur l'onglet Slot commitments (Engagements d'emplacement).
Sélectionnez les engagements à fusionner.
Cliquez sur Fusionner.
Sur la page Fusionner les engagements, vérifiez les détails de la fusion et cliquez sur Fusionner. Le nouvel engagement fusionné est répertorié dans l'onglet Slot commitments (Engagements d'emplacement).
bq
Pour fusionner deux engagements en un seul, utilisez la commande bq update
:
bq update \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --merge=true \ --capacity_commitment=true \ COMMITMENT1,COMMITMENT2
Remplacez les éléments suivants :
ADMIN_PROJECT_ID
: ID du projetLOCATION
: emplacement des engagementsCOMMITMENT1
: premier engagement à fusionnerCOMMITMENT2
: deuxième engagement à fusionner
Supprimer un engagement
Vous pouvez supprimer un engagement de capacité si sa date de fin est antérieure au moment actuel. La date de fin de l'engagement est affichée dans la console Google Cloud. Avant de supprimer un engagement, assurez-vous qu'il y a suffisamment d'emplacements non alloués. Si ce n'est pas le cas, vous devez réduire le nombre d'emplacements dans une réservation ou supprimer entièrement les réservations.
Autorisations requises
Pour supprimer les engagements de capacité, vous avez besoin de l'autorisation IAM (Identity and Access Management) suivante :
bigquery.capacityCommitments.delete
sur le projet d'administration qui gère la propriété des engagements.
Tous les rôles IAM prédéfinis ci-dessous incluent cette autorisation :
BigQuery Admin
BigQuery Resource Admin
Pour en savoir plus sur les rôles IAM dans BigQuery, consultez la page Rôles prédéfinis et autorisations.
Supprimer un engagement de capacité
Console
Pour supprimer un engagement de capacité, procédez comme suit :
Dans Google Cloud Console, accédez à la page "BigQuery".
Dans le panneau de navigation, accédez à la section Gestion de la capacité.
Cliquez sur l'onglet Slot commitments (Engagements d'emplacement).
Dans la liste déroulante Emplacement, sélectionnez l'emplacement approprié.
Recherchez l'engagement que vous souhaitez supprimer.
Développez l'option
Actions.Cliquez sur Supprimer.
Saisissez REMOVE (SUPPRIMER), puis cliquez sur Continuer.
SQL
Pour supprimer un engagement de capacité, utilisez l'instruction LDD DROP CAPACITY
.
Dans Google Cloud Console, accédez à la page BigQuery.
Dans l'éditeur de requête, saisissez l'instruction suivante :
DROP CAPACITY `ADMIN_PROJECT_ID.region-LOCATION.COMMITMENT_ID`;
Remplacez les éléments suivants :
ADMIN_PROJECT_ID
: projet propriétaire de l'engagementLOCATION
: emplacement de l'engagement.COMMITMENT_ID
: ID de l'engagementPour obtenir l'ID, consultez la section Afficher les engagements achetés.
Cliquez sur
Exécuter.
Pour en savoir plus sur l'exécution des requêtes, consultez Exécuter une requête interactive.
bq
Pour supprimer un engagement de capacité, exécutez la commande bq rm
avec l'option --capacity_commitment
:
bq rm \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --capacity_commitment=true \ COMMITMENT_ID
Remplacez les éléments suivants :
ADMIN_PROJECT_ID
: ID du projetLOCATION
: emplacement de l'engagement.COMMITMENT_ID
: ID de l'engagement que vous souhaitez supprimerPour obtenir l'ID, consultez la section Afficher les engagements achetés.
Résoudre les problèmes liés aux engagements de capacité
Cette section décrit les étapes de dépannage qui vous aideront si vous rencontrez des problèmes lors de l'utilisation de BigQuery Reservations.
Les emplacements achetés sont en attente
Les emplacements sont soumis à la capacité disponible. Lorsque vous achetez des engagements d'emplacements et que BigQuery les alloue, la colonne État affiche une coche. Si BigQuery ne peut pas allouer immédiatement les emplacements demandés, la colonne État reste en attente. Vous devrez peut-être attendre quelques heures avant que les emplacements soient disponibles. Si vous avez besoin d'accéder plus rapidement aux emplacements, essayez les solutions suivantes :
- Supprimez l'engagement en attente.
- Souscrivez un nouvel engagement pour un plus petit nombre d'emplacements. Selon la capacité, l'engagement le plus petit peut devenir immédiatement actif.
- Achetez les emplacements restants en tant qu'engagement distinct. Les emplacements peuvent apparaître comme étant en attente dans la colonne État, mais ils deviennent généralement actifs en quelques heures.
- Facultatif : Lorsque les deux engagements sont disponibles, vous pouvez les fusionner en un seul engagement, à condition que vous ayez souscrit le même forfait pour les deux.
Si un engagement d'emplacements échoue ou prend beaucoup de temps, envisagez d'utiliser temporairement la tarification à la demande. Avec cette solution, vous devrez peut-être exécuter des requêtes critiques sur un autre projet qui n'est attribué à aucune réservation, ou supprimer complètement l'attribution du projet.