首页 > 其他分享 >解决Azure App Services出站IP不固定问题

解决Azure App Services出站IP不固定问题

时间:2023-03-10 18:31:54浏览次数:40  
标签:集成 IP App Services 出站 NAT Azure

最近遇到一个客户提出的关于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“集成”:

解决Azure App Services出站IP不固定问题_虚拟网络

配置App Services集成到VNet的特定Subnet:

解决Azure App Services出站IP不固定问题_App_02

配置完成,如下图所示:

解决Azure App Services出站IP不固定问题_App_03

创建并配置Azure NAT Gateway

创建一个NAT网关,输入名称,选择区域:

解决Azure App Services出站IP不固定问题_虚拟网络_04

配置公共IP地址,有需要也可使用公共IP前缀:

解决Azure App Services出站IP不固定问题_虚拟网络_05

配置虚拟网络和子网关联,关联以后,子网内的App Services出站就会使用NAT网关出站:

解决Azure App Services出站IP不固定问题_IP_06

确认无误点击创建:

解决Azure App Services出站IP不固定问题_App_07

创建完成,如下图所示,此时可以看到子网已经关联到了NAT网关中:

解决Azure App Services出站IP不固定问题_IP_08

此时出站的IP即为一个固定的公网IP:

解决Azure App Services出站IP不固定问题_虚拟网络_09


标签:集成,IP,App,Services,出站,NAT,Azure
From: https://blog.51cto.com/lixun/6113460

相关文章

  • MybatisPlus(四) BaseMapper层CRUD相关接口使用
    BaseMapper接口API:Insert(添加):/***插入一条记录**@paramentity实体对象*/intinsert(Tentity);参数说明:类型参数名描述......
  • 【LeetCode回溯算法#06】复原IP地址详解(练习如何处理边界条件,判断IP合法性)
    复原IP地址力扣题目链接(opensnewwindow)给定一个只包含数字的字符串,复原它并返回所有可能的IP地址格式。有效的IP地址正好由四个整数(每个整数位于0到255之......
  • 【YonBuilder 移动开发】关于创建 App 是否需要 AVM 的经验分享
    概述开发者在使用YonBuilder移动开发技术,创建新项目的时候,通常都会有一个是否使用AVM的选项,见下图在Web网站控制台中创建应用的截图很多新手开发者可能都会有这样一......
  • 手机提醒APP如何选择?
    对于很多记性不好的网友来说,忘记生活、工作上的各种事情是很常见的,所以在手机上使用一款能够定时提醒事情的APP非常有必要,它能够帮助我们不再忘记重要的日程、任务和节日......
  • TypeScript学习笔记#6 构造函数
    TypeScript学习笔记#6构造函数classDog{name:string;age:number;//构造函数//构造函数会在创建对象时调用constructor(name:string,age:number......
  • TypeScript学习笔记#2 其他类型声明
    TypeScrip学习笔记#2其他类型说明1.对象类型声明//{}用来指定这个对象中可以包含哪些属性//语法:{属性名:属性值,属性名:属性值}//?表示属性名可选letb:{name:......
  • TypeScript学习笔记#3 tsconfig
    TypeScript学习笔记#3tsconfig.json的常用配置废话不多说,直接上代码{//tsconfig是ts编译器的配置文件/*'include'用来指定哪些ts文件需要被编译路径......
  • TypeScript学习笔记#4 webpack的基础配置
    TypeScript学习笔记#4webpack的基础配置webpack是比较常用的打包工具,我们在打包ts的时候需要配置一些基础配置,同样,直接上代码//引入一个包constpath=require("pat......
  • TypeScript学习笔记#5 类的简介
    TypeScript学习笔记#5类的简介废话不多说,直接上代码//使用class关键字来定义一个类/***对象中主要包含两个部分*属性*方法*/classPerson{/*......
  • 设计模式-javascript实现【外观模式】
    定义:外观模式又叫门面模式,外观模式为一个系统中的子系统提供一个统一的高层接口,从而方便使用子系统。1.用类实现外观模式classCpu{install(){console.log('......