如何配置Azure应用程序网关以允许连接到容器实例

时间:2020-01-25 15:20:36

标签: azure azure-application-gateway azure-container-instances

我有一个具有多个子网的专用网络(10.0.0.0/16)。我在10.0.0.0/24子网中配置了一个应用程序网关,我想通过HTTP将10.0.2.0/24子网中的容器实例公开到Internet。

网关只有一个HTTP规则,仅将80:80从Internet映射到后端池。在“后端运行状况”部分中,我的容器(通过IP地址添加)的状态未知,并显示以下错误:

无法检索健康状态数据。检查是否存在NSG / UDR阻止从Internet到Application Gateway访问端口65503-65534。

最初我没有设置NSG,但是设置了一个(甚至允许any:any)后,NSG无法解决状态检查问题。

在浏览器中打开URL时,出现502 Bad Gateway错误。

注意:我向应用程序网关添加了不属于VNet的容器​​,尽管后端池中也显示了unknonw状态,但请求实际上已重定向到了容器,所以我几乎可以肯定我在配置某些东西在VNet中。

注2:我已经推送了一个测试容器,并且该测试容器可以到达我要在同一子网中公开的容器,所以该容器与应用程序网关之间出了问题。

我的问题是必须将NSG规则设置为

  1. 使容器对健康检查可见
  2. 使重定向在应用程序网关和容器之间工作

1 个答案:

答案 0 :(得分:0)

实际上没有什么可配置错误的,您可以在其中一个子网中创建一个vm(创建第三个),然后测试它是否可以访问容器实例?如果可以设置为0,则可能是平台限制tbh。

但是要查看错误:您应该从Vnet分离所有NSG \ User Defined路由(为简单起见),并进行其他几项检查:https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-backend-health-troubleshooting#backend-health-status-unknown