Настройка перенаправления DNS для Файлы Azure с помощью виртуальных машин или частного сопоставителя Azure DNS
Файлы Azure позволяют создавать частные конечные точки для учетных записей хранения, содержащих общие папки. Частные конечные точки используются для разных приложений — в частности для подключения к общим папкам Azure из локальной сети через подключения VPN или ExpressRoute с использованием частного пиринга.
Чтобы подключения к учетной записи хранения устанавливались через сетевой туннель, полное доменное имя (FQDN) учетной записи хранения должно разрешаться в частный IP-адрес частной конечной точки. Для этого вам нужно перенаправить суффикс конечной точки хранилища (core.windows.net
для регионов общедоступного облака) в службу частной зоны DNS Azure, которая доступна в виртуальной сети. В этом руководстве показано, как настроить перенаправление DNS для правильного разрешения в IP-адрес частной конечной точки учетной записи хранения.
Перед выполнением шагов, описанных в этом руководстве, настоятельно рекомендуем ознакомиться с руководством по планированию развертывания Файлов Azure и рекомендациями по работе с сетями Файлов Azure.
Применяется к
Тип общей папки | SMB | NFS |
---|---|---|
Стандартные общие папки (GPv2), LRS/ZRS | ||
Стандартные общие папки (GPv2), GRS/GZRS | ||
Общие папки уровня "Премиум" (FileStorage), LRS/ZRS |
Обзор
Файлы Azure предоставляет следующие типы конечных точек для доступа к общим папкам Azure:
- общедоступные конечные точки, у которых есть общедоступный IP-адрес и к которым можно обращаться из любой точки мира;
- частные конечные точки, которые существуют только в виртуальной сети и имеют частный IP-адрес в пределах адресного пространства этой виртуальной сети.
- Конечные точки службы, которые ограничивают доступ к общедоступной конечной точке определенным виртуальным сетям. Вы по-прежнему обращаетесь к учетной записи хранения через общедоступный IP-адрес, но доступ возможен только из указанных расположений в конфигурации.
Общедоступные и частные конечные точки размещаются в учетной записи хранения Azure. Учетная запись хранения — это конструкция управления, представляющая собой общий пул носителей, который можно использовать для развертывания нескольких общих папок и других ресурсов хранения, например контейнеров больших двоичных объектов или очередей.
Каждая учетная запись хранения имеет уникальное полное доменное имя (FQDN). Для регионов общедоступного облака полное доменное имя соответствует шаблону storageaccount.file.core.windows.net
, где storageaccount
обозначает имя учетной записи хранения. При выполнении запросов по этому имени, например при подключении общей папки к рабочей станции, операционная система выполняет поиск в DNS, чтобы разрешить полное доменное имя в IP-адрес.
По умолчанию storageaccount.file.core.windows.net
разрешается в IP-адрес общедоступной конечной точки. Общедоступная конечная точка учетной записи хранения размещается в кластере хранения Azure вместе с общедоступными конечными точками учетных записей хранения. Когда вы создаете частную конечную точку, частная зона DNS связывается с виртуальной сетью, в которую она добавлена. Запись типа CNAME связывает storageaccount.file.core.windows.net
с записью типа A для частного IP-адреса частной конечной точки учетной записи хранения. Это позволяет использовать в виртуальной сети полное доменное имя storageaccount.file.core.windows.net
и разрешать его в IP-адрес частной конечной точки.
Поскольку наша конечная цель — получить доступ к общим папкам Azure, размещенным в учетной записи хранения, из локальной среды с помощью сетевого туннеля, такого как VPN-подключение или подключение ExpressRoute, необходимо настроить локальные DNS-серверы для пересылки запросов в службу Файлы Azure в частную службу DNS Azure.
Вы можете настроить перенаправление DNS одним из двух способов:
Используйте виртуальные машины DNS-сервера: настройте условное перенаправление
*.core.windows.net
(или соответствующий суффикс конечной точки хранения для государственных организаций США, Германии или Китая) на виртуальную машину DNS-сервера, размещенную в виртуальной сети Azure. Затем этот DNS-сервер рекурсивно перенаправит запрос в частную службу DNS Azure, которая будет разрешать полное доменное имя учетной записи хранения в соответствующий частный IP-адрес. Это однократный шаг для всех общих папок Azure, размещенных в виртуальной сети.Используйте частный сопоставитель Azure DNS. Если вы не хотите развертывать DNS-сервер на основе виртуальных машин, можно выполнить ту же задачу с помощью частного сопоставителя Azure DNS.
Помимо Файлы Azure, запросы на разрешение DNS-имен для других служб хранилища Azure (хранилище BLOB-объектов Azure, хранилище таблиц Azure, хранилище очередей Azure и т. д.) будут перенаправляться в частную службу DNS Azure. При необходимости можно добавить дополнительные конечные точки для других служб Azure.
Необходимые компоненты
Прежде чем настроить перенаправление DNS в Файлы Azure, вам потребуется следующее:
- Учетная запись хранения, содержащая общую папку Azure, которую вы хотите подключить. Чтобы узнать, как создать учетную запись хранения и общую папку Azure, ознакомьтесь с этой статьей.
- Частная конечная точка для учетной записи хранения. См. статью "Создание частной конечной точки".
- Модуль Azure PowerShell последней версии.
Настройка перенаправления DNS с помощью виртуальных машин
Если у вас уже есть DNS-серверы в виртуальной сети Azure или вы предпочитаете развертывать собственные виртуальные машины DNS-сервера с помощью любой методологии, которую использует ваша организация, можно настроить DNS с помощью встроенных командлетов DNS-сервера PowerShell.
Внимание
В этом руководстве предполагается, что вы используете в локальной среде DNS-сервер под управлением Windows Server. Все описанные здесь шаги можно выполнить с любым DNS-сервером, а не только с DNS-сервером Windows.
На локальных DNS-серверах создайте дополнительный сервер пересылки с помощью Add-DnsServerConditionalForwarderZone
. Этот условный сервер пересылки нужно развернуть на всех локальных DNS-серверах, чтобы правильно и эффективно пересылать трафик в Azure. Не забудьте заменить <azure-dns-server-ip>
записи соответствующими IP-адресами для вашей среды.
$vnetDnsServers = "<azure-dns-server-ip>", "<azure-dns-server-ip>"
$storageAccountEndpoint = Get-AzContext | `
Select-Object -ExpandProperty Environment | `
Select-Object -ExpandProperty StorageEndpointSuffix
Add-DnsServerConditionalForwarderZone `
-Name $storageAccountEndpoint `
-MasterServers $vnetDnsServers
На DNS-серверах в виртуальной сети Azure также необходимо разместить сервер пересылки, чтобы запросы для зоны DNS учетной записи хранения направляются в частную службу DNS Azure, которая находится перед зарезервированным IP-адресом 168.63.129.16
. (Не забудьте указать $storageAccountEndpoint
, если вы выполняете команды в другом сеансе PowerShell.)
Add-DnsServerConditionalForwarderZone `
-Name $storageAccountEndpoint `
-MasterServers "168.63.129.16"
Настройка перенаправления DNS с помощью частного сопоставителя Azure DNS
Если вы предпочитаете не развертывать виртуальные машины DNS-сервера, можно выполнить ту же задачу с помощью частного сопоставителя Azure DNS. См. статью "Создание частного сопоставителя Azure DNS" с помощью портал Azure.
Нет разницы в настройке локальных DNS-серверов, за исключением того, что вместо указания IP-адресов DNS-серверов в Azure вы указываете на входящий IP-адрес конечной точки сопоставителя. Сопоставитель не требует какой-либо конфигурации, так как он перенаправит запросы на частный DNS-сервер Azure по умолчанию. Если частная зона DNS связана с виртуальной сетью, где развертывается сопоставитель, сопоставитель сможет ответить с записями из этой зоны DNS.
Предупреждение
При настройке пересылки для зоны core.windows.net все запросы к этому общедоступному домену будут перенаправляться в инфраструктуру Azure DNS. Это приводит к проблеме при попытке получить доступ к учетной записи хранения другого клиента, настроенного с частными конечными точками, так как Azure DNS ответит на запрос общедоступного имени учетной записи хранения с помощью CNAME, который не существует в частной зоне DNS. Решение этой проблемы заключается в создании межтенантной частной конечной точки в вашей среде для подключения к этой учетной записи хранения.
Чтобы настроить перенаправление DNS с помощью частного сопоставителя Azure DNS, запустите этот сценарий на локальных DNS-серверах. Замените <resolver-ip>
IP-адрес входящей конечной точки сопоставителя.
$privateResolver = "<resolver-ip>"
$storageAccountEndpoint = Get-AzContext | `
Select-Object -ExpandProperty Environment | `
Select-Object -ExpandProperty StorageEndpointSuffix
Add-DnsServerConditionalForwarderZone `
-Name $storageAccountEndpoint `
-MasterServers $privateResolver
Подтверждение серверов пересылки DNS
Перед проверкой успешности применения серверов пересылки DNS мы рекомендуем очистить кэш DNS на локальной рабочей станции с помощью Clear-DnsClientCache
. Чтобы проверить, можно ли успешно разрешить полное доменное имя учетной записи хранения, использовать Resolve-DnsName
или nslookup
.
# Replace storageaccount.file.core.windows.net with the appropriate FQDN for your storage account.
# Note that the proper suffix (core.windows.net) depends on the cloud you're deployed in.
Resolve-DnsName -Name storageaccount.file.core.windows.net
Если разрешение имен будет выполнено успешно, разрешенный IP-адрес будет совпадать с IP-адресом вашей учетной записи хранения.
Name Type TTL Section NameHost
---- ---- --- ------- --------
storageaccount.file.core.windows. CNAME 29 Answer csostoracct.privatelink.file.core.windows.net
net
Name : storageaccount.privatelink.file.core.windows.net
QueryType : A
TTL : 1769
Section : Answer
IP4Address : 192.168.0.4
Если вы подключили общую папку S МБ, можно также использовать Test-NetConnection
команду, чтобы убедиться, что подключение TCP можно успешно выполнить в учетной записи хранения.
Test-NetConnection -ComputerName storageaccount.file.core.windows.net -CommonTCPPort SMB