MidТеория2 min

Сетевые сервисы Azure

VNet, NSG, Load Balancer, Application Gateway, CDN, DNS, VPN Gateway

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

Azure Virtual Network (VNet)

VNet -- это изолированная частная сеть в Azure. Все ресурсы внутри VNet могут общаться друг с другом, но изолированы от ресурсов в других VNet и от интернета (по умолчанию).

Ключевые компоненты:

  • Адресное пространство -- определяется в формате CIDR (например, 10.0.0.0/16)
  • Подсети (Subnets) -- сегменты сети для организации ресурсов (например, 10.0.1.0/24 для веб-серверов, 10.0.2.0/24 для баз данных)
# Создание VNet с двумя подсетями
az network vnet create \
  --resource-group rg-demo \
  --name vnet-main \
  --address-prefix 10.0.0.0/16 \
  --subnet-name subnet-web \
  --subnet-prefix 10.0.1.0/24

az network vnet subnet create \
  --resource-group rg-demo \
  --vnet-name vnet-main \
  --name subnet-db \
  --address-prefix 10.0.2.0/24

VNet Peering -- соединение двух VNet, позволяющее ресурсам в разных VNet общаться друг с другом. Peering может быть настроен между VNet в одном регионе или в разных регионах (Global VNet Peering).

Network Security Groups (NSG)

NSG -- это виртуальный файрвол, фильтрующий входящий и исходящий трафик. NSG содержит набор правил безопасности, каждое из которых определяет: разрешить или запретить трафик.

Параметры правила NSG:

  • Приоритет -- числовое значение (100-4096). Чем ниже число, тем выше приоритет
  • Источник/Назначение -- IP-адрес, диапазон, тег сервиса или ASG
  • Порт -- номер порта или диапазон
  • Протокол -- TCP, UDP, ICMP или Any
  • Действие -- Allow или Deny

NSG можно привязать к подсети или к сетевому интерфейсу виртуальной машины. Если NSG привязан к подсети, правила применяются ко всем ресурсам в этой подсети.

# Создание NSG с правилом, разрешающим HTTP-трафик
az network nsg create --resource-group rg-demo --name nsg-web

az network nsg rule create \
  --resource-group rg-demo \
  --nsg-name nsg-web \
  --name AllowHTTP \
  --priority 100 \
  --direction Inbound \
  --access Allow \
  --protocol Tcp \
  --destination-port-ranges 80 443

Azure Load Balancer

Load Balancer распределяет входящий трафик между несколькими виртуальными машинами, обеспечивая высокую доступность и производительность.

Типы:

  • Public Load Balancer -- распределяет трафик из интернета между VM
  • Internal Load Balancer -- распределяет трафик внутри виртуальной сети

Load Balancer работает на уровне 4 (транспортный уровень -- TCP/UDP). Он не анализирует содержимое запросов, а распределяет трафик на основе IP-адресов и портов.

Алгоритмы распределения:

  • Hash-based (по умолчанию) -- распределение на основе хеша 5-tuple (IP источника, порт источника, IP назначения, порт назначения, протокол)
  • Source IP affinity -- запросы от одного IP направляются на один бэкенд

Azure Application Gateway

Application Gateway -- это балансировщик нагрузки уровня 7 (HTTP/HTTPS). В отличие от Load Balancer, он анализирует содержимое HTTP-запросов и может маршрутизировать трафик на основе URL, заголовков и других параметров.

Ключевые возможности:

  • SSL-терминация -- расшифровка HTTPS на шлюзе, передача HTTP на бэкенд
  • URL-based маршрутизация -- /api/* на один бэкенд, /images/* на другой
  • Cookie-based session affinity -- привязка пользователя к конкретному бэкенду
  • Web Application Firewall (WAF) -- защита от OWASP Top 10 уязвимостей (SQL injection, XSS и др.)

Azure CDN

Azure Content Delivery Network (CDN) -- глобальная сеть доставки контента. CDN кеширует статический контент (изображения, CSS, JS, видео) на серверах, расположенных ближе к пользователям.

Как это работает:

  1. Пользователь запрашивает файл
  2. Запрос направляется на ближайшую точку присутствия (POP)
  3. Если файл есть в кеше POP -- он возвращается мгновенно
  4. Если нет -- POP запрашивает файл у origin-сервера, кеширует и возвращает

Интеграция с: Blob Storage, App Service, VM, любой публичный URL

Azure DNS

Azure DNS -- это служба хостинга DNS-зон, предоставляющая разрешение имен с помощью инфраструктуры Microsoft Azure.

Возможности:

  • Хостинг публичных DNS-зон
  • Частные DNS-зоны для разрешения имен внутри VNet
  • Поддержка записей типа A, AAAA, CNAME, MX, TXT и других
  • Интеграция с другими сервисами Azure

Azure VPN Gateway

VPN Gateway создает зашифрованное соединение между вашей локальной сетью и Azure VNet через интернет.

Типы подключения:

  • Site-to-Site (S2S) -- связь между офисом и Azure VNet через IPsec/IKE туннель
  • Point-to-Site (P2S) -- подключение отдельного компьютера к Azure VNet
  • VNet-to-VNet -- связь между двумя VNet через зашифрованный туннель

Azure ExpressRoute -- альтернатива VPN, предоставляющая выделенное (не через интернет) частное соединение между локальной сетью и Azure. Обеспечивает более высокую пропускную способность и стабильность.

Проверь себя

Какой параметр правила NSG определяет порядок применения правил?

Какой сервис обеспечивает защиту от OWASP Top 10 уязвимостей?

Чем Azure ExpressRoute отличается от VPN Gateway?

Что такое VNet Peering?

На каком уровне модели OSI работает Azure Load Balancer?