Можно ли ограничить доступ к экземпляру контейнера Azure с ограничениями IP
Я создаю экземпляр контейнера Azure для размещения индекса в целях тестирования. В настоящее время я могу заставить его работать только с IpAddressType, установленным как Public, но, конечно, это делает индекс доступным для всего мира.
Можно ли защитить экземпляр контейнера Azure с ограничениями IP, предпочтительно с помощью PowerShell?
Когда я настраиваю образ контейнера с IpAddressType, установленным как Private, я не могу получить доступ к индексу.
Ниже приведена команда, которую я использую для создания экземпляра контейнера:
New-AzureRmContainerGroup -ResourceGroupName $resourceGroup `
-Name indexcontainer `
-Image $image `
-IpAddressType Public `
-Location $resourceGroupLocation `
-MemoryInGB 6 `
-Cpu 2 `
-Port 9200
3 ответа
СЕГОДНЯ:
Не с группами контейнеров: если вы открываете порт в группе контейнеров, он открыт для всего мира.
Container-Group - младший брат (мини-версия) полноценного AKS.
AKS, старший брат, дает тебе больше контроля.
См.: https://docs.microsoft.com/en-us/azure/aks/internal-lb
-IpAddressType Допустимые значения: общедоступные
Обратите внимание, что единственное значение, принятое в документации, это "Public"
Тем не менее, они помещают заполнитель для будущих аргументов помимо "Public"... так что я думаю, что они видят в этом пробел в функциональности........
Похоже, что нет, по крайней мере изначально с Azure Container Instance.
Существует два варианта развертывания экземпляров контейнеров Azure.
- publicIP — вы не можете ограничить доступ к этому типу развертывания.
- Настраиваемая виртуальная сеть — вы можете применять ограничения с помощью групп безопасности сети (NSG), но в этом случае Azure Container Instances не поддерживает публичное предоставление контейнеров.
См. документацию :
Неподдерживаемые сетевые сценарии:
общедоступный IP-адрес или метка DNS. Группы контейнеров, развернутые в виртуальной сети, в настоящее время не поддерживают предоставление контейнеров непосредственно в Интернете с общедоступным IP-адресом или полным доменным именем.
Как вариант можно попробовать сделать следующее (поддерживает ограничения только для HTTP/HTTPS трафика):
- Поместите Шлюз приложений перед развертыванием ACI в настраиваемой виртуальной сети, чтобы открыть доступ к контейнерам (вы можете найти несколько примеров, например этот ) .
- Добавьте ограничения белого списка IP-адресов в NSG в настраиваемой виртуальной сети для ACI.
Как уже упоминалось в приведенном выше комментарии, вы можете открыть их для VNET сейчас (в Preview)
https://docs.microsoft.com/en-us/azure/container-instances/container-instances-vnet
После подключения к VNET вы можете использовать группы сетевой безопасности, чтобы разрешить трафик только с разрешенных IP-адресов или сетей. Маршрут, который вы сейчас выбираете, не будет работать.