最近遇到一个客户提出的关于App Services出站IP地址的需求,具体如下:
需求:
运行在App Services上的应用程序需要和很多外部系统做集成,也就是说,应用系统需要访问到外部应用获取一些业务数据。为了确保数据的安全性,外部系统需要配置相关白名单来限制谁可以获取数据。默认情况下Azure App Services的出站IP是不固定的,微软给我们提供了一个可能会使用的出站IP List,但是客户嫌List内的IP地址太多,所以想把范围缩小,最好有一个固定的出站IP地址来解决这个问题。
经过一番研究以后,笔者给到客户如下解决方案:
解决方案:
对需要访问外部应用获取数据的App Services配置虚拟网络集成,配置完虚拟网络集成以后,虚拟网络集成负责App Services的出站流量。此时,我们还需部署一个Azure NAT Gateway并关联到虚拟网络集成的子网,这时App Services的站就会通过Azure Nat Gateway的固定IP出站。
配置方式:
配置App Services虚拟网络集成:
切换到对应的App Services,点击“网络”--“VNet“集成”:
配置App Services集成到VNet的特定Subnet:
配置完成,如下图所示:
创建并配置Azure NAT Gateway
创建一个NAT网关,输入名称,选择区域:
配置公共IP地址,有需要也可使用公共IP前缀:
配置虚拟网络和子网关联,关联以后,子网内的App Services出站就会使用NAT网关出站:
确认无误点击创建:
创建完成,如下图所示,此时可以看到子网已经关联到了NAT网关中:
此时出站的IP即为一个固定的公网IP: