Automatisez la configuration de Unity Catalog à l'aide de Terraform
Vous pouvez automatiser la configuration d'Unity Catalog en utilisant le fournisseur Databricks Terraform. Cet article fournit des liens vers le guide de déploiement Unity Catalog du fournisseur Terraform et la documentation de référence des ressources, ainsi que les exigences (« Avant de commencer ») et des conseils de validation et de déploiement.
Avant de commencer
Pour automatiser la configuration de Unity Catalog à l'aide de Terraform, vous devez disposer des éléments suivants :
- Votre compte Databricks doit être sur le forfait Premium ou supérieur.
- Dans AWS, vous devez avoir la capacité de créer des compartiments Amazon S3, des rôles IAM AWS, des politiques IAM AWS et des relations d'approbation inter-comptes.
- Vous devez avoir au moins un Workspace Databricks que vous souhaitez utiliser avec Unity Catalog. Consultez Créer un workspace classique.
Pour utiliser le fournisseur Terraform Databricks afin de configurer un metastore pour Unity Catalog, le stockage pour le metastore, tout stockage externe et toutes leurs informations d'identification d'accès associées, vous devez disposer des éléments suivants :
-
Un compte AWS.
-
Un compte Databricks sur AWS.
-
Un Service Principal qui a le rôle d'administrateur de compte dans votre compte Databricks.
-
Le Terraform CLI. Consultez download Terraform sur le site web de Terraform.
-
Les sept variables d'environnement Databricks suivantes :
DATABRICKS_CLIENT_ID, défini sur la valeur de l'ID client, également appelé ID d'application, du Service Principal. Consultez Autoriser l'accès de service principal à Databricks avec OAuth.DATABRICKS_CLIENT_SECRET, défini sur la valeur du secret client du Service Principal. Consultez Autoriser l'accès de service principal à Databricks avec OAuth.DATABRICKS_ACCOUNT_ID, défini sur la valeur de l'ID de votre compte Databricks. Vous trouverez cette valeur dans le coin de votre console de compte Databricks.TF_VAR_databricks_account_id, également défini sur la valeur de l'ID de votre compte Databricks.AWS_ACCESS_KEY_ID, défini sur la valeur de l’ID de clé d’accès de votre utilisateur AWS. Voir l'accès programmatique dans la référence générale AWS.AWS_SECRET_ACCESS_KEY, défini sur la valeur de la clé d'accès secrète de votre utilisateur AWS. Voir l'accès programmatique dans la référence générale AWS.AWS_REGION, défini sur la valeur du code de région AWS de votre compte Databricks. Consultez les Endpoint régionaux dans la Référence générale AWS.
Pour définir ces variables d'environnement, consultez la documentation de votre système d'exploitation.
Pour utiliser le fournisseur Databricks Terraform afin de configurer tous les autres composants d'infrastructure Unity Catalog, vous devez disposer des éléments suivants :
- Un Databricks Workspace.
- Sur votre machine de développement locale, vous devez avoir :
- Le Terraform CLI. Consultez download Terraform sur le site web de Terraform.
- L'un des éléments suivants :
- CLI Databricks version 0.205 ou supérieure, configurée avec votre jeton d'accès personnel Databricks en exécutant
databricks configure --host <workspace-url> --profile <some-unique-profile-name>. Consultez Installer ou mettre à jour la CLI Databricks et l'authentification par jeton d'accès personnel (héritée).
- CLI Databricks version 0.205 ou supérieure, configurée avec votre jeton d'accès personnel Databricks en exécutant
En tant que bonne pratique de sécurité lorsque vous vous authentifiez avec des outils, des systèmes, des scripts et des applications automatisés, Databricks vous recommande d'utiliser des jetons OAuth.
Si vous utilisez l'authentification par jeton d'accès personnel, Databricks recommande d'utiliser des jetons d'accès personnels appartenant aux Service Principal plutôt qu'aux utilisateurs du Workspace. Pour créer des jetons pour les Service Principals, consultez Gérer les jetons pour un Service Principal.
-
Les variables d'environnement Databricks suivantes :
-
DATABRICKS_HOST, défini sur la valeur de l'URL de l'instance de votre Workspace Databricks, par exemplehttps://dbc-1234567890123456.cloud.databricks.com -
DATABRICKS_CLIENT_ID, défini sur la valeur de l'ID client, également appelé ID d'application, du Service Principal. Consultez Autoriser l'accès de service principal à Databricks avec OAuth. -
DATABRICKS_CLIENT_SECRET, défini sur la valeur du secret client du Service Principal. Consultez Autoriser l'accès de service principal à Databricks avec OAuth.
Vous pouvez également utiliser un jeton d'accès personnel au lieu d'un ID client et d'une clé secrète client de Service Principal :
DATABRICKS_TOKEN, défini sur la valeur de votre jeton d'accès personnel Databricks. Voir aussi Surveiller et révoquer les jetons d'accès personnels.
Pour définir ces variables d'environnement, consultez la documentation de votre système d'exploitation.
En tant que bonne pratique de sécurité lorsque vous vous authentifiez avec des outils, des systèmes, des scripts et des applications automatisés, Databricks vous recommande d'utiliser des jetons OAuth.
Si vous utilisez l'authentification par jeton d'accès personnel, Databricks recommande d'utiliser des jetons d'accès personnels appartenant aux Service Principal plutôt qu'aux utilisateurs du Workspace. Pour créer des jetons pour les Service Principals, consultez Gérer les jetons pour un Service Principal.
Guide de déploiement et documentation de référence des Ressources du fournisseur Terraform Unity Catalog
Pour savoir comment déployer toutes les conditions préalables et activer Unity Catalog pour un Workspace, consultez Déploiement des ressources prérequises et activation de Unity Catalog dans la documentation du fournisseur Databricks Terraform.
Si vous avez déjà des composants d'infrastructure Unity Catalog en place, vous pouvez utiliser Terraform pour déployer des composants d'infrastructure Unity Catalog supplémentaires si nécessaire. Consultez chaque section du guide référencé dans le paragraphe précédent et la section Unity Catalog de la documentation du fournisseur Databricks Terraform.
Validez, planifiez, déployez ou détruisez les ressources
- Pour valider la syntaxe des configurations Terraform sans les déployer, exécutez la commande
terraform validate. - Pour afficher les actions que Terraform prendrait pour déployer les configurations, exécutez la commande
terraform plan. Cette commande ne déploie pas réellement les configurations. - Pour déployer les configurations, exécutez la commande
terraform deploy. - Pour supprimer les ressources déployées, exécutez la commande
terraform destroy.