Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье вы узнаете, как использовать Приватный канал Azure для частного подключения к кластеру HDInsight из разных сетей через магистральную сеть Майкрософт. Эта статья является расширением статьи Ограничение возможности подключения к кластеру в Azure HDInsight, которая посвящена ограничению возможности общедоступного подключения. Если требуется общедоступное подключение к кластерам HDInsight и зависимым ресурсам или между ними, рассмотрите возможность ограниченного подключения к кластеру, следуя рекомендациям в разделе Управление сетевым трафиком в Azure HDInsight.
Приватный канал можно использовать в сценариях с несколькими сетями, когда пиринг между виртуальными сетями недоступен или не включен.
Примечание.
Ограничения общедоступного подключения являются необходимым условием для включения Private Link и не должны рассматриваться как одна и та же возможность.
Использование Приватного канала для подключения к кластеру HDInsight является дополнительной функцией и отключено по умолчанию. Эта функция доступна, только если для свойства сети resourceProviderConnection задано значение outbound, как описано в статье Ограничение возможности подключения к кластеру в Azure HDInsight.
Если для параметра privateLink установлено значение enabled, создаются внутренние стандартные подсистемы балансировки нагрузки (SLB), и для каждой SLB подготавливается служба Приватного канала Azure. Служба Приватного канала — это то, что позволяет получить доступ к кластеру HDInsight из частных конечных точек.
Шаги развертывания Приватной ссылки
Успешное создание кластера с использованием Private Link требует выполнения многих шагов, поэтому мы изложили их здесь. Выполните каждый из указанных ниже шагов, чтобы убедиться, что все настроено правильно.
Шаг 1. Создание необходимых компонентов
Чтобы начать, разверните указанные ниже ресурсы, если они еще не созданы. У вас должна быть по меньшей мере одна группа ресурсов, две виртуальных сети и группа безопасности сети для подключения к подсети, где будет развернут кластер HDInsight, как показано ниже.
| Тип | Имя. | Цель |
|---|---|---|
| Группа ресурсов | hdi-privlink-rg | Используется для совместного использования общих ресурсов. |
| Виртуальная сеть | hdi-privlink-cluster-vnet | Виртуальная сеть, в которой будет развернут кластер. |
| Виртуальная сеть | hdi-privlink-client-vnet | Виртуальная сеть, откуда клиенты будут подключаться к кластеру. |
| группу безопасности сети; | hdi-privlink-cluster-vnet-nsg | NSG по умолчанию, необходимая для развертывания кластера. |
Примечание.
Группу безопасности сети (NSG) можно развернуть, нам не нужно изменять правила NSG для развертывания кластера.
Шаг 2. Настройка подсети HDInsight
- Отключите privateLinkServiceNetworkPolicies в подсети. Чтобы выбрать исходный IP-адрес для службы "Приватный канал", в подсети требуется явно задать параметр отключения
privateLinkServiceNetworkPolicies. Следуйте приведенным здесь инструкциям, чтобы отключить сетевые политики для служб Приватного канала. - Включите конечные точки службы в подсети. Для успешного развертывания кластера HDInsight на базе Private Link, рекомендуется добавить конечные точки служб
Microsoft.SQL,Microsoft.Storage, иMicrosoft.KeyVaultв вашу подсеть до развертывания кластера. Конечные точки службы направляют трафик непосредственно из виртуальной сети в службу в магистральной сети Microsoft Azure. Так как трафик не покидает пределы магистральной сети, это позволяет и дальше выполнять аудит и мониторинг исходящего интернет-трафика из виртуальных сетей при помощи принудительного туннелирования без воздействия на трафик служб.
Шаг 3. Развертывание шлюза NAT или брандмауэра
Стандартные балансировщики нагрузки не предоставляют автоматически общедоступную исходящую NAT так, как это делают базовые балансировщики нагрузки. Так как кластеры Private Link используют стандартные балансировщики нагрузки, необходимо предоставить собственное решение NAT, например шлюз NAT или NAT, реализуемое брандмауэром, для подключения к исходящим общедоступным зависимостям HDInsight.
Развертывание шлюза NAT (вариант 1)
Вы можете использовать шлюз NAT, если вы не хотите настраивать брандмауэр или сетевой виртуальный модуль (NVA) для NAT. Чтобы приступить к работе, добавьте шлюз NAT (с новым общедоступным IP-адресом в своей виртуальной сети) в настроенную подсеть виртуальной сети. Этот шлюз отвечает за преобразование частного внутреннего IP-адреса в общедоступный адрес, когда нужно передать трафик за пределы виртуальной сети.
В рамках базовой начальной настройки сделайте следующее:
Выполните поиск по запросу "шлюзы NAT" на портале Azure и нажмите кнопку Создать.
Используйте следующие конфигурации в шлюзе NAT. (Мы не будем включать здесь все конфигурации, поэтому для них можно использовать значения по умолчанию.)
Настройки Значение Имя шлюза NAT hdi-privlink-nat-gateway Общедоступные IP-префиксы Создать новый префикс общедоступного IP-адреса Имя префикса общедоступного IP-адреса hdi-privlink-nat-шлюз-префикс Размер префикса общедоступного IP-адреса /28 (16 адресов) Виртуальная сеть hdi-privlink-cluster-vnet Имя подсети по умолчанию После завершения развертывания Шлюза NAT вы можете перейти к следующему шагу.
Настройка брандмауэра (вариант 2)
В рамках базовой начальной настройки сделайте следующее:
- Добавьте в свою виртуальную сеть новую подсеть с именем AzureFirewallSubnet.
- Используйте новую подсеть для настройки нового брандмауэра и добавления политик брандмауэра.
- Используйте частный IP-адрес нового брандмауэра в качестве значения
nextHopIpAddressв таблице маршрутизации. - Добавьте таблицу маршрутизации в настроенную подсеть виртуальной сети.
Кластеру HDInsight по-прежнему требуется доступ к своим исходящим зависимостям. Если эти исходящие зависимости не разрешены, создание кластера может завершиться ошибкой. Дополнительные сведения о настройке брандмауэра см. в разделе Управление сетевым трафиком в Azure HDInsight.
Шаг 4. Развертывание кластера с приватной ссылкой
На этом этапе все необходимые условия должны быть выполнены, и можно приступать к развертыванию кластера Private Link. На следующей схеме показан пример конфигурации сети, необходимой перед созданием кластера. В этом примере весь исходящий трафик принудительно передается в Брандмауэр Azure через определяемый пользователем маршрут. Прежде чем создавать кластер, нужно разрешить необходимые исходящие зависимости в брандмауэре. Для кластеров пакетов безопасности предприятия пиринг между виртуальными сетями может обеспечить сетевое подключение к доменным службам Microsoft Entra.
Создайте кластер.
Следующий фрагмент кода JSON содержит два свойства сети, которые необходимо настроить в шаблоне Azure Resource Manager для создания частного кластера HDInsight:
networkProperties: {
"resourceProviderConnection": "Outbound",
"privateLink": "Enabled"
}
Полный шаблон со множеством функций корпоративной безопасности HDInsight, включая Приватный канал, см. в статье Шаблон корпоративной безопасности HDInsight.
Чтобы создать кластер с помощью PowerShell, см. пример.
Чтобы создать кластер с помощью Azure CLI, см. пример.
Шаг 5. Создание частных конечных точек
Azure автоматически создает службу Private Link для балансировщиков нагрузки Ambari и SSH во время развертывания кластера Private Link. После развертывания кластера необходимо создать две частные конечные точки в клиентских виртуальных сетях, одну для Ambari и одну для доступа по протоколу SSH. Затем свяжите их со службами Private Link, созданными в ходе развертывания кластера.
Чтобы создать частные конечные точки, сделайте следующее:
Откройте портал Azure и выполните поиск по запросу "Private Link".
В результатах щелкните значок приватной ссылки.
Щелкните "Создание частной конечной точки" и используйте следующие конфигурации для настройки частной конечной точки Ambari:
Конфигурация Значение Имя. hdi-privlink-cluster Тип ресурса Microsoft.Network/privateLinkServices Ресурс gateway-* (это значение должно соответствовать идентификатору развертывания HDI кластера, например gateway-4eafe3a2a67e4cd88762c22a55fe4654) Виртуальная сеть hdi-privlink-client-vnet Подсеть по умолчанию
Повторите эту процедуру, чтобы создать другую закрытую конечную точку для доступа по протоколу SSH, используя следующие конфигурации:
Конфигурация Значение Имя. hdi-privlink-cluster-ssh Тип ресурса Microsoft.Network/privateLinkServices Ресурс headnode-* (это значение должно соответствовать идентификатору развертывания HDI кластера, например headnode-4eafe3a2a67e4cd88762c22a55fe4654) Виртуальная сеть hdi-privlink-client-vnet Подсеть по умолчанию
Внимание
Если вы используете кластер KafkaRestProxy HDInsight, выполните этот дополнительный шаг, чтобы включить частные конечные точки.
После создания частных конечных точек этот этап настройки завершен. Если вы не записали частные IP-адреса, назначенных конечным точкам, выполните следующие действия:
- Откройте клиентскую VNET на портале Azure.
- Перейдите на вкладку "Частные конечные точки".
- Вы должны увидеть перечисленные сетевые интерфейсы Ambari и SSH.
- Щелкните каждый из них и перейдите в колонку "Конфигурация DNS", чтобы просмотреть частный IP-адрес.
- Запишите эти IP-адреса, так как они необходимы для подключения к кластеру и правильной настройки DNS.
Шаг 6. Настройка DNS для подключения через частные конечные точки
Для доступа к частным кластерам можно настроить разрешение DNS с помощью частных зон DNS. В управляемой Azure общедоступной зоне DNS azurehdinsight.net создаются следующие записи Private Link:
<clustername> CNAME <clustername>.privatelink
<clustername>-int CNAME <clustername>-int.privatelink
<clustername>-ssh CNAME <clustername>-ssh.privatelink
На следующем рисунке показан пример частных записей DNS, необходимых для доступа к кластеру из виртуальной сети, которая не имеет однорангового подключения или иного способа прямого обращения к кластеру. Для переопределения полных доменных имен (FQDN) *.privatelink.azurehdinsight.net и определения IP-адресов частных конечных точек в сети клиента можно использовать частную зону Azure DNS. В этом примере конфигурация применяется только к <clustername>.azurehdinsight.net, но она также распространяется и на другие конечные точки кластера.
Чтобы настроить разрешение DNS через Частную зону DNS, сделайте следующее:
Создайте Частную зону Azure DNS. (Мы не будем включать здесь все конфигурации. Все остальные конфигурации остаются со значениями по умолчанию).
Конфигурация Значение Имя. privatelink.azurehdinsight.net
Добавьте набор записей в Частную зону DNS для Ambari.
Конфигурация Значение Имя. YourPrivateLinkClusterName Тип A — запись псевдонима для IPv4-адреса СРОК ЖИЗНИ 1 Единица срока жизни Часы IP-адрес Частный IP-адрес частной конечной точки для доступа Ambari
Добавьте набор записей в Частную зону DNS для SSH.
Конфигурация Значение Имя. YourPrivateLinkClusterName-ssh Тип A — запись псевдонима для IPv4-адреса СРОК ЖИЗНИ 1 Единица срока жизни Часы IP-адрес Частный IP-адрес частной конечной точки для доступа SSH
Внимание
Если вы используете кластер KafkaRestProxy HDInsight, выполните этот дополнительный шаг, чтобы настроить DNS для подключения через частную конечную точку.
Ассоциируйте частную зону DNS с клиентской виртуальной сетью, добавив ссылку на виртуальную сеть.
- Откройте Частную зону DNS на портале Azure.
- Перейдите на вкладку "Связи виртуальной сети".
- Нажмите кнопку "Добавить".
- Заполните сведения: имя ссылки, подписка и виртуальная сеть (виртуальная сеть клиента)
- Нажмите кнопку Сохранить.
Шаг 7. Проверка возможности подключения к кластеру
Последним шагом является проверка возможности подключения к кластеру. Так как этот кластер является изолированным или частным, получить к нему доступ с помощью любого общедоступного IP-адреса или FQDN невозможно. Вместо этого нам доступно несколько вариантов:
- настройка VPN-доступа к клиентской виртуальной сети из локальной сети;
- Развертывание виртуальной машины в клиентской виртуальной сети и доступ к кластеру из этой виртуальной машины
В этом примере мы развернем виртуальную машину в клиентской виртуальной сети, используя указанную ниже конфигурацию для проверки возможности подключения.
| Конфигурация | Значение |
|---|---|
| Название виртуальной машины | hdi-privlink-client-vm |
| Изображение | Windows 10 Pro, версия 2004 - Gen1 |
| Общедоступные входящие порты | Разрешить выбранные порты |
| Выбрать входящие порты | RDP (3389) |
| Подтверждаю, что у меня есть соответствующая лицензия Windows 10... | Отмечено |
| Виртуальная сеть | hdi-privlink-client-vnet |
| Подсеть | по умолчанию |
После развертывания клиентской виртуальной машины можно протестировать доступ как через Ambari, так и через SSH.
Чтобы проверить доступ Ambari, выполните приведенные действия.
- Откройте веб-браузер на виртуальной машине.
- Перейдите по стандартному полному доменному имени кластера:
https://<clustername>.azurehdinsight.net. - Если пользовательский интерфейс Ambari загружается, значит конфигурация правильно настроена для доступа через Ambari.
Чтобы проверить доступ по протоколу SSH, выполните приведенные действия.
- Откройте командную строку, чтобы вызвать окно терминала.
- В окне терминала попробуйте подключиться к кластеру по протоколу SSH:
ssh sshuser@<clustername>.azurehdinsight.net(замените "sshuser" на пользователя SSH, созданного для кластера). - Если вы можете подключиться, конфигурация правильно настроена для доступа по протоколу SSH.
Управление частными конечными точками для HDInsight
Используя частные конечные точки для кластеров Azure HDInsight, можно сделать так, чтобы клиенты в виртуальной сети могли безопасно обращаться к кластеру по Приватному каналу. Сетевой трафик между клиентами в виртуальной сети и кластером HDInsight передается через магистральную сеть Майкрософт, что позволяет избежать рисков, связанных с использованием общедоступного Интернета.
Потребитель службы Приватного канала (например, Фабрика данных Azure) может выбрать один из двух методов утверждения подключения:
- Автоматический. Если потребитель службы имеет разрешения Azure RBAC для ресурса HDInsight, потребитель может выбрать метод автоматического утверждения. В этом случае, когда запрос достигает ресурса HDInsight, от последнего не требуется никаких действий, а подключение утверждается автоматически.
- Ручной. Если у потребителя службы нет разрешений Azure RBAC для ресурса HDInsight, потребитель может выбрать метод утверждения вручную. В этом случае запрос на подключение отображается в ресурсах HDInsight как ожидающий. Ресурс HDInsight должен вручную утвердить запрос, прежде чем можно будет установить подключения.
Чтобы управлять частными конечными точками, в представлении кластера на портале Azure перейдите в раздел Сети в области Безопасность и сеть. Здесь можно просмотреть все существующие подключения, состояния подключения и сведения о частных конечных точках.
Можно также утверждать, отклонять или удалять существующие соединения. При создании частного подключения можно указать, к какому подресурсу HDInsight (такому как шлюз или головной узел) нужно подключиться.
В следующей таблице показаны различные действия ресурса HDInsight и результирующие состояния подключения для частных конечных точек. Позже ресурс HDInsight также может изменить состояние подключения к частной конечной точке без вмешательства потребителя. Действие обновит состояние конечной точки на стороне потребителя.
| Действие поставщика услуг | Состояние частной конечной точки потребителя службы | Описание |
|---|---|---|
| Нет | Не завершено | Подключение создается вручную и ожидает утверждения от владельца ресурса Приватного канала. |
| Утвердить | Утверждено | Подключение утверждено автоматически или вручную и готово к использованию. |
| Отклонить | Аннулировано | Подключение было отклонено владельцем ресурса Private Link. |
| Удалить | Отключено | Подключение было удалено владельцем ресурса службы Private Link. Частная конечная точка станет информативной и подлежит удалению для очистки. |