Azure - 没有 public IP 的应用程序网关

Azure - Application Gateway without public IP

我正在尝试在 Azure 上部署我的应用程序。目前,我在一个子网 s1 中部署了一个应用程序网关,在后端池中我有 Linux 个虚拟机。根据要求,我不能使用任何 public ip,所以我在应用程序网关上只使用私有 ip。由于我们在部署应用程序时需要 Internet 连接,我尝试将 NSG 附加到允许入站 "Internet" 的应用程序网关子网。当我将 NSG 附加到应用程序网关子网时,后端运行状况显示为不健康并出现错误:

"Cannot connect to server. Check whether any NSG/UDR/Firewall is blocking access to server. Check if application is running on correct port."

我尝试添加 MSFT 文档 https://docs.microsoft.com/en-us/azure/application-gateway/configuration-overview#allow-application-gateway-access-to-a-few-source-ips 中指定的规则,但没有帮助。所以我的问题是:

  1. 我还需要添加到应用程序网关子网上的 NSG 吗?
  2. 在 NSG 上使用入站规则允许互联网访问是一个好的策略吗? (入站规则 -> 服务标签 -> Internet)。有没有其他方法可以在部署时访问互联网? PS: 我根本不允许使用 public IP。

非常感谢!

您可以使用 Public IP 和私有 IP 部署应用程序网关。您需要做的就是使用私有前端 IP 创建侦听器并保留 Public IP。

由于 Public IP 未附加到任何侦听器,因此任何人都无法通过应用程序网关的 Public IP 从 Internet 访问您的站点。

当 AppGW 需要启动到 Internet 的出站时,它会使用 Public IP。

注意:在 V2 部署中不能只有私有 IP 作为前端,并且可以在 V1 SKU 中仅使用私有前端 IP 部署应用程序网关。