8

我正在创建一个 Azure 容器实例来托管用于测试目的的索引。目前我只能让它与设置为 Public 的 IpAddressType 一起工作,但这当然会使索引对世界可用。

是否可以保护具有 IP 限制的 Azure 容器实例,最好使用 PowerShell?

当我将 IpAddressType 设置为 Private 的容器映像配置时,我无法访问索引。

下面是我用来创建容器实例的命令:

   New-AzureRmContainerGroup -ResourceGroupName $resourceGroup `
                              -Name indexcontainer `
                              -Image $image `
                              -IpAddressType Public `
                              -Location $resourceGroupLocation `
                              -MemoryInGB 6 `
                              -Cpu 2 `
                              -Port 9200
4

3 回答 3

5

今天:

不是容器组,如果你在容器组上打开一个端口,它对世界是公开的。

Container-Group 是全功能 AKS 的小兄弟(迷你版)。

AKS,老大哥,给你更多的控制权。

请参阅:https ://docs.microsoft.com/en-us/azure/aks/internal-lb


-IpAddressType 接受的值:公共

https://docs.microsoft.com/en-us/powershell/module/azurerm.containerinstance/new-azurermcontainergroup?view=azurermps-6.13.0

请注意,文档中接受的唯一值是“公共”

但是,他们将占位符放在“公共”之外的未来参数中......所以我认为他们认为这是功能上的差距......

于 2018-12-12T22:41:05.453 回答
3

似乎没有,至少在 Azure 容器实例中是本机的。
部署 Azure 容器实例有两种选择:

  1. publicIP - 您不能限制对此类部署的访问。
  2. 自定义 VNet - 您可以对网络安全组 (NSG) 应用限制,但在这种情况下,Azure 容器实例不支持公开公开容器。
    请参阅文档

不支持的网络方案:
公共 IP 或 DNS 标签 - 部署到虚拟网络的容器组当前不支持使用公共 IP 地址或完全限定域名将容器直接公开到 Internet

作为一个选项,您可以尝试执行以下操作(它仅支持对 HTTP/HTTPS 流量的限制):

  1. 将应用程序网关放在部署在自定义 VNet 中的 ACI 之前,以公开容器(您可以找到一些示例,例如这个
  2. 在 ACI 的自定义 VNet 中向 NSG 添加 IP 白名单限制。
于 2021-03-29T09:58:09.030 回答
3

如上述评论中所述,您现在可以将它们公开给 VNET(在预览中)

https://docs.microsoft.com/en-us/azure/container-instances/container-instances-vnet

连接到 VNET 后,您可以使用网络安全组仅允许来自允许的 IP 或网络的流量。你现在走的路线行不通。

于 2018-12-05T22:40:17.070 回答