Включите подключения к внутреннему и внешнему интерфейсам с помощью Azure Private Link
В этой статье описывается использование Приватный канал Azure для обеспечения частного подключения между пользователями и рабочими областями Databricks, а также между кластерами на классической вычислительной плоскости и основными службами на уровне управления в инфраструктуре рабочей области Databricks.
Сведения об изменении сетевого доступа для бессерверных хранилищ SQL см. в статье "Настройка частного подключения из бессерверных вычислений".
Обзор
Приватный канал обеспечивает частное подключение из виртуальных сетей Azure и локальных сетей к службам Azure без предоставления трафика общедоступной сети. Azure Databricks поддерживает перечисленные ниже типы подключений через Приватный канал.
- Интерфейсный Приватный канал, также известный как подключение пользователя к рабочей области. Интерфейсное подключение через Приватный канал позволяет пользователям подключаться к веб-приложению Azure Databricks, REST API и API Databricks Connect через конечную точку интерфейса виртуальной сети. Интерфейсное подключение также используется интеграцией JDBC/ODBC и Power BI. Сетевой трафик для интерфейсного Приватный канал подключения между транзитной виртуальной сетью и плоскостью управления Azure Databricks рабочей области проходит магистральную сеть Майкрософт.
- Внутренние Приватный канал, также известные как плоскость вычислений для управления плоскостью управления: кластеры среды выполнения Databricks в управляемой клиентом виртуальной сети (плоскости вычислений) подключаются к основным службам рабочей области Azure Databricks (плоскости управления) в облачной учетной записи Azure Databricks. Это обеспечивает частное подключение из кластеров к конечной точке ретранслятора безопасного подключения кластера и конечной точке REST API.
-
частная конечная точка проверки подлинности браузера. Для поддержки частных интерфейсных подключений к веб-приложению Azure Databricks для клиентов, у которых нет общедоступного подключения к Интернету, необходимо добавить частную конечную точку проверки подлинности браузера для поддержки обратного вызова единого входа (SSO) в веб-приложение Azure Databricks из Идентификатора Microsoft Entra. Если вы разрешаете подключения из сети к общедоступному Интернету, добавление частной конечной точки проверки подлинности браузера рекомендуется, но не требуется. Частная конечная точка проверки подлинности браузера — это частное подключение с типом подресурсов
browser_authentication
.
Если вы реализуете приватный канал для как интерфейсных, так и внутренних подключений, вы можете при необходимости навязать частное подключение для рабочей области, что означает, что Azure Databricks отклоняет любые подключения через общедоступную сеть. Если вы не реализуете подключения обоих типов, это требование применить нельзя.
Примеры наборов данных каталога Unity и наборы данных Azure Databricks недоступны при настройке внутреннего приватного канала. См . примеры наборов данных.
Большая часть этой статьи заключается в создании новой рабочей области, но вы можете включить или отключить Приватный канал в существующей рабочей области. См. раздел "Включить или отключить Приватный канал Azure в существующей рабочей области".
Терминология
В следующей таблице описана важная терминология.
Терминология | Description |
---|---|
Приватный канал Azure | Технология Azure, которая обеспечивает частное подключение из виртуальных сетей Azure и локальных сетей к службам Azure без предоставления трафика в общедоступную сеть. |
Служба "Приватный канал Azure" | Служба, которая может быть назначением для подключения через Приватный канал. Каждый экземпляр уровня управления Azure Databricks публикует службу "Приватный канал Azure". |
Частная конечная точка Azure | Частная конечная точка Azure обеспечивает частное подключение между виртуальной сетью и службой "Приватный канал". Для интерфейсных и серверных подключений целью частной конечной точки Azure является уровень управления Azure Databricks. |
Общие сведения о частных конечных точках см. в статье Майкрософт Что собой представляет частная конечная точка?
Выбор стандартного или упрощенного развертывания
Существует два типа развертывания Приватный канал, поддерживаемых Azure Databricks, и вы должны выбрать один из следующих типов:
- Стандартное развертывание (рекомендуется): для повышения безопасности Databricks рекомендует использовать отдельную частную конечную точку для внешнего подключения из отдельной транзитной виртуальной сети. Вы можете реализовать как front-end, так и back-end подключения посредством Private Link, или только серверное подключение. Используйте отдельную виртуальную сеть для инкапсуляции доступа пользователей, отдельно от виртуальной сети, используемой для вычислительных ресурсов в классической плоскости вычислений. Создайте отдельные конечные точки Приватный канал для внутреннего и внешнего доступа. Следуйте инструкциям в разделе "Включить Приватный канал Azure как стандартное развертывание".
- Упрощенное развертывание. Некоторые организации не могут использовать стандартное развертывание по различным причинам политики сети, например запретить несколько частных конечных точек или запретить отдельные транзитные виртуальные сети. Кроме того, можно использовать Приватный канал упрощенное развертывание. Отдельная виртуальная сеть не отделяет доступ пользователей от виртуальной сети, используемой для вычислительных ресурсов в классической плоскости вычислений. Вместо этого для доступа пользователей используется транзитная подсеть в виртуальной сети плоскости вычислений. Существует только одна конечная точка Приватный канал. Как правило, настраиваются интерфейсные и внутренние подключения. При необходимости можно настроить только внутреннее подключение. Вы не можете использовать только интерфейсные подключения в этом типе развертывания. Следуйте инструкциям в разделе "Включить Приватный канал Azure в качестве упрощенного развертывания".
Требования
Подписка Azure
Рабочая область Azure Databricks должна находиться в плане "Премиум".
Сетевая архитектура рабочей области Azure Databricks
- Для добавления любого подключения через Приватный канал (даже если это только интерфейсное подключение) рабочая область Azure Databricks должна использовать внедрение виртуальной сети.
- Если вы реализуете внутреннее подключение Приватный канал, рабочая область Azure Databricks должна использовать безопасное подключение к кластеру (SCC/ No Public IP/NPIP).
- Вам потребуется виртуальная сеть, удовлетворяющая требованиям для внедрения виртуальной сети.
- Необходимо определить две подсети (называемые в пользовательском интерфейсе общедоступными подсетями и частной подсетью). Диапазоны IP-адресов виртуальной сети и подсетей, используемые для Azure Databricks, определяют максимальное количество узлов кластера, которое можно использовать одновременно.
- Для реализации интерфейсного Приватного канала, серверного Приватного канала или обоих вариантов в виртуальной сети рабочей области должна быть третья подсеть, содержащая конечную точку Приватного канала, причем ее диапазон IP-адресов не должен пересекаться с диапазонами других подсетей рабочей области. В данной статье эта третья подсеть называется подсетью частной конечной точки. В примерах и на снимках экрана она имеет имя
private-link
. Достаточно будет диапазона CIDR/27
. Не определяйте правила группы безопасности сети для подсети, содержащей частные конечные точки. - Если объекты создаются в пользовательском интерфейсе, необходимо вручную создать сеть и подсети перед созданием рабочей области Azure Databricks. Можно также использовать предоставляемый Azure Databricks шаблон, который создает виртуальную сеть и соответствующие подсети, включая две обычные подсети и еще одну для частных конечных точек.
- Если на частной конечной точке включена политика групп безопасности сети , необходимо разрешить порты 443, 6666, 3306 и 8443-8451 для правил входящего трафика в группе безопасности сети на подсети, где развернута частная конечная точка.
- Чтобы подключиться между сетью и портал Azure и службами, может потребоваться добавить портал Azure URL-адреса в список разрешений. Просмотр URL-адресов портал Azure на брандмауэре или прокси-сервере
Архитектура сети подключения переднего плана
Для только интерфейсных Приватный канал для доступа пользователей к рабочей области из локальной сети необходимо добавить частное подключение из этой сети в сеть Azure. Добавьте это подключение перед настройкой Приватного канала. Сведения зависят от того, выбираете ли вы Приватный канал стандартное развертывание или упрощенное развертывание.
- Для стандартного развертывания можно создать или использовать существующую транзитную виртуальную сеть, иногда называемую виртуальной сетью бастиона или виртуальной сетью концентратора. Эта виртуальная сеть должна быть доступной из локальной пользовательской среды с помощью Expressroute или VPN-шлюза. Для интерфейсного Приватного канала в Databricks рекомендуется создать отдельную виртуальную сеть для подключения к уровню управления, а не использовать совместно виртуальную сеть рабочей области. Обратите внимание, что транзитная виртуальная сеть и ее подсеть могут находиться в тех же регионе, зоне и группе ресурсов, что и виртуальная сеть рабочей области и ее подсети, но они не обязательно должны совпадать. Создайте группу ресурсов для отдельной транзитной виртуальной сети и используйте другую частную зону DNS для этой частной конечной точки. Если вы используете две отдельные частные конечные точки, зона DNS не может быть общей.
- Для упрощенного развертывания создается транзитная подсеть в виртуальной сети рабочей области. В этом развертывании транзитная подсеть не имеет отдельной частной конечной точки. Транзитная подсеть в виртуальной сети рабочей области использует одну частную конечную точку для внутренних и интерфейсных подключений.
Разрешения пользователя Azure
Как пользователь Azure должен иметь необходимые разрешения на чтение и запись:
- подготовка новой рабочей области Azure Databricks;
- создание конечных точек Приватного канала Azure в виртуальной сети рабочей области, а также (для интерфейсного использования) в транзитной виртуальной сети.
Если пользователь, создавший частную конечную точку для транзитной виртуальной сети, не имеет разрешений владельца или участника в рабочей области, другой пользователь с этими разрешениями должен вручную утвердить запрос на создание частной конечной точки.
Включение или отключение Приватный канал Azure в существующей рабочей области
Вы можете включить Приватный канал в существующей рабочей области. Для обновления требуется, чтобы рабочая область использовала внедрение виртуальной сети, безопасное подключение кластера и ценовую категорию "Премиум". Вы можете обновить защищенное подключение к кластеру и ценовую категорию "Премиум" во время обновления.
Вы можете использовать шаблон ARM или azurerm
поставщик Terraform версии 3.41.0+. Вы можете использовать портал Azure для применения пользовательского шаблона и изменения параметра в пользовательском интерфейсе. Однако в самом экземпляре рабочей области Azure Databricks нет поддержки пользовательского интерфейса портала Azure.
Если что-то пойдет не так с обновлением, вы можете повторить шаг обновления рабочей области , но вместо этого измените поля, чтобы отключить Private Link.
Хотя в этом разделе внимание уделяется подключению Private Link в существующей рабочей области, вы можете отключить его в той же рабочей области, используя тот же вызов обновления рабочей области с шаблоном ARM или обновлением Terraform. См. шаг , шаг 4: Примените обновление рабочей области для получения подробной информации.
Шаг 1. Ознакомьтесь с требованиями и документацией на этой странице
Перед попыткой обновления до Приватный канал существуют важные понятия и требования, которые необходимо прочитать:
- Ознакомьтесь с этой статьей, включая понятия и требования, прежде чем продолжить.
- Определите, следует ли использовать стандартное развертывание или упрощенное развертывание.
- На странице стандартного развертывания или упрощенного развертывания (независимо от используемого подхода) внимательно просмотрите страницу, включая различные сценарии. Найдите сценарий, соответствующий вашему варианту использования. Запишите значения, которые вы планируете использовать для
publicNetworkAccess
иrequiredNsgRules
. Для рекомендуемой конфигурации интерфейсных и внутренних Приватный канал с заблокированным подключением внешнего интерфейса используйте параметрыpublicNetworkAccess=Disabled
иrequiredNsgRules=NoAzureDatabricksRules
Шаг 2. Остановка всех вычислительных ресурсов
Перед попыткой обновления необходимо остановить все вычислительные ресурсы, такие как кластеры, пулы или классические хранилища SQL. Вычислительные ресурсы рабочей области не могут выполняться или попытка обновления завершается ошибкой. Databricks рекомендует планировать время обновления на время простоя.
Внимание
Не пытайтесь запустить вычислительные ресурсы во время обновления. Если Azure Databricks определяет, что вычислительные ресурсы были запущены (или по-прежнему запускаются), Azure Databricks завершает их после обновления.
Шаг 3. Создание подсети и частных конечных точек
Добавьте подсеть в виртуальную сеть рабочей области для внутренних частных конечных точек.
Откройте статью для стандартного развертывания или упрощенного развертывания (независимо от используемого подхода).
Следуйте инструкциям на этой странице, чтобы создать частные конечные точки, соответствующие типу развертывания.
Создайте все частные конечные точки для поддержки внутренних компонентов перед обновлением рабочей области.
Для доступа к пользовательскому интерфейсу создайте частную конечную точку с подресурсом
databricks_ui_api
для поддержки единого входа из транзитной виртуальной сети. Если у вас несколько транзитных виртуальных сетей, обращаюющихся к рабочей области для внешнего доступа, создайте несколько частных конечных точек с подресурсомdatabricks_ui_api
.
шаг 4. Применение обновления рабочей области
Вместо создания новой рабочей области необходимо применить обновление рабочей области.
Необходимо обновить параметры publicNetworkAccess
и requiredNsgRules
на значения, выбранные на предыдущем шаге.
Используйте один из следующих методов:
Использование пользовательского интерфейса портал Azure (без шаблона)
Применить обновление с помощью Terraform
Использование пользовательского интерфейса портал Azure (без шаблона)
Перейдите к экземпляру службы Azure Databricks в портал Azure.
В области навигации слева в разделе "Параметры" щелкните "Сеть".
Установите доступ к сети общего пользования и обязательные правила NSG на нужные значения в зависимости от вашего варианта использования. См. шаг 1. Ознакомьтесь с требованиями и документацией на этой странице.
Примечание.
Чтобы включить Приватный канал Azure, рабочая область должна включить безопасное подключение к кластеру (иногда называется No Public IP). Если оно еще не включено, одновременно с обновлением Private Link можно выбрать включить безопасное подключение к кластеру, установив для параметра Нет общедоступных IP-адресов значение True. Однако Azure Databricks рекомендует включить безопасное подключение к кластеру как отдельный шаг перед включением Приватный канал, чтобы можно было отдельно проверить успешность.
Нажмите кнопку Сохранить.
Обновление сети может занять более 15 минут.
Применение обновленного шаблона ARM с помощью портал Azure
Примечание.
Если у управляемой группы ресурсов есть пользовательское имя, необходимо соответствующим образом изменить шаблон. Чтобы получить дополнительные сведения, обратитесь к группе учетной записи Azure Databricks.
Скопируйте следующий код JSON шаблона ARM для обновления:
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "location": { "defaultValue": "[resourceGroup().location]", "type": "String", "metadata": { "description": "Location for all resources." } }, "workspaceName": { "type": "String", "metadata": { "description": "The name of the Azure Databricks workspace to create." } }, "apiVersion": { "defaultValue": "2023-02-01", "allowedValues": [ "2018-04-01", "2020-02-15", "2022-04-01-preview", "2023-02-01" ], "type": "String", "metadata": { "description": "2018-03-15 for 'full region isolation control plane' and 2020-02-15 for 'FedRAMP certified' regions" } }, "publicNetworkAccess": { "defaultValue": "Enabled", "allowedValues": [ "Enabled", "Disabled" ], "type": "String", "metadata": { "description": "Whether the workspace allows access from the public Internet" } }, "requiredNsgRules": { "defaultValue": "AllRules", "allowedValues": [ "AllRules", "NoAzureDatabricksRules" ], "type": "String", "metadata": { "description": "The security rules that are applied to the security group of the Vnet" } }, "enableNoPublicIp": { "defaultValue": true, "type": "Bool" }, "pricingTier": { "defaultValue": "premium", "allowedValues": [ "premium", "standard", "trial" ], "type": "String", "metadata": { "description": "The pricing tier of workspace." } }, "privateSubnetName": { "defaultValue": "private-subnet", "type": "String", "metadata": { "description": "The name of the private subnet." } }, "publicSubnetName": { "defaultValue": "public-subnet", "type": "String", "metadata": { "description": "The name of the public subnet." } }, "vnetId": { "type": "String", "metadata": { "description": "The virtual network Resource ID." } } }, "variables": { "managedResourceGroupName": "[concat('databricks-rg-', parameters('workspaceName'), '-', uniqueString(parameters('workspaceName'), resourceGroup().id))]", "managedResourceGroupId": "[subscriptionResourceId('Microsoft.Resources/resourceGroups', variables('managedResourceGroupName'))]" }, "resources": [ { "type": "Microsoft.Databricks/workspaces", "apiVersion": "[parameters('apiVersion')]", "name": "[parameters('workspaceName')]", "location": "[parameters('location')]", "sku": { "name": "[parameters('pricingTier')]" }, "properties": { "ManagedResourceGroupId": "[variables('managedResourceGroupId')]", "publicNetworkAccess": "[parameters('publicNetworkAccess')]", "requiredNsgRules": "[parameters('requiredNsgRules')]", "parameters": { "enableNoPublicIp": { "value": "[parameters('enableNoPublicIp')]" }, "customVirtualNetworkId": { "value": "[parameters('vnetId')]" }, "customPublicSubnetName": { "value": "[parameters('publicSubnetName')]" }, "customPrivateSubnetName": { "value": "[parameters('privateSubnetName')]" } } } } ] }
Перейдите на страницу портал Azure настраиваемого развертывания.
Выберите Создать собственный шаблон в редакторе.
Вставьте файл JSON для скопированного шаблона.
Нажмите кнопку Сохранить.
Чтобы включить Private Link, задайте параметры
publicNetworkAccess
иrequiredNsgRules
в соответствии с вашими потребностями.Чтобы отключить Private Link, установите значение
true
дляpublicNetworkAccess
и задайте значениеAllRules
дляrequiredNsgRules
.Для других полей используйте те же параметры, которые использовались для создания рабочей области, например подписки, региона, имени рабочей области, имен подсети, идентификатора ресурса существующей виртуальной сети.
Внимание
Имя группы ресурсов, имя рабочей области и имена подсетей должны совпадать с существующими рабочими областями, чтобы эта команда обновляла существующую рабочую область, а не создавала новую рабочую область.
Щелкните Просмотр и создание.
Если нет проблем с проверкой, нажмите кнопку Создать.
Обновление сети может занять более 15 минут.
Применить обновление с помощью Terraform
Для рабочих областей, созданных с помощью Terraform, можно обновить рабочую область для использования Private Link.
Внимание
Необходимо использовать terraform-provider-azurerm
версию 3.41.0 или более позднюю, поэтому при необходимости обновите версию поставщика Terraform. Предыдущие версии пытаются повторно создать рабочую область при изменении любого из этих параметров.
Для этого выполните следующие обобщенные действия.
Измените следующие параметры рабочей области:
- Установить значение
public_network_access_enabled
наtrue
(включено) илиfalse
(отключено) -
network_security_group_rules_required
: установите значениеAllRules
илиNoAzureDatabricksRules
.
Обновление сети может занять более 15 минут.
- Установить значение
Создайте частные конечные точки.
Подробное руководство по включению Приватный канал и созданию частных конечных точек:
- Сведения о стандартном развертывании см. в руководстве Terraform по Приватный канал Azure стандартному развертыванию
- Упрощенное развертывание см. в руководстве Terraform по Приватный канал Azure упрощенному развертыванию.
Обновление сети может занять более 15 минут.
Шаг 5. Проверка подлинности пользователя единого входа и подключение к серверной части
Следуйте инструкциям на главной странице развертывания.
- Проверка проверки подлинности единого входа пользователя в рабочей области.
- Проверка внутреннего подключения Приватный канал (требуется для внутреннего подключения)
шаг 6. Проверка обновления
- Перейдите к экземпляру службы Azure Databricks в портал Azure.
- В области навигации слева в разделе "Параметры" щелкните "Сеть".
- Убедитесь, что значение Разрешить доступ к общедоступной сети соответствует заданному значению.
- Убедитесь, что значение для обязательных правил NSG соответствует заданному вами значению.
Восстановление после сбоя
Если обновление рабочей области завершается ошибкой, рабочая область может быть помечена как Ошибка, что означает, что рабочая область не может выполнять вычислительные операции. Чтобы сбойную рабочую область привести в активное состояние , ознакомьтесь с инструкциями, содержащимися в сообщении о статусе операции обновления. После устранения проблем повторите обновление в рабочей области, где произошел сбой. Повторите шаги, пока обновление не завершится успешно. Если у вас есть вопросы, обратитесь к группе учетной записи Azure Databricks.