Azure Network -- VNET Outbound 流量的正确打开方式
童鞋们大家好,今儿是个好日子,Azure NAT Gateway 从 Azure 21v 的 Portal 上蹦了出来,一通操作(quadra click)创建好了,开个机器试试,还行好使,看来并没有挂在墙上。那今儿就说说 Azure VNet 内如何选择 Outbound 流量的打开方式吧,。
1. 什么是 VNet 内 Outbound 流量:
从 VNET 内资源主动发起的访问 Internet 地址的连接请求。
2. 目前 Azure 有哪些产品支持 Outbound 流量:
- VNET 内的默认 Internet Gateway
- VM 的实例级公网 IP
- Basic Load Balancer
- Standard Load Balancer
- Azure Firewall
- Azure NAT Gateway
什么 !? Azure 居然给了我 6 个选项。 嗯,没有看错,6个,你在用哪一款呢?你现在用的是不是你中意的那一款呢?
3. 一表解千愁,总有一款适合你
- 固定出口 IP : 对外部服务 API 调用的标准需求,通过固定 IP 来允许对端设置白名单
- 多出口地址支持:如果只是单一公网 IP,可用的 Outbound 连接的可用端口就是 65535 个,支持更多的连接通过更多的公网 IP 来支持
- SNAT 端口资源动态分配:Basic/Standard LB 都是默认通过预分配的机制给到后端的主机,这就意味当预分配端口耗尽时无法动态自动分配,Standard LB 可以通过配置策略来调整预分配的端口资源数量,但仍然是静态的,当预分配资源耗尽时仍会出现无资源可用的现象。预分配策略可参考如下连接:https://docs.microsoft.com/en-us/azure/load-balancer/load-balancer-outbound-connections#preallocatedports
- Outbound Idle Timeout: 精细化控制 SNAT 端口资源的关键,如果 timeout 不可设置导致默认 4mins 过小,对于一些长连接场景不友好。
- TCP Reset on IDEL:增强服务器和客户端体验的友好性,当连接由于 IDLE Timeout 被释放后,后续的连接 NAT GW 和 Standard LB 可以主动的向两侧或一侧发送 reset 报文,引导客户端重新建立连接
- 策略颗粒度:策略颗粒度决定的相应 outbound 规则的使能范围
- 支持安全功能: Azure Firewall 额外提供了4-7层防火墙功能以及 IP 地址舆情分析功能
综上可见,NAT Gateway 是最简单快捷的 Outbound 连接的打开神器,小伙伴们可以操练起来,quadra click 打开属于你自己 VNet 的 NAT Gateway,传送门:https://docs.microsoft.com/en-us/azure/virtual-network/quickstart-create-nat-gateway-portal。