Настройка брандмауэра для бессерверного доступа к вычислительным ресурсам

Примечание.

Если вы настроили брандмауэры хранилища с помощью идентификаторов подсети из документации по Azure Databricks до 31 октября 2023 г., Databricks рекомендует обновить рабочие области, выполнив действия, описанные в этой статье или используя частную конечную точку. Если вы решили не обновлять существующие рабочие области, они продолжают работать без изменений.

В этой статье описывается настройка брандмауэра хранилища Azure для бессерверных вычислений с помощью пользовательского интерфейса консоли учетной записи Azure Databricks. Вы также можете использовать API конфигураций Подключение производительности сети.

Сведения о настройке частной конечной точки для бессерверного доступа к вычислительным ресурсам см. в статье "Настройка частного подключения из бессерверных вычислений".

Обзор включения брандмауэра для бессерверных вычислений

Бессерверное сетевое подключение управляется конфигурацией сетевого подключения (NCCs). Администраторы учетных записей создают NCCs в консоли учетной записи, а NCC можно подключить к одной или нескольким рабочим областям.

NCC содержит список сетевых удостоверений для типа ресурса Azure в качестве правил по умолчанию. При подключении NCC к рабочей области бессерверные вычисления в этой рабочей области используют одну из этих сетей для подключения ресурса Azure. Вы можете разрешить список этих сетей в брандмауэре ресурсов Azure.

Включение брандмауэра NCC поддерживается только из бессерверных хранилищ SQL для управляемых источников данных. Он не поддерживается из других вычислительных ресурсов в бессерверной вычислительной плоскости.

При необходимости можно настроить сетевой доступ к учетной записи хранения рабочей области только из авторизованных сетей, включая бессерверные хранилища SQL. См. раздел "Включение поддержки брандмауэра для учетной записи хранения рабочей области". При присоединении NCC к рабочей области правила сети автоматически добавляются в учетную запись хранения Azure для учетной записи хранения рабочей области.

Дополнительные сведения о контроллерах сети см. в разделе "Что такое конфигурация сетевого подключения(NCC)?".

Последствия использования доступа к хранилищу между регионами

Для трафика между регионами из бессерверных хранилищ SQL Azure Databricks (например, рабочая область находится в регионе "Восточная часть США", а хранилище ADLS находится в Западной Европе), Azure Databricks направляет трафик через службу шлюза Azure NAT.

Внимание

В настоящее время эта функция не взимается. В более позднем выпуске может взиматься плата за использование. Чтобы избежать этих расходов, Databricks рекомендует создать рабочую область в том же регионе, что и хранилище.

Требования

  • Рабочая область должна находиться в плане "Премиум".

  • Вы должны быть администратором учетных записей в Azure Databricks.

  • Каждый NCC может быть присоединен к до 50 рабочих областей.

  • Каждая учетная запись Azure Databricks может содержать до 10 NCCs в каждом регионе.

    • У вас должен быть WRITE доступ к сетевым правилам учетной записи хранения Azure.

Шаг 1. Создание конфигурации сетевого подключения и копирование идентификаторов подсети

Databricks рекомендует совместно использовать NCCs между рабочими областями в одной бизнес-единице и совместно использовать те же области и свойства подключения. Например, если некоторые рабочие области используют брандмауэр хранилища и другие рабочие области используют альтернативный подход к Приватный канал, используйте отдельные NCCs для этих вариантов использования.

  1. В качестве администратора учетной записи перейдите в консоль учетной записи.
  2. На боковой панели щелкните "Облачные ресурсы".
  3. Щелкните "Конфигурация сетевой Подключение тивности".
  4. Нажмите кнопку "Добавить конфигурации сетевой Подключение тивности".
  5. Введите имя NCC.
  6. Выберите регион. Это должно соответствовать региону рабочей области.
  7. Нажмите кнопку Добавить.
  8. В списке NCCs щелкните новый NCC.
  9. В разделе "Правила по умолчанию" в разделе "Сетевые удостоверения" нажмите кнопку "Просмотреть все".
  10. В диалоговом окне нажмите кнопку "Копировать подсети" и сохраните список подсетей.
  11. Нажмите кнопку Закрыть.

Шаг 3. Присоединение NCC к рабочим областям

Вы можете подключить NCC к 50 рабочим областям в том же регионе, что и NCC.

Чтобы использовать API для подключения NCC к рабочей области, см . API рабочих областей учетных записей.

  1. На боковой панели консоли учетной записи щелкните "Рабочие области".
  2. Щелкните имя рабочей области.
  3. Щелкните " Обновить рабочую область".
  4. В поле "Сетевая Подключение тивность конфигурации" выберите NCC. Если он не отображается, убедитесь, что вы выбрали один и тот же регион для рабочей области и NCC.
  5. Нажмите Обновить.
  6. Подождите 10 минут, пока изменения вступают в силу.
  7. Перезапустите все запущенные бессерверные хранилища SQL в рабочей области.

Если вы используете эту функцию для подключения к учетной записи хранения рабочей области, конфигурация будет завершена. Правила сети автоматически добавляются в учетную запись хранения рабочей области. Для дополнительных учетных записей хранения перейдите к следующему шагу.

Шаг 3. Блокировка учетной записи хранения

Если у вас еще нет доступа к учетной записи хранения Azure только разрешенным сетям, сделайте это сейчас. Этот шаг не требуется выполнять для учетной записи хранения рабочей области.

Создание брандмауэра хранилища также влияет на подключение с классической вычислительной плоскости к ресурсам. Кроме того, необходимо добавить сетевые правила для подключения к учетным записям хранения из классических вычислительных ресурсов.

  1. Переход на портал Azure.
  2. Перейдите к учетной записи хранения для источника данных.
  3. В левой области навигации щелкните "Сеть".
  4. В поле Общедоступный сетевой доступ проверка значение. По умолчанию значение включено из всех сетей. Измените это значение на "Включено" из выбранных виртуальных сетей и IP-адресов.

Шаг 4. Добавление сетевых правил учетной записи хранения Azure

Этот шаг не требуется выполнять для учетной записи хранения рабочей области.

  1. Добавьте одно правило сети учетной записи хранения Azure для каждой подсети. Это можно сделать с помощью Azure CLI, PowerShell, Terraform или других средств автоматизации. Обратите внимание, что этот шаг не может быть выполнен в пользовательском интерфейсе портала Azure.

    В следующем примере используется интерфейс командной строки Azure:

    az storage account network-rule add --subscription "<sub>" \
        --resource-group "<res>" --account-name "<account>" --subnet "<subnet>"
    
    • Замените <sub> именем подписки Azure для учетной записи хранения.
    • Замените <res> группу ресурсов учетной записи хранения.
    • Замените <account> именем учетной записи хранения
    • Замените <subnet> идентификатором ресурса ARM (resourceId) бессерверной подсети хранилища SQL.

    После выполнения всех команд можно использовать портал Azure для просмотра учетной записи хранения и подтверждения того, что в таблице виртуальная сеть s есть запись, представляющая новую подсеть. Однако нельзя вносить изменения в правила сети в портал Azure.

    Совет

    Игнорируйте упоминание "Недостаточно разрешений" в столбце состояния конечной точки или предупреждение под списком сети. Они указывают только на то, что у вас нет разрешения на чтение подсетей Azure Databricks, но это не мешает этой бессерверной подсети Azure Databricks связаться с хранилищем Azure.

    Примеры новых записей в списке виртуальная сеть

  2. Повторите эту команду один раз для каждой подсети. При необходимости можно автоматизировать процесс создания правила сети. См. раздел "Автоматизация создания правила сети".

  3. Чтобы убедиться, что учетная запись хранения использует эти параметры из портал Azure, перейдите к сети в учетной записи хранения.

    Убедитесь, что для доступа к общедоступной сети задано значение Enabled из выбранных виртуальных сетей и IP-адресов и разрешенных сетей, перечислены в разделе виртуальная сеть s.

Автоматизация создания правила сети

Вы можете автоматизировать создание сетевого правила для учетной записи хранения с помощью Azure CLI или PowerShell.

В этом примере Azure CLI используются две подсети в списке, который можно использовать с циклом для выполнения команды для каждой подсети. В этом примере mystorage-rg — это группа ресурсов и myaccount учетная запись хранения.

#!/bin/bash
SUBNETS=(/subscriptions/8453a5d5-9e9e-40c7-87a4-0ab4cc197f48/resourceGroups/prod-azure-eastusc3-nephos2/providers/Microsoft.Network/virtualNetworks/kaas-vnet/subnets/worker-subnet /subscriptions/8453a5d5-9e9e-40c7-87a4-0ab4cc197f48/resourceGroups/prod-azure-eastusc3-nephos3/providers/Microsoft.Network/virtualNetworks/kaas-vnet/subnets/worker-subnet)
for SUBNET in ${SUBNETS[@]}
do
  az storage account network-rule add --subscription 9999999-1ff3-43f4-b91e-d0ceb97111111 --resource-group mystorage-rg --account-name myaccount --subnet ${SUBNET}
done

Чтобы использовать PowerShell, используйте следующую команду:

Add-AzStorageAccountNetworkRule -ResourceGroupName <resource group name> -Name <storage account name> -VirtualNetworkResourceId <subnets>

Замена:

  • <resource group name> с группой ресурсов учетной записи хранения.
  • <storage account name> замените именем учетной записи хранения.
  • <subnets> со списком идентификаторов ресурсов подсети, разделенных запятыми.