0Pricing
Azure Fundamentals · Урок

Пиринг виртуальных сетей и конечные точки служб

Соединяйте две VNet с помощью пиринга VNet для частного обмена данными с низкой задержкой и используйте конечные точки служб для маршрутизации трафика к службам Azure без выхода в общедоступный Интернет.

«Пиринг виртуальных сетей и конечные точки служб» — бесплатный урок Azure Fundamentals на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Azure Fundamentals, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Azure Fundamentals содержит 4 уроков всего.

Зачем нужен пиринг VNet

Ресурсы в разных VNet Azure не могут взаимодействовать друг с другом по умолчанию — даже если они находятся в одном регионе Azure. Однако в крупных организациях часто используется несколько VNet: отдельные VNet для разработки, промежуточного тестирования и рабочей среды либо разные VNet для разных отделов. Пиринг VNet напрямую соединяет два VNet через частную магистральную сеть Microsoft, позволяя ресурсам в обоих VNet взаимодействовать так, словно они находятся в одной сети, — без прохождения трафика через общедоступный интернет и без шлюза VPN.

Как работает пиринг VNet

Пиринг VNet — это нетранзитивное соединение: если для VNet A настроен пиринг с VNet B, а для VNet B — с VNet C, VNet A не сможет взаимодействовать с VNet C, пока не будет создан отдельный пиринг между A и C. Пиринговые соединения двунаправленны, но их необходимо настроить с обеих сторон: создание пиринга от A к B автоматически не создаёт пиринг от B к A. После настройки обеих сторон трафик между пиринговыми VNet передаётся через магистральную сеть Azure с малой задержкой и высокой пропускной способностью, сопоставимыми с взаимодействием между подсетями внутри одного VNet.

# Create peering from VNet-A to VNet-B
az network vnet peering create \
  --resource-group myRG \
  --name A-to-B \
  --vnet-name VNet-A \
  --remote-vnet VNet-B \
  --allow-vnet-access

# Create return peering from VNet-B to VNet-A
az network vnet peering create \
  --resource-group myRG \
  --name B-to-A \
  --vnet-name VNet-B \
  --remote-vnet VNet-A \
  --allow-vnet-access

Локальный и глобальный пиринг

Пиринг виртуальных сетей имеет два варианта области действия: локальный пиринг виртуальных сетей соединяет две виртуальные сети в одном и том же регионе Azure. Трафик остаётся внутри региона, и за его передачу взимается небольшая плата за каждый GB. Глобальный пиринг виртуальных сетей соединяет две виртуальные сети в разных регионах Azure; маршрутизация выполняется через глобальную магистральную сеть Microsoft. Это позволяет ресурсам в восточной части US обмениваться данными с ресурсами в Западной Европе по закрытому соединению, не проходя через общедоступный интернет. Глобальный пиринг немного дороже локального по стоимости передачи данных, но всё же значительно дешевле и надёжнее маршрутизации через VPN.

Топология «звезда» с пирингом

Распространённый корпоративный шаблон использует пиринг виртуальных сетей для реализации топологии «звезда». Центральная виртуальная сеть — центр — содержит общие службы: Azure Firewall, VPN Gateway, DNS-серверы и мониторинг. Несколько виртуальных сетей — лучей (по одной на каждую среду или рабочую нагрузку) — устанавливают пиринг с центром. Маршрутизируя весь трафик лучей через брандмауэр центра, организация получает централизованную проверку безопасности без сложного управления NSG в каждом луче. Поскольку пиринг не является транзитивным, брандмауэр центра маршрутизирует трафик между лучами с помощью маршрутов, определённых пользователем (UDR).

Требования к адресному пространству для пиринга

У пиринга виртуальных сетей есть одно критически важное требование: адресные пространства пиринговых виртуальных сетей не должны пересекаться. Если виртуальная сеть A использует 10.0.0.0/16, а виртуальная сеть B также использует 10.0.0.0/16, пиринг завершается ошибкой, поскольку Azure не может маршрутизировать трафик между идентичными диапазонами адресов. Поэтому так важно заранее спланировать непересекающиеся диапазоны CIDR для всех виртуальных сетей и локальных сетей, прежде чем приступать к работе. Изменение адресного пространства виртуальной сети после развертывания ресурсов требует пересоздания виртуальной сети или использования ограниченной возможности добавления и удаления адресных пространств.

Что такое Service Endpoint?

Service Endpoint распространяет удостоверение виртуальной сети на службы Azure PaaS, такие как Azure Storage, Azure SQL Database, Azure Key Vault и Cosmos DB. Когда вы включаете Service Endpoint в подсети, трафик от ресурсов этой подсети к указанной службе Azure направляется через магистральную сеть Azure, а не через общедоступный интернет, даже если используется общедоступный IP-адрес службы. После этого служба может ограничить доступ только ресурсами из виртуальных сетей, в которых включён Service Endpoint, что значительно повышает безопасность по сравнению с конечными точками, доступными из интернета.

# Enable Service Endpoint for Storage on a subnet
az network vnet subnet update \
  --resource-group myRG \
  --vnet-name myVNet \
  --name app-tier \
  --service-endpoints Microsoft.Storage

Service Endpoint и Private Endpoint

