Группы безопасности сети для настройки виртуальной сети в Контейнеры приложений Azure

Группы безопасности сети (NSG), необходимые для настройки виртуальных сетей, точно похожи на параметры, необходимые Kubernetes.

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

В среде профиля рабочей нагрузки поддерживаются определяемые пользователем маршруты (UDR) и защита исходящего трафика с помощью брандмауэра . Руководство по настройке UDR для приложений контейнеров для ограничения исходящего трафика с помощью Брандмауэр Azure см. в разделе Контроль исходящий трафик в Контейнеры приложений Azure с определяемыми пользователем маршрутами.

При использовании среды профиля внешней рабочей нагрузки входящий трафик к приложениям-контейнерам направляется через общедоступный IP-адрес, который существует в управляемой группе ресурсов , а не через подсеть. Это ограничение означает, что блокировка входящего трафика через NSG или брандмауэр во внешней среде профиля рабочей нагрузки не поддерживается.

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

Разрешающие правила NSG

В следующих таблицах описано, как настроить коллекцию разрешающих правил NSG. Необходимые правила зависят от типа среды.

Входящий трафик

Примечание.

При использовании профилей рабочей нагрузки правила Входящего NSG применяются только к трафику, который проходит через виртуальную сеть. Если вы задали приложения-контейнеры для приема трафика из общедоступного Интернета, входящий трафик проходит через общедоступную конечную точку вместо виртуальной сети.

Протокол Источник Исходные порты Назначение Конечные порты Описание
TCP IP-адреса клиента * Подсетьприложения контейнера 1 80, 31080 Разрешить IP-адресам клиента получать доступ к приложениям-контейнерам при использовании HTTP. 31080 — это порт, на который пограничный прокси-сервер среды "Приложения контейнеров" отвечает на HTTP-трафик. Он находится за внутренней подсистемой балансировки нагрузки.
TCP IP-адреса клиента * Подсетьприложения контейнера 1 443, 31443 Разрешите IP-адресам клиента получать доступ к приложениям-контейнерам при использовании HTTPS. 31443 — это порт, на который пограничный прокси-сервер среды контейнеров приложений отвечает на трафик HTTPS. Он находится за внутренней подсистемой балансировки нагрузки.
TCP Azure Load Balancer (балансировщик нагрузки Azure) * Подсеть приложения контейнера 30000-32767 2 Разрешить Azure Load Balancer пробовать серверные пулы.
TCP IP-адреса клиента * Подсеть приложения контейнера Доступные порты и 30000-327672 Это правило применяется только к приложениям TCP. Он не требуется для приложений HTTP.

1 . Этот адрес передается в качестве параметра при создании среды. Например, 10.0.0.0/21.

2 Вам нужен полный диапазон при создании приложений-контейнеров в качестве порта в диапазоне динамически выделяется. После создания приложений-контейнеров необходимые порты являются двумя неизменяемыми, статическими значениями и можно обновить правила NSG.

Исходящие

Протокол Источник Исходные порты Назначение Конечные порты Описание
TCP Подсеть приложения контейнера * MicrosoftContainerRegistry 443 Этот тег службы представляет реестр артефактов Microsoft для системных контейнеров.
TCP Подсеть приложения контейнера * AzureFrontDoor.FirstParty 443 Этот тег службы является зависимостью тега MicrosoftContainerRegistry службы.
Любое Подсеть приложения контейнера * Подсеть приложения контейнера * Это правило позволяет обмен данными между IP-адресами в подсети приложения контейнера.
TCP Подсеть приложения контейнера * AzureActiveDirectory 443 Если вы используете управляемое удостоверение, это необходимо.
TCP Подсеть приложения контейнера * AzureMonitor 443 Это правило необходимо только при использовании Azure Monitor. Он позволяет исходящим вызовам Azure Monitor.
TCP и UDP Подсеть приложения контейнера * 168.63.129.16 53 Это правило позволяет среде использовать Azure DNS для разрешения имени узла.

Dns-обмен данными с Azure DNS не распространяется на группы безопасности сети, если он не предназначен через тег службы AzurePlatformDNS. Чтобы заблокировать трафик DNS, создайте правило исходящего трафика, чтобы запретить трафик тегу AzurePlatformDNS службы.
TCP Подсетьприложения контейнера 1 * Реестр контейнеров Порт реестра контейнеров Это правило необходимо для взаимодействия с реестром контейнеров. Например, при использовании Реестр контейнеров Azure необходимо AzureContainerRegistry и AzureActiveDirectory для назначения. Порт — это порт реестра контейнеров, если вы не используете частные конечные точки. 2
TCP Подсеть приложения контейнера * Storage.<Region> 443 Это правило необходимо только при использовании реестра контейнеров для размещения образов.

1 . Этот адрес передается в качестве параметра при создании среды. Например, 10.0.0.0/21.

2 Если вы используете реестр контейнеров с группами безопасности сети, настроенными в виртуальной сети, создайте частную конечную точку в реестре контейнеров, чтобы разрешить приложениям-контейнерам извлекать образы через виртуальную сеть. При настройке с частными конечными точками не нужно добавлять правило NSG для реестра контейнеров.

Рекомендации

  • Если вы используете HTTP-серверы, может потребоваться добавить порты 80 и 443.
  • Не запрещайте явным образом адрес Azure DNS 168.63.129.16 в исходящих правилах NSG. Если это сделать, среда "Приложения контейнеров" не работает.