Aller au contenu principal

Mettre à jour la configuration réseau du Workspace

Mettre à jour ou reconfigurer un Workspace existant pour Private Service Connect

Cette page fournit des instructions détaillées pour mettre à jour la configuration réseau d'un workspace Databricks existant afin d'utiliser Private Service Connect, de modifier les paramètres front-end ou back-end Private Service Connect d'un workspace existant, ou de modifier sa configuration réseau sous-jacente, comme l'extension de la plage d'adresses IP d'un sous-réseau.

Pourquoi mettre à jour votre configuration réseau ?

La mise à jour de la configuration réseau de votre Workspace offre les capacités de sécurité et de connectivité améliorées suivantes :

  • **Sécurité renforcée** : Utilisez Private Service Connect pour établir des connexions privées entre votre VPC et les services Databricks.
  • Mise en réseau flexible : Modifiez les plages d'adresses IP des sous-réseaux et les configurations réseau pour répondre aux exigences de votre organisation.
  • **Intégration de services** : connectez votre Workspace à d'autres services Google Cloud à l'aide d'Endpoints privés.
  • Connectivité personnalisée : configurez les paramètres front-end et back-end de Private Service Connect pour votre cas d'utilisation spécifique.

Avant de commencer

  • Pour éviter toute disruption et assurer une mise à jour sûre, mettez fin à tous les clusters et Jobs en cours d'exécution dans le Workspace. Vous pouvez les redémarrer une fois la mise à jour terminée.
  • Vous devez avoir les autorisations nécessaires sur le projet GCP qui héberge le Virtual Private Cloud (VPC) utilisé par le workspace. Ces autorisations incluent compute.firewalls.get, compute.networks.get, compute.projects.get, compute.subnetworks.get, resourcemanager.projects.get, qui vous permettent d'apporter des modifications à la configuration réseau. Pour plus d'informations sur ces autorisations, consultez Autorisations requises pour la création de workspace.

Modifier le sous-réseau pour un workspace existant

Pour modifier la plage d'adresses IP utilisée par votre Workspace, vous devez créer un nouveau sous-réseau avec la plage souhaitée, créer un nouvel objet de configuration réseau, puis mettre à jour votre Workspace pour utiliser cette nouvelle configuration réseau.

Créer des ressources cloud

Créez les ressources cloud nécessaires dans votre projet Google Cloud et votre compte Databricks :

  1. **Créer un nouveau sous-réseau** : créez un sous-réseau dans votre Virtual Private Cloud (VPC) avec la nouvelle plage CIDR que vous avez l'intention d'utiliser dans votre projet Google Cloud.
  2. Créez un objet de configuration réseau : Créez l’objet de configuration réseau pour le sous-réseau dans votre compte Databricks. Voir Créer un sous-réseau.

Configurer le pare-feu

Créez une nouvelle règle de pare-feu d'entrée pour le nouveau sous-réseau. Vous devez effectuer cette étape avant de mettre à jour le workspace pour utiliser la nouvelle plage CIDR.

Dans la console Google Cloud, créez une règle de pare-feu avec les valeurs suivantes :

Field

Value

Rule name

db-<subnet-name>-ingress

Direction

Ingress

Target

Network tag databricks-<workspace-id>

Priority

1000

Source filter

IPv4 range: the primary CIDR range of the new subnet

Protocols and ports

Allow all

Field

Value

Rule name

db-<subnet-name>-ingress

Direction

Ingress

Target

Network tag databricks-<workspace-id>

Priority

1000

Source filter

IPv4 range: the primary CIDR range of the new subnet

Protocols and ports

Allow all

Remplacez <subnet-name> par le nom du nouveau sous-réseau et <workspace-id> par l'ID de votre Workspace.

Pour plus d'informations sur la configuration du pare-feu, consultez Limiter le trafic réseau sortant pour votre workspace à l'aide d'un pare-feu.

Accorder au compte de service du Workspace le rôle Databricks Network Role v2

Avant de mettre à jour le Workspace, vous devez accorder au compte de service du Workspace le Rôle réseau Databricks v2 sur le nouveau sous-réseau. Si vous sautez cette étape, tous les lancements de VM échoueront en raison de problèmes d'autorisation.

Pour trouver votre compte de service Workspace, vérifiez les autorisations IAM sur l'ancien sous-réseau. Le compte de service a le format db-<workspace-id>@prod-gcp-<geo-region>.iam.gserviceaccount.com.

  1. Obtenez la politique IAM existante du sous-réseau actuel :

    Bash
    gcloud compute networks subnets get-iam-policy <current-subnet> \
    --region=<region> \
    --project=<project>

    La commande renvoie un JSON de politique comme le suivant :

    JSON
    {
    "bindings": [
    {
    "role": "projects/<project>/roles/<databricks-network-role-v2>",
    "members": ["serviceAccount:db-<workspace-id>@prod-gcp-<geo-region>.iam.gserviceaccount.com"]
    }
    ]
    }
  2. Utilisez la spécification de liaison de politique comme Template. Créez un nouveau fichier JSON (par exemple, policy.json) avec le même rôle et le même membre, en ciblant le nouveau sous-réseau.

  3. Appliquez la politique au nouveau sous-réseau :

    Bash
    gcloud compute networks subnets set-iam-policy <new-subnet> policy.json \
    --region=<region>

Mettre à jour le Workspace à l’aide de l’API

Mettez à jour le Workspace à l'aide de l'API REST Databricks Accounts :

  1. Authentification : Authentifiez-vous auprès de l'API Comptes. Consultez Autoriser l'accès aux ressources Databricks. Sur Google Cloud, vous pouvez également utiliser Authentifier avec les jetons d'identité Google.

  2. Exécuter l'API REST :

    • Endpoint : PATCH /api/2.0/accounts/{account_id}/workspaces/{workspace_id}

    • **Paramètres de chemin** :

      • account_id (obligatoire, UUID)
      • workspace_id (obligatoire, int64)
    • Parameters de query :

      • update_mask (obligatoire, chaîne)
  3. Exemple de requête :

    Utilisez le network_id du nouvel objet de configuration réseau que vous avez créé à l’étape Créer des ressources cloud.

    HTTP
    PATCH /api/2.0/accounts/{account_id}/workspaces/{workspace_id}?update_mask=network_id
    Content-Type: application/json

    {
    "network_id": "fd0cc5bc-683c-47e9-b15e-144d7744a496"
    }
  4. Exemple de réponse :

    JSON
    {
    "workspace_id": 3389895405782117,
    "workspace_name": "example-ws",
    "creation_time": 1722542958272,
    "deployment_name": "3389895405782117.7",
    "workspace_status": "PROVISIONING",
    "account_id": "2e0b6f3b-e1dc-43ea-93f5-7d55b9d7b780",
    "workspace_status_message": "Workspace resources are being set up.",
    "network_id": "fd0cc5bc-683c-47e9-b15e-144d7744a496",
    "pricing_tier": "ENTERPRISE",
    "location": "us-east4",
    "cloud": "gcp",
    "identity_federation_info": {
    "enable_identity_federation": true
    },
    "gke_config": {
    "connectivity_type": "PRIVATE_NODE_PUBLIC_MASTER",
    "master_ip_range": "10.103.0.0/28"
    },
    "cloud_resource_container": {
    "gcp": {
    "project_id": "databricks-dev-entd-shared"
    }
    }
    }

Redémarrer les clusters et les jobs

Une fois la mise à jour du Workspace terminée, attendez au moins 10 minutes que les modifications se propagent avant de redémarrer vos clusters et vos Jobs.

Migrer un Workspace non-Private Service Connect ou modifier la configuration Private Service Connect d’un Workspace existant

Effectuez ces étapes si vous migrez un workspace non Private Service Connect ou si vous modifiez la configuration Private Service Connect d'un workspace existant.

Créer ou mettre à jour les ressources cloud

Créez ou mettez à jour les ressources cloud nécessaires :

  1. Endpoint VPC : voir Créer des Endpoint Virtual Private Cloud (VPC).
  2. Paramètres d'accès privé : Consultez Créer des paramètres d'accès privé.
  3. **Configuration réseau :** consultez Créer une configuration réseau.

Vous avez besoin des ID de ces Ressources dans l'étape de mise à jour du Workspace à l'aide de l'API.

Mettre à jour le Workspace à l'aide de l'API

Pour appliquer les modifications, envoyez une requête PATCH à l'API Comptes.

  • Authentification : Authentifiez-vous auprès de l'API Comptes. Consultez Autoriser l'accès aux ressources Databricks. Sur Google Cloud, vous pouvez également utiliser Authentifier avec les jetons d'identité Google.

  • Endpoint: PATCH /api/2.0/accounts/{account_id}/workspaces/{workspace_id}

  • Query Parameter : Vous devez inclure le parameter de query update_mask pour spécifier les champs à mettre à jour.

    • Exemple : update_mask=network_id,private_access_settings_id,workspace_name,custom_tags
  • Corps de la requête : incluez les champs que vous souhaitez mettre à jour dans le corps JSON. Les champs pris en charge incluent network_id, private_access_settings_id, workspace_name et custom_tags.

La requête d'exemple suivante met à jour la configuration réseau, les paramètres d'accès privé, le nom et les balises personnalisées d'un Workspace :

HTTP
PATCH /api/2.0/accounts/{account_id}/workspaces/{workspace_id}?update_mask=network_id,private_access_settings_id,workspace_name,custom_tags
Content-Type: application/json

{
"network_id": "6f855d93-8c45-4a4c-a0c9-56e35e16d715",
"private_access_settings_id": "be123b84-c964-4285-8b03-b7fe961588dc",
"workspace_name": "updated-ws-name",
"custom_tags": {
"test_key": "test_value"
}
}

La réponse indique un statut PROVISIONING parce que le Workspace exécute les mises à jour de manière asynchrone. Le Workspace revient à RUNNING une fois toutes les mises à jour terminées.

JSON
{
"workspace_id": 3389895405782117,
"workspace_name": "example-ws",
"creation_time": 1722542958272,
"deployment_name": "3389895405782117.7",
"workspace_status": "PROVISIONING",
"account_id": "2e0b6f3b-e1dc-43ea-93f5-7d55b9d7b780",
"workspace_status_message": "Workspace resources are being set up.",
"network_id": "fd0cc5bc-683c-47e9-b15e-144d7744a496",
"pricing_tier": "ENTERPRISE",
"private_access_settings_id": "3b3bbcb5-46bd-4b03-944e-97eb44ed7991",
"location": "us-east4",
"cloud": "gcp",
"identity_federation_info": {
"enable_identity_federation": true
},
"gke_config": {
"connectivity_type": "PRIVATE_NODE_PUBLIC_MASTER",
"master_ip_range": "10.103.0.0/28"
},
"cloud_resource_container": {
"gcp": {
"project_id": "databricks-dev-entd-shared"
}
}
}

Configurer le DNS (facultatif)

Cette étape est requise si le Workspace est un Workspace Private Service Connect après la mise à jour. Pour permettre aux utilisateurs d'accéder à la nouvelle URL du Workspace, vous devez configurer le DNS. Voir Configurer le DNS.

Configurer le pare-feu (facultatif)

Cette étape est requise si vous avez mis à jour le workspace avec un objet de configuration réseau qui utilise une plage CIDR différente.

Mettez à jour les règles d'entrée de votre pare-feu pour autoriser le trafic depuis les nouvelles plages CIDR de sous-réseau. Vérifiez que la source de la règle d'entrée Databricks est mise à jour pour refléter la nouvelle plage CIDR. Pour plus de détails, consultez Limiter la sortie réseau de votre Workspace à l'aide d'un pare-feu.

Redémarrer les clusters et les jobs

Une fois la mise à jour du Workspace terminée et toutes les modifications DNS ou de pare-feu nécessaires configurées, vous pouvez redémarrer vos clusters et Jobs.