Service Endpoint и Private Endpoint обеспечивают безопасный доступ к службам Azure PaaS, но работают по-разному: Service Endpoint — направляет трафик через магистральную сеть Azure, но по-прежнему использует общедоступный IP-адрес службы; Service Endpoint существует на уровне подсети. Private Endpoint — назначает службе частный IP-адрес из вашей виртуальной сети; общедоступную конечную точку можно полностью отключить, сделав службу действительно частной. К Private Endpoint также можно обращаться из локальной сети через VPN/ExpressRoute, и они обеспечивают более сильную изоляцию. Для максимальной безопасности предпочтительны Private Endpoint; Service Endpoint — более простой и доступный по стоимости вариант.

Ограничение доступа к Storage с помощью Service Endpoint

После включения Service Endpoint в подсети настройте службу Azure так, чтобы она принимала подключения только из этой подсети. Для учётной записи Storage это означает добавление правила виртуальной сети в настройках брандмауэра учётной записи Storage. После этого только виртуальные машины из указанной подсети смогут обращаться к учётной записи Storage — весь остальной интернет-трафик будет отклоняться. Это быстрый и бесплатный способ значительно повысить безопасность учётной записи Storage по сравнению с открытым доступом из интернета, особенно если в учётной записи хранятся конфиденциальные данные приложения.

# Restrict storage account to a subnet with service endpoint
az storage account network-rule add \
  --resource-group myRG \
  --account-name mystorageacct \
  --vnet-name myVNet \
  --subnet app-tier

Интеграция виртуальной сети для служб приложений

Интеграция виртуальной сети (не путайте её с пирингом виртуальных сетей) позволяет приложениям Azure App Service отправлять исходящие запросы к ресурсам внутри виртуальной сети. Без интеграции виртуальной сети исходящий трафик App Service всегда выходит через общедоступный интернет, даже если приложение обращается к таким ресурсам, как Azure SQL или Azure Cache for Redis, в той же виртуальной сети. После включения интеграции виртуальной сети исходящий трафик приложения направляется в виртуальную сеть и может достигать частных ресурсов. Для этого в виртуальной сети требуется выделенная делегированная подсеть с адресным пространством не менее /28.

Транзитивный пиринг с NVA

Поскольку пиринг виртуальных сетей не является транзитивным, соединение более двух виртуальных сетей требует либо прямого пиринга между каждой парой (сложность O(n²)), либо центрального узла маршрутизации. В модели «звезда» виртуальная сеть центра содержит Network Virtual Appliance (NVA) или Azure Firewall, который действует как транзитный маршрутизатор между виртуальными сетями-лучами. В каждой виртуальной сети-луче добавляется UDR, направляющий весь трафик (0.0.0.0/0 или трафик к определённым диапазонам CIDR лучей) на IP-адрес NVA в центре. Затем NVA пересылает трафик в нужную виртуальную сеть-луч, фактически обеспечивая транзитное соединение через центр.

Ограничения пиринга, о которых следует знать

Основные ограничения пиринга виртуальных сетей: необходимы непересекающиеся адресные пространства — тщательно планируйте диапазоны CIDR до создания виртуальных сетей. Пиринг не является транзитивным — пиринг между A и B и между B и C не соединяет A и C. Нельзя изменить размер адресного пространства виртуальной сети, если у неё есть активные пиринговые соединения, не удалив их временно. Транзит через шлюз — виртуальные сети-лучи могут использовать шлюз VPN или ExpressRoute в виртуальной сети центра, если включить параметр «Использовать удалённые шлюзы» в конфигурации пиринга, однако для этого шлюз центра должен быть создан заранее. Понимание этих ограничений важно для проектирования масштабируемых и удобных в обслуживании архитектур с несколькими виртуальными сетями.

Быстрая проверка

Проверьте своё понимание концепций Microsoft Azure Fundamentals (AZ-900), рассмотренных в этом уроке.

Итоги урока

В этом уроке вы узнали следующее: пиринг виртуальных сетей соединяет две виртуальные сети через магистральную сеть Microsoft, обеспечивая частный обмен данными с малой задержкой без VPN, но не является транзитивным; Service Endpoint направляет трафик подсети к службам Azure PaaS через магистральную сеть, не открывая эти службы для общедоступного интернета; Private Endpoint — более защищённая альтернатива, которая назначает службе PaaS частный IP-адрес и позволяет полностью отключить общедоступную конечную точку. Далее мы рассмотрим основы Azure DNS и Load Balancer.

Часто задаваемые вопросы

Урок «Пиринг виртуальных сетей и конечные точки служб» бесплатный?

Да — полный текст урока «Пиринг виртуальных сетей и конечные точки служб» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Azure Fundamentals, подпишись на CoddyKit PRO. Курс Azure Fundamentals содержит 4 уроков всего.

Чему я научусь в уроке «Пиринг виртуальных сетей и конечные точки служб»?

Соединяйте две VNet с помощью пиринга VNet для частного обмена данными с низкой задержкой и используйте конечные точки служб для маршрутизации трафика к службам Azure без выхода в общедоступный Интер… Ты практикуешь Azure Fundamentals с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Azure Fundamentals?

Предыдущий опыт не требуется. Azure Fundamentals на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Пиринг виртуальных сетей и конечные точки служб»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Azure Fundamentals?

Да. Каждый урок Azure Fundamentals включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Виртуальные сети и подсети
  2. Группы сетевой безопасности и группы безопасности приложений
  3. Пиринг виртуальных сетей и конечные точки служб
  4. Основы Azure DNS и балансировщика нагрузки
← Назад к Azure Fundamentals