<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Deployment of private databricks workspace. in Administration &amp; Architecture</title>
    <link>https://community.databricks.com/t5/administration-architecture/deployment-of-private-databricks-workspace/m-p/139908#M4511</link>
    <description>&lt;P&gt;I investigated with my network team and workers not following traffic via private endpoint to my workspace but via public address. How to walkaround it.&lt;/P&gt;</description>
    <pubDate>Fri, 21 Nov 2025 11:39:37 GMT</pubDate>
    <dc:creator>lubiarzm1</dc:creator>
    <dc:date>2025-11-21T11:39:37Z</dc:date>
    <item>
      <title>Deployment of private databricks workspace.</title>
      <link>https://community.databricks.com/t5/administration-architecture/deployment-of-private-databricks-workspace/m-p/139899#M4508</link>
      <description>&lt;P&gt;I tried to create configuration of Databricks with Vlan injection and I faced few problem during deploymen.&lt;BR /&gt;1. I tried to deploy my workspace using IaC and terraform. Whole time I face issue with NSG even when I create configuration as follow in this docs&amp;nbsp;&lt;A href="https://learn.microsoft.com/en-us/azure/databricks/security/network/classic/vnet-inject#nsg" target="_blank"&gt;https://learn.microsoft.com/en-us/azure/databricks/security/network/classic/vnet-inject#nsg&lt;/A&gt;&amp;nbsp;. On GUI I could use option and it works.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="lubiarzm1_0-1763718040279.png" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/21886i7EF4B0DD03AECFD0/image-size/medium?v=v2&amp;amp;px=400" role="button" title="lubiarzm1_0-1763718040279.png" alt="lubiarzm1_0-1763718040279.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;But terraform api do not contain this option ( I tries latest azure_rm ).&amp;nbsp;&lt;STRONG&gt;How to walk-around that.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;2. After deployment my compute cluster has problem with starting&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;Error message: [details] X_NHC_CONTROL_PLANE_SSL_ERROR: Instance failed network health check before bootstrapping with fatal error: X_NHC_CONTROL_PLANE_SSL_ERROR 2 failed component(s): control_plane internet Retryable: false Based on the failure results: List(entity: "adb-xxxxxxxxxxx.0.azuredatabricks.net" outcome: "ssl_error" 
duration_sec: 241.42003 message: "curl: (35) OpenSSL SSL_connect: Connection reset by peer in connection to adb-xxxxxxxxxxx.0.azuredatabricks.net:443" last_error_code: 35 , entity: "www.databricks.com" outcome: "ssl_error" duration_sec: 223.5729 message: "curl: (35) OpenSSL SSL_connect: Connection reset by peer in connection to www.databricks.com:443" last_error_code: 35 )(OnDemand)  
Azure error code: X_NHC_CONTROL_PLANE_SSL_ERROR  Azure error message: Instance failed network health check before bootstrapping with fatal error: X_NHC_CONTROL_PLANE_SSL_ERROR 2 failed component(s): control_plane internet Retryable: false Based on the failure results: 
List(entity: "adb-xxxxxxxxxxx.0.azuredatabricks.net" outcome: "ssl_error" duration_sec: 241.42003 message: "curl: (35) OpenSSL SSL_connect: Connection reset by peer in connection to adb-xxxxxxxxxxx.0.azuredatabricks.net:443" last_error_code: 35 , entity: "www.databricks.com" outcome: "ssl_error" duration_sec: 223.5729 message: "curl: (35) OpenSSL SSL_connect: Connection reset by peer in connection to www.databricks.com:443" last_error_code: 35 )(OnDemand)&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp; It's looks like I have problem with connection between control plane and workers. &lt;STRONG&gt;How to handle that?&lt;BR /&gt;&lt;BR /&gt;&lt;/STRONG&gt;Maybe you got some examples of NGS ,&amp;nbsp;&lt;BR /&gt;My terrafrom manifest looks like:&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;resource "azurerm_databricks_access_connector" "connector" {
  name                = "dac-${var.name_of_workspace}"
  resource_group_name = var.rg
  location            = var.location

  identity {
    type = "SystemAssigned"
  }
}

resource "azurerm_databricks_workspace" "workspace" {
  provider                              = azurerm
  name                                  = "dw-${var.name_of_workspace}"
  resource_group_name                   = var.rg
  location                              = var.location
  sku                                   = var.tier_of_databricks
  
  managed_resource_group_name           = "${var.name_of_workspace}-managed"
  public_network_access_enabled         = false
  default_storage_firewall_enabled      = false
  access_connector_id                   = azurerm_databricks_access_connector.connector.id

  custom_parameters {
    virtual_network_id      = var.vnet_id
    public_subnet_name      = var.subnet_name_public
    private_subnet_name     = var.subnet_name_private

    public_subnet_network_security_group_association_id  = var.public_nsg_id
    private_subnet_network_security_group_association_id = var.private_nsg_id
  }

  tags = merge(local.default_tags,
    { module_version = var.module_version }
  )

  depends_on = [
    azurerm_databricks_access_connector.connector
  ]
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;  required_providers {
    databricks = {
      source = "databricks/databricks"
      version = "~&amp;gt; 1.97.0"
    }
    azurerm = {
      source  = "hashicorp/azurerm"
      version = "~&amp;gt;4.53.0"
    }
  }&lt;/LI-CODE&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Of course to handle connection I used private endpoint to auth and ui-api.&lt;/P&gt;</description>
      <pubDate>Fri, 21 Nov 2025 09:55:41 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/deployment-of-private-databricks-workspace/m-p/139899#M4508</guid>
      <dc:creator>lubiarzm1</dc:creator>
      <dc:date>2025-11-21T09:55:41Z</dc:date>
    </item>
    <item>
      <title>Re: Deployment of private databricks workspace.</title>
      <link>https://community.databricks.com/t5/administration-architecture/deployment-of-private-databricks-workspace/m-p/139903#M4509</link>
      <description>&lt;P&gt;Oh and I forget, I can not use nat gateway to outbound traffic.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 21 Nov 2025 10:54:17 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/deployment-of-private-databricks-workspace/m-p/139903#M4509</guid>
      <dc:creator>lubiarzm1</dc:creator>
      <dc:date>2025-11-21T10:54:17Z</dc:date>
    </item>
    <item>
      <title>Re: Deployment of private databricks workspace.</title>
      <link>https://community.databricks.com/t5/administration-architecture/deployment-of-private-databricks-workspace/m-p/139908#M4511</link>
      <description>&lt;P&gt;I investigated with my network team and workers not following traffic via private endpoint to my workspace but via public address. How to walkaround it.&lt;/P&gt;</description>
      <pubDate>Fri, 21 Nov 2025 11:39:37 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/deployment-of-private-databricks-workspace/m-p/139908#M4511</guid>
      <dc:creator>lubiarzm1</dc:creator>
      <dc:date>2025-11-21T11:39:37Z</dc:date>
    </item>
    <item>
      <title>Re: Deployment of private databricks workspace.</title>
      <link>https://community.databricks.com/t5/administration-architecture/deployment-of-private-databricks-workspace/m-p/139909#M4512</link>
      <description>&lt;P&gt;It seems to be an issue coming from your VNET Table Route configuration. Try to knowing exact reason is complex without being able to look into. Take a look here for details on how to confiigure:&amp;nbsp;&lt;A href="https://learn.microsoft.com/en-us/azure/databricks/security/network/classic/udr" target="_blank"&gt;https://learn.microsoft.com/en-us/azure/databricks/security/network/classic/udr&lt;/A&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 21 Nov 2025 11:53:53 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/deployment-of-private-databricks-workspace/m-p/139909#M4512</guid>
      <dc:creator>Coffee77</dc:creator>
      <dc:date>2025-11-21T11:53:53Z</dc:date>
    </item>
    <item>
      <title>Re: Deployment of private databricks workspace.</title>
      <link>https://community.databricks.com/t5/administration-architecture/deployment-of-private-databricks-workspace/m-p/139917#M4515</link>
      <description>&lt;P&gt;After opening traffic to public address of workspace my error change to&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;Error message: [details] X_NHC_CONTROL_PLANE_HTTP_ERROR: Instance failed network health check before bootstrapping with fatal error: X_NHC_CONTROL_PLANE_HTTP_ERROR 2 failed component(s): control_plane internet Retryable: false Based on the failure results: List(entity: "adb-xxxxxxxxxx.azuredatabricks.net" outcome: "http_error" 
duration_sec: 282.8475 message: "Configured privacy settings disallow access for this workspace over your current network. Please contact your administrator for " last_error_code: 401 , entity: "www.databricks.com" outcome: "ssl_error" duration_sec: 226.39476 message: "curl: (35) OpenSSL SSL_connect: Connection reset by peer in connection to www.databricks.com:443" last_error_code: 35 )(OnDemand)&lt;/LI-CODE&gt;&lt;P&gt;workers are not resolving my workspace address to private endpoint. There is possibility to change that?&lt;/P&gt;</description>
      <pubDate>Fri, 21 Nov 2025 13:22:59 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/deployment-of-private-databricks-workspace/m-p/139917#M4515</guid>
      <dc:creator>lubiarzm1</dc:creator>
      <dc:date>2025-11-21T13:22:59Z</dc:date>
    </item>
    <item>
      <title>Re: Deployment of private databricks workspace.</title>
      <link>https://community.databricks.com/t5/administration-architecture/deployment-of-private-databricks-workspace/m-p/140053#M4527</link>
      <description>&lt;P&gt;Issue with network connection was resolved, network security group has to be extended.&lt;BR /&gt;Last issue is to translate it to IaC.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 24 Nov 2025 07:27:02 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/deployment-of-private-databricks-workspace/m-p/140053#M4527</guid>
      <dc:creator>lubiarzm1</dc:creator>
      <dc:date>2025-11-24T07:27:02Z</dc:date>
    </item>
    <item>
      <title>Re: Deployment of private databricks workspace.</title>
      <link>https://community.databricks.com/t5/administration-architecture/deployment-of-private-databricks-workspace/m-p/140058#M4529</link>
      <description>&lt;LI-CODE lang="markup"&gt;* Failed to execute "terraform apply" in ./.terragrunt-cache/Dw9Jqv7V6amuufaJ5H_OSywE4io/KQfeJxFLHcWRWQjrzR87EgDhs9o/stacks/databricks/workspace
  ╷
  │ Error: creating Workspace (Subscription: "XX"
  │ Resource Group Name: "rg-int"
  │ Workspace Name: "dw-analytics"): performing CreateOrUpdate: unexpected status 400 (400 Bad Request) with error: PrivateWorkspaceNotSupportedForSpecifiedRequiredNsgRules: RequiredNsgRule 'AllRules' is invalid for public network disabled workspaces.
  │ 
  │   with module.workspace.azurerm_databricks_workspace.workspace,
  │   on ../../../modules/databricks/adbw/main.tf line 19, in resource "azurerm_databricks_workspace" "workspace":
  │   19: resource "azurerm_databricks_workspace" "workspace" {
  │ 
  ╵
  
  exit status 1&lt;/LI-CODE&gt;</description>
      <pubDate>Mon, 24 Nov 2025 08:39:56 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/deployment-of-private-databricks-workspace/m-p/140058#M4529</guid>
      <dc:creator>lubiarzm1</dc:creator>
      <dc:date>2025-11-24T08:39:56Z</dc:date>
    </item>
    <item>
      <title>Re: Deployment of private databricks workspace.</title>
      <link>https://community.databricks.com/t5/administration-architecture/deployment-of-private-databricks-workspace/m-p/140059#M4530</link>
      <description>&lt;P&gt;All issues was resolved&lt;BR /&gt;Ready to deploy code&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;locals {
  default_tags = {
    terraform                 = "true"
    workload                  = var.app
    env                       = var.environment
  }
}

resource "azurerm_databricks_access_connector" "connector" {
  name                = "dac-${var.name_of_workspace}"
  resource_group_name = var.rg
  location            = var.location

  identity {
    type = "SystemAssigned"
  }
}

resource "azurerm_databricks_workspace" "workspace" {
  provider                              = azurerm
  name                                  = "dw-${var.name_of_workspace}"
  resource_group_name                   = var.rg
  location                              = var.location
  sku                                   = var.tier_of_databricks
  
  managed_resource_group_name           = "rg-${var.name_of_workspace}-managed"
  network_security_group_rules_required = "NoAzureDatabricksRules"
  public_network_access_enabled         = false
  default_storage_firewall_enabled      = false
  access_connector_id                   = azurerm_databricks_access_connector.connector.id

  custom_parameters {
    virtual_network_id      = var.vnet_id
    public_subnet_name      = var.subnet_name_public
    private_subnet_name     = var.subnet_name_private

    public_subnet_network_security_group_association_id  = var.public_nsg_id
    private_subnet_network_security_group_association_id = var.private_nsg_id
  }

  tags = merge(local.default_tags,
    { module_version = var.module_version }
  )

  depends_on = [
    azurerm_databricks_access_connector.connector
  ]
}

resource "azurerm_private_endpoint" "databricks_pe_ui" {
  name                = "pe-${var.name_of_workspace}-ui"
  location            = var.location
  resource_group_name = var.rg
  subnet_id           = var.subnet_private_endpoint_id

  private_service_connection {
    name                           = "psc-${var.name_of_workspace}-ui"
    private_connection_resource_id = azurerm_databricks_workspace.workspace.id
    subresource_names              = ["databricks_ui_api"]
    is_manual_connection           = false
  }

  tags = merge(local.default_tags,
    { module_version = var.module_version }
  )
  depends_on = [azurerm_databricks_workspace.workspace]
}

resource "azurerm_private_endpoint" "databricks_pe_auth" {
  name                = "pe-${var.name_of_workspace}-auth"
  location            = var.location
  resource_group_name = var.rg
  subnet_id           = var.subnet_private_endpoint_id

  private_service_connection {
    name                           = "psc-${var.name_of_workspace}-auth"
    private_connection_resource_id = azurerm_databricks_workspace.workspace.id
    subresource_names              = ["browser_authentication"]
    is_manual_connection           = false
  }

  tags = merge(local.default_tags,
    { module_version = var.module_version }
  )
  depends_on = [azurerm_databricks_workspace.workspace]
}&lt;/LI-CODE&gt;</description>
      <pubDate>Mon, 24 Nov 2025 08:40:49 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/deployment-of-private-databricks-workspace/m-p/140059#M4530</guid>
      <dc:creator>lubiarzm1</dc:creator>
      <dc:date>2025-11-24T08:40:49Z</dc:date>
    </item>
  </channel>
</rss>

