为什么 Azure 应用程序网关需要一个空子网

Why does Azure Application Gateway require an empty subnet

当我尝试执行 New-AzureRmApplicationGatewayIPConfiguration 来创建应用程序网关时,出现异常:

Subnet xxx cannot be used for application gateway yyy since subnet is not empty.

我在尝试将应用程序网关添加到与后端服务器相同的子网时遇到此错误。

为什么这不是一个选项?每个网关是否需要一个单独的子网?推荐的配置是什么?

相关问题:

the documentation 中所述,应用程序网关本身必须位于子网中,因此它不是一个选项。为您的应用程序网关子网 (CIDR 'x.x.x.x/29') 创建一个较小的地址 space,这样您就不会不必要地浪费 IP 地址。

争取使用子网的多层网络拓扑是一种很好的做法。这使您能够定义路由和网络安全组(即:允许端口 80 入口、拒绝端口 80 出口、拒绝 RDP 等)以控制子网中资源的流量。网关的路由和安全组要求通常不同于虚拟网络中其他资源的路由和安全组要求。

我遇到了同样的问题,所以我的虚拟网络是 10.0.0.0/24,这不允许我创建一个单独的子网。我解决了这个问题,因为我们将另一个地址 space 添加到 azure 虚拟网络中,例如10.10.0.0.24,然后创建一个新的子网,以便应用程序网关可以与后端服务器一起工作。