Поделиться через


Использование Приватного канала в Виртуальной глобальной сети

Частная ссылка Azure — это технология, которая позволяет подключать предложения "платформа как услуга" с использованием частного IP-адреса, предоставляя частные конечные точки. Виртуальная глобальная сеть Azure позволяет развернуть закрытую конечную точку в одной из виртуальных сетей, подключенных к любому виртуальному концентратору. Эта приватная связь обеспечивает подключение к любой другой виртуальной сети или ветви, подключенной к той же Виртуальная глобальная сеть.

Подготовка к работе

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

Чтобы создать виртуальную глобальную сеть и новый концентратор, выполните действия, описанные в следующих статьях.

Подключение к частной конечной точке в Azure является отслеживанием состояния. Когда подключение к частной конечной точке устанавливается через Виртуальная глобальная сеть, трафик направляется через один или несколько прыжков трафика через различные компоненты Виртуальная глобальная сеть (например, маршрутизатор Виртуального концентратора, шлюз ExpressRoute, VPN-шлюз, Брандмауэр Azure или NVA). Точный трафик прыжков зависит от конфигураций маршрутизации Виртуальная глобальная сеть. За кулисами программный уровень сети Azure отправляет все пакеты, связанные с одним потоком кортежей, в один из экземпляров серверной части, обслуживающих различные компоненты Виртуальная глобальная сеть. Асимметрично перенаправленный трафик (например, трафик, соответствующий одному потоку кортежа, перенаправленному в разные экземпляры серверной части), не поддерживается и удаляется платформой Azure.

Во время событий обслуживания в инфраструктуре Виртуальная глобальная сеть серверные экземпляры перезагружаются по одному за раз, что может привести к периодическим проблемам с подключением к частной конечной точке, так как экземпляр обслуживания потока временно недоступен. Аналогичная проблема может возникать, когда Брандмауэр Azure или маршрутизатор виртуального концентратора масштабируется. Один и тот же поток трафика можно сбалансировать нагрузку на новый серверный экземпляр, который отличается от экземпляра, который в настоящее время обслуживает поток.

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

  • Настройте значение времени ожидания TCP локального приложения в диапазоне от 15 до 30 секунд. Меньшее значение времени ожидания TCP позволит трафику приложений быстрее восстанавливаться после событий обслуживания и горизонтального масштабирования. Кроме того, проверьте различные значения времени ожидания приложения, чтобы определить подходящее время ожидания на основе ваших требований.
  • Предварительно масштабируемые компоненты Виртуальная глобальная сеть для обработки всплесков трафика, чтобы предотвратить возникновение событий автомасштабирования. Для маршрутизатора Виртуального концентратора можно задать минимальные единицы инфраструктуры маршрутизации на маршрутизаторе концентратора, чтобы предотвратить масштабирование во время всплесков трафика.

Наконец, если вы используете локальное подключение между Azure и локальной средой с помощью VPN или ExpressRoute, убедитесь, что локальное устройство настроено на использование одного VPN-туннеля или того же маршрутизатора Microsoft Enterprise Edge, что и следующий прыжок для каждого 5 кортежей, соответствующих трафику частной конечной точки.

Создание конечной точки приватного канала

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

Создание приватного канала

После создания базы данных SQL Azure вы можете проверить IP-адрес частной конечной точки, просмотрев частные конечные точки:

частные конечные точки

Щелкнув созданную частную конечную точку, вы увидите частный IP-адрес и полное доменное имя (полное доменное имя). Частная конечная точка должна иметь IP-адрес в диапазоне виртуальной сети (10.1.3.0/24):

Конечная точка SQL

Проверка подключения из той же виртуальной сети

В этом примере мы проверяем подключение к База данных SQL Azure из виртуальной машины Linux с установленными средствами MS SQL. Первым шагом является проверка того, что разрешение DNS работает, а полное доменное имя базы данных SQL Azure разрешается в частный IP-адрес в той же виртуальной сети, в которой развернута частная конечная точка (10.1.3.0/24):

nslookup wantest.database.windows.net
Server:         127.0.0.53
Address:        127.0.0.53#53

Non-authoritative answer:
wantest.database.windows.net    canonical name = wantest.privatelink.database.windows.net.
Name:   wantest.privatelink.database.windows.net
Address: 10.1.3.228

Как видно из предыдущих выходных данных, полное доменное имя wantest.database.windows.net сопоставляется с wantest.privatelink.database.windows.net, что частная зона DNS, созданная на частной конечной точке, будет разрешаться в частный IP-адрес 10.1.3.228. Просмотр частной зоны DNS подтвердит наличие записи A для частной конечной точки, сопоставленной с частным IP-адресом:

Зона DNS

После проверки правильного разрешения DNS можно попытаться подключиться к базе данных:

query="SELECT CONVERT(char(15), CONNECTIONPROPERTY('client_net_address'));"
sqlcmd -S wantest.database.windows.net -U $username -P $password -Q "$query"
10.1.3.75

Как видите, мы используем специальный SQL-запрос, который предоставляет нам исходный IP-адрес, который сервер SQL server видит из клиента. В этом случае сервер видит личный IP клиента (10.1.3.75). Это означает, что трафик переходит из виртуальной сети прямо в частную конечную точку.

Задайте переменные username и password сопоставите учетные данные, определенные в База данных SQL Azure, чтобы сделать примеры, приведенные в этом руководстве.

Подключение из другой виртуальной сети

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

После подключения виртуальной сети или ветви к виртуальной сети, в которой развернута частная конечная точка, необходимо настроить разрешение DNS:

  • При подключении к частной конечной точке из виртуальной сети можно использовать ту же частную зону, которая была создана в базе данных SQL Azure.
  • При подключении к частной конечной точке из ветви (VPN типа "сеть — сеть", VPN-подключение типа "точка — сеть" или ExpressRoute) необходимо использовать локальное разрешение DNS.

В этом примере мы подключаемся из другой виртуальной сети. Сначала подключите частную зону DNS к новой виртуальной сети, чтобы ее рабочие нагрузки могли разрешить База данных SQL Azure полное доменное имя к частному IP-адресу. Это делается путем связывания частной зоны DNS с новой виртуальной сетью:

Протокол DNS Link

Теперь любая виртуальная машина в подключенной виртуальной сети должна правильно разрешить полное доменное имя базы данных SQL Azure в частный IP-адрес частной ссылки:

nslookup wantest.database.windows.net
Server:         127.0.0.53
Address:        127.0.0.53#53

Non-authoritative answer:
wantest.database.windows.net    canonical name = wantest.privatelink.database.windows.net.
Name:   wantest.privatelink.database.windows.net
Address: 10.1.3.228

Чтобы убедиться, что эта виртуальная сеть (10.1.1.0/24) имеет подключение к исходной виртуальной сети, в которой была настроена частная конечная точка (10.1.3.0/24), вы можете проверить действующую таблицу маршрутов на любой виртуальной машине в виртуальной сети:

Действующие маршруты

Как видно, существует маршрут, указывающий на виртуальную сеть 10.1.3.0/24, внедренную шлюзами виртуальная сеть в Azure Виртуальная глобальная сеть. Теперь мы можем проверить возможность подключения к базе данных:

query="SELECT CONVERT(char(15), CONNECTIONPROPERTY('client_net_address'));"
sqlcmd -S wantest.database.windows.net -U $username -P $password -Q "$query"
10.1.1.75

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

Следующие шаги

Дополнительные сведения о виртуальной глобальной сети см. в статье, содержащей Часто задаваемые вопросы о ней